Skip to content

feat: frontend enhancement with page splits, CHANGELOG, and code quality rules#60

Merged
Sagargupta16 merged 4 commits intomainfrom
feature/frontend-enhancement
Mar 14, 2026
Merged

feat: frontend enhancement with page splits, CHANGELOG, and code quality rules#60
Sagargupta16 merged 4 commits intomainfrom
feature/frontend-enhancement

Conversation

@Sagargupta16
Copy link
Copy Markdown
Owner

@Sagargupta16 Sagargupta16 commented Mar 14, 2026

Summary

  • Split 4 oversized pages (SettingsPage 1733 lines, SubscriptionTracker 1109, Goals 1106, Comparison 1036) into ~60 focused sub-components under dedicated directories, enforcing the 200-line-per-file rule
  • Add CHANGELOG.md covering full project history from v0.1.0 (Jan 2026) through v0.8.0 (Mar 2026) with 8 versioned releases
  • Extract chart color constants (CHART_TEXT, CHART_SURFACE, CHART_INPUT) to centralize ~129 repeated hex/rgba values across chart components
  • New analytics pages and components: Returns Analysis, Tax Planning, Cash Flow Forecast, Net Worth, Budget, Subscription Tracker, Bill Calendar, Investment Analytics, Spending Analysis, Dashboard, and more
  • Backend enhancements: Analytics V2 API with stored aggregations, OAuth endpoints (Google/GitHub), user preferences API, FastAPI restructure with middleware and error handling
  • UI/UX polish: dark theme with iOS color palette, Sidebar with navigation/search/notifications, ProfileModal, ConfirmDialog, standardized chart components, Framer Motion animations

Test plan

  • TypeScript type-check passes (pnpm run type-check)
  • ESLint passes with 0 errors (pnpm run lint)
  • Production build succeeds (pnpm run build)
  • All lazy imports preserved -- no router changes needed
  • Manual smoke test: verify Settings, Goals, Comparison, Subscription Tracker pages render correctly
  • Verify chart tooltips and axis labels use correct colors from new constants

…GELOG

- Add CHANGELOG.md covering full project history (v0.1.0 through v0.8.0)
- Split SettingsPage (1733 lines) into 20 focused components under settings/
- Split SubscriptionTrackerPage (1109 lines) into 13 components
- Split GoalsPage (1106 lines) into 13 components
- Split ComparisonPage (1036 lines) into 13 components
- Extract chart color constants (CHART_TEXT, CHART_SURFACE, CHART_INPUT)
- Replace raw hex/rgba in chartDefaults and ChartTooltip with constants
- Fix relative imports in useAnalyticsV2.ts to use @/ path alias
- Update README with version badge, expanded project structure, CHANGELOG link
Remove 12 files that came back from main but conflict with actual project
settings or serve no purpose:

- .nvmrc (Node 19, project uses 22), .python-version (3.11, CI uses 3.12)
- .prettierrc (tabWidth: 3, project uses ESLint not Prettier)
- .editorconfig (indent_size: 3, project uses 2-space)
- .dockerignore (no Docker setup in repo)
- .gitattributes, .github/CODEOWNERS, .github/FUNDING.yml
- .github/pull_request_template.md, SECURITY.md
- renovate.json (configured at org level)
- .maintenance (junk metadata file)
- Bump PyJWT from >=2.9.0 to >=2.12.0 (fixes unknown crit header
  extension vulnerability, CVE in PyJWT <=2.11.0)
- Add pnpm override for undici >=7.24.0 (fixes 6 vulnerabilities:
  CRLF injection, WebSocket DoS, memory consumption, request smuggling)
@sonarqubecloud
Copy link
Copy Markdown

@Sagargupta16 Sagargupta16 merged commit 7b62d4e into main Mar 14, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant