Skip to content

feat(web): add analytics loading and empty states#30

Merged
emrekayat merged 2 commits into
emrekayat:mainfrom
Caneryy:feat/analytics-loading-empty-states-issue-24
Jun 28, 2026
Merged

feat(web): add analytics loading and empty states#30
emrekayat merged 2 commits into
emrekayat:mainfrom
Caneryy:feat/analytics-loading-empty-states-issue-24

Conversation

@Caneryy

@Caneryy Caneryy commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add skeleton loading states for analytics stat tiles, orbital spend, category breakdown, and feed panels while the initial analytics request is in flight.
  • Add empty states for spend-by-category, recent transactions, and execution feed when no usage history exists yet.
  • Preserve existing populated analytics rendering after data loads.

Test plan

  • npm run typecheck
  • npm run build
  • Open Control Deck with a fresh API and confirm loading skeletons appear briefly
  • Confirm empty-state copy appears before the first paid query
  • Run a paid query and confirm populated analytics behavior is unchanged

Closes #24

Improve dashboard UX before analytics data loads and when no queries have run yet.
@vercel

vercel Bot commented Jun 27, 2026

Copy link
Copy Markdown

@Caneryy is attempting to deploy a commit to the emrekayat's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jun 27, 2026

Copy link
Copy Markdown

@Caneryy Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@emrekayat

Copy link
Copy Markdown
Owner

Thanks for the PR for #24. The loading/empty-state behavior looks aligned with the issue, and local typecheck/build pass, but I cannot merge it yet because the formatting gate fails.

Local verification:

  • npm run typecheck passes.
  • npm run build --workspace @query402/web passes.
  • npm run build passes.
  • npm run check:source-artifacts passes.
  • npm run format:check fails on apps/web/src/pages/ControlDeckPage.tsx.

Please run Prettier on the touched files, push the formatting fix, and rerun npm run format:check before re-review.

@emrekayat

Copy link
Copy Markdown
Owner

Thanks for the UI pass here. I reviewed the branch locally as the maintainer account.

What passes:

  • npm run typecheck
  • npm run build
  • npm run lint exits 0 (warnings only)

Blocker before merge:

  • npm run format:check fails on apps/web/src/pages/ControlDeckPage.tsx.

Please run Prettier on that file (or npm run format) and push the formatting-only fix, then rerun:

npm run format:check
npm run typecheck
npm run build

Functional review note: the loading/empty-state approach is in scope for #24 and preserves the populated analytics path. I can re-check quickly once the formatting failure is fixed.

CI note: GitHub Actions is also failing on a Rollup optional dependency install issue (@rollup/rollup-linux-x64-gnu), which appears CI-environment related. I am not blocking on the Vercel authorization check, but the local formatting failure needs to be fixed before merge.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Caneryy

Caneryy commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the review @emrekayat — formatting fix is pushed.

  • Ran Prettier on apps/web/src/pages/ControlDeckPage.tsx
  • Verified locally:
    • npm run format:check
    • npm run typecheck
    • npm run build

Ready for re-review whenever you have a moment.

@emrekayat emrekayat merged commit db3c82d into emrekayat:main Jun 28, 2026
0 of 2 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.

Add empty and loading states to the analytics panels

2 participants