Skip to content

feat: frontend polish, QA fixes and backend improvements#92

Merged
Contractor-x merged 5 commits into
mainfrom
robert/app-polish
Mar 28, 2026
Merged

feat: frontend polish, QA fixes and backend improvements#92
Contractor-x merged 5 commits into
mainfrom
robert/app-polish

Conversation

@robert-dominic
Copy link
Copy Markdown
Contributor

Summary
This PR covers all QA fixes, UI polish, and backend improvements assigned during the Quest Hackathon 2026 sprint. Changes span the full stack — frontend layout, goal workflows, notification system, error handling, profile persistence, and passport alignment.

Backend Changes

Added global error middleware to catch Prisma and unhandled errors — raw database URLs and technical details are no longer exposed to the frontend
Added profile update endpoint so users can persist name changes to the database
Added placeholder avatar upload endpoint (returns 501, not implemented yet)
Goal contributions are now blocked on the backend if they would exceed the target amount
Passport tiers now correctly return Starter, Builder, Stable, Trusted

Transactions

Removed delete button from transaction UI — transactions are permanent records
Restructured mobile layout — title and add button on row 1, filter tabs on row 2

Goals

Replaced fixed 10% add button with a contribution modal — user inputs exact amount
Contributions cannot exceed 100% of target — blocked on both frontend and backend
Cannot reduce goal target below already contributed amount
Goals at 100% are marked as Done — edit button hidden, no further contributions accepted
Goal status colors: gray for ongoing, green for done, red for overdue
Overdue progress bar and deadline text turn red
Goals sorted by newest first
Responsive grid layout — 1 column mobile, 2 columns md, 3 columns lg+
Removed duplicate Add Goal button
Page refetches data after edit before closing modal

Notifications

Notification bell now navigates to a dedicated /notifications page
Notifications persist to localStorage across page reloads
Unread badge on bell disappears when /notifications page is visited
Push notification toggle in settings now controls whether notifications are added at all
Clear button moved to bottom of notifications page
Notifications page is fully mobile responsive

Profile & Settings

Profile name update now persists to database end to end
Removed appearance tab from settings
App defaults to dark mode only
Notification settings toggles persist to localStorage

Balance

Show/hide balance toggle state persists to localStorage across navigation

Header

Removed spinning animation around avatar

Inputs

Autocomplete disabled on all input fields
Amount inputs accept any value greater than 0 including decimals
Numbers formatted with commas as user types
No rounding behavior

Error Handling

Connection errors show "Connection error. Please check your internet connection." across the app
No raw backend URLs or Prisma errors exposed to users

Testing

Backend build passing ✅
Frontend lint has pre-existing failures in SpendingChart.tsx, antigravity.tsx, and chatStore.ts — unrelated to this PR

@vercel
Copy link
Copy Markdown

vercel Bot commented Mar 27, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pay-path Ready Ready Preview, Comment Mar 29, 2026 11:24am
pay-path-ne4x Ready Ready Preview, Comment Mar 29, 2026 11:24am

@github-actions
Copy link
Copy Markdown

AI PR Summary

@Contractor-x Contractor-x merged commit 6040eca into main Mar 28, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants