Repository navigation
feat(dashboard): add financial overview by currency - #98
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing (13)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🚀 Deploying Preview to Cloudflare 🚀Preview URL: https://gurbinder-financial-dashboard.preview.invoicely.gg (commit 7b060f6)This URL reflects your latest Preview deploymentPreview Deployments by commit
|
|
Preview database and deployment Commit: Migration command and Cloudflare build/deploy completed successfully. There may have been no pending migrations. Migration status is inferred from the required migration hook and the overall Cloudflare result. Build logs contain the individual migration output. |
|
Production database and deployment Commit: Migration command and Cloudflare build/deploy completed successfully. There may have been no pending migrations. Migration status is inferred from the required migration hook and the overall Cloudflare result. Build logs contain the individual migration output. |
Adds a separate Dashboard page for understanding collected, outstanding, and overdue invoice amounts, with every total, monthly trend, and client ranking kept within its own currency.
The page combines invoices stored on this device with the signed-in user's server invoices, using an authenticated financial-only query and decimal arithmetic. It includes six- and twelve-month billed/collected trends, the top five clients, loading and partial-data states, and a custom duotone dashboard icon in the sidebar and header.
Overdue is included in outstanding. Refunded invoices are excluded from amounts; paid invoices without a payment date remain in all-time totals with an explanatory note. Existing invoice fields support the feature, so no database migrations, new dependencies, or environment variables are required.
Validation: full web TypeScript and ESLint pass; the existing invoice-transfer tests pass; changed-file formatting and diff checks pass. Browser verification covered the empty page and populated components using temporary sample data, currency changes, twelve-month trends, and mobile layout. A live signed-in database session was not exercised.