[PR #2] [MERGED] Add disabled project alert banner while preserving full application UI #1

Closed
opened 2025-10-13 00:38:45 +00:00 by franpcode · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/FranP-code/inbox-negotiator/pull/2
Author: @Copilot
Created: 9/1/2025
Status: Merged
Merged: 9/1/2025
Merged by: @FranP-code

Base: mainHead: copilot/fix-21652979-6407-4996-9474-e87e469af7de


📝 Commits (4)

  • c37188d Initial plan
  • bcd0c0d Initial assessment: understand project structure for disabling endpoints
  • 4429f27 Complete project disabling - all endpoints now return disabled message while keeping auth functional
  • e8c6a06 Implement user feedback: Show app with alert banner instead of replacing pages

📊 Changes

19 files changed (+12267 additions, -2867 deletions)

View changed files

package-lock.json (+9688 -0)
📝 src/components/DebtTimeline.tsx (+0 -1)
src/components/DisabledBanner.tsx (+45 -0)
src/components/DisabledProject.tsx (+61 -0)
📝 src/lib/supabase.ts (+3 -0)
📝 src/pages/api/postmark.ts (+11 -580)
📝 src/pages/configuration.astro (+2 -0)
📝 src/pages/dashboard.astro (+2 -0)
📝 src/pages/index.astro (+2 -0)
supabase/functions/analyze-response/index-original.ts (+854 -0)
📝 supabase/functions/analyze-response/index.ts (+14 -843)
supabase/functions/approve-debt/index-original.ts (+235 -0)
📝 supabase/functions/approve-debt/index.ts (+12 -212)
supabase/functions/negotiate/index-original.ts (+635 -0)
📝 supabase/functions/negotiate/index.ts (+10 -599)
supabase/functions/send-email/index-original.ts (+494 -0)
📝 supabase/functions/send-email/index.ts (+15 -473)
supabase/functions/test-extraction/index-original.ts (+170 -0)
📝 supabase/functions/test-extraction/index.ts (+14 -159)

📄 Description

This PR implements a user-friendly approach to disabling the Inbox Negotiator project functionality while keeping the full application interface visible and accessible. Instead of completely replacing pages with a disabled message, the app now displays a prominent alert banner at the top of all pages.

Implementation Approach

Created DisabledBanner Component

  • New reusable DisabledBanner.tsx component with orange warning styling
  • Clear "Project Disabled" message with explanation about hackathon status
  • Consistent design that integrates seamlessly with existing UI

Restored Original Application Pages

  • Landing page: Full marketing content with features, benefits, and call-to-action sections
  • Dashboard: Complete dashboard interface with stats, debt management, and navigation
  • Configuration: Full configuration interface for user settings
  • Authentication: Login and signup pages remain completely functional

Key Benefits

  • Users can explore the full application interface and understand its capabilities
  • Clear communication about disabled status without hiding functionality
  • Authentication system preserved for future re-enabling
  • Professional appearance maintains project credibility
  • Easy restoration path when project is re-enabled

API Endpoints

All backend functionality remains disabled with HTTP 503 responses as implemented previously, ensuring no actual debt processing occurs while the UI remains visible for demonstration purposes.

Application with Disabled Banner

The alert banner provides clear communication about the project's disabled state while allowing users to fully explore and understand the application's interface and intended functionality.


Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/FranP-code/inbox-negotiator/pull/2 **Author:** [@Copilot](https://github.com/apps/copilot-swe-agent) **Created:** 9/1/2025 **Status:** ✅ Merged **Merged:** 9/1/2025 **Merged by:** [@FranP-code](https://github.com/FranP-code) **Base:** `main` ← **Head:** `copilot/fix-21652979-6407-4996-9474-e87e469af7de` --- ### 📝 Commits (4) - [`c37188d`](https://github.com/FranP-code/inbox-negotiator/commit/c37188dc65dcf76b03543396a6512783f0d319ad) Initial plan - [`bcd0c0d`](https://github.com/FranP-code/inbox-negotiator/commit/bcd0c0d535d9fe6210f296703ff4198e88320d14) Initial assessment: understand project structure for disabling endpoints - [`4429f27`](https://github.com/FranP-code/inbox-negotiator/commit/4429f27e75822fecc3530a655be9aa4fd54cf9ec) Complete project disabling - all endpoints now return disabled message while keeping auth functional - [`e8c6a06`](https://github.com/FranP-code/inbox-negotiator/commit/e8c6a06b3c2dfe1ba96ace3446019ac7dc39c1cf) Implement user feedback: Show app with alert banner instead of replacing pages ### 📊 Changes **19 files changed** (+12267 additions, -2867 deletions) <details> <summary>View changed files</summary> ➕ `package-lock.json` (+9688 -0) 📝 `src/components/DebtTimeline.tsx` (+0 -1) ➕ `src/components/DisabledBanner.tsx` (+45 -0) ➕ `src/components/DisabledProject.tsx` (+61 -0) 📝 `src/lib/supabase.ts` (+3 -0) 📝 `src/pages/api/postmark.ts` (+11 -580) 📝 `src/pages/configuration.astro` (+2 -0) 📝 `src/pages/dashboard.astro` (+2 -0) 📝 `src/pages/index.astro` (+2 -0) ➕ `supabase/functions/analyze-response/index-original.ts` (+854 -0) 📝 `supabase/functions/analyze-response/index.ts` (+14 -843) ➕ `supabase/functions/approve-debt/index-original.ts` (+235 -0) 📝 `supabase/functions/approve-debt/index.ts` (+12 -212) ➕ `supabase/functions/negotiate/index-original.ts` (+635 -0) 📝 `supabase/functions/negotiate/index.ts` (+10 -599) ➕ `supabase/functions/send-email/index-original.ts` (+494 -0) 📝 `supabase/functions/send-email/index.ts` (+15 -473) ➕ `supabase/functions/test-extraction/index-original.ts` (+170 -0) 📝 `supabase/functions/test-extraction/index.ts` (+14 -159) </details> ### 📄 Description This PR implements a user-friendly approach to disabling the Inbox Negotiator project functionality while keeping the full application interface visible and accessible. Instead of completely replacing pages with a disabled message, the app now displays a prominent alert banner at the top of all pages. ## Implementation Approach ### Created DisabledBanner Component - New reusable `DisabledBanner.tsx` component with orange warning styling - Clear "Project Disabled" message with explanation about hackathon status - Consistent design that integrates seamlessly with existing UI ### Restored Original Application Pages - **Landing page**: Full marketing content with features, benefits, and call-to-action sections - **Dashboard**: Complete dashboard interface with stats, debt management, and navigation - **Configuration**: Full configuration interface for user settings - **Authentication**: Login and signup pages remain completely functional ### Key Benefits - Users can explore the full application interface and understand its capabilities - Clear communication about disabled status without hiding functionality - Authentication system preserved for future re-enabling - Professional appearance maintains project credibility - Easy restoration path when project is re-enabled ### API Endpoints All backend functionality remains disabled with HTTP 503 responses as implemented previously, ensuring no actual debt processing occurs while the UI remains visible for demonstration purposes. ![Application with Disabled Banner](https://github.com/user-attachments/assets/6ddce940-b633-4da8-886e-23e496185294) The alert banner provides clear communication about the project's disabled state while allowing users to fully explore and understand the application's interface and intended functionality. <!-- START COPILOT CODING AGENT SUFFIX --> <!-- START COPILOT CODING AGENT TIPS --> --- ✨ Let Copilot coding agent [set things up for you](https://github.com/FranP-code/inbox-negotiator/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
franpcode added the
pull-request
label 2025-10-13 00:38:45 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: franpcode/inbox-negotiator#1
No description provided.