feat(frontend): add basic mock MVP UI #10

Merged
dev-bot merged 48 commits from feat/003-basic-frontend-ui into main 2026-08-22 20:55:44 -04:00
Collaborator

Summary

  • add the Basic Frontend spec and MVP child-spec link
  • build a responsive Angular dashboard with mock MVP data
  • add jobs, clients, contractors, financial summaries, and job detail views
  • establish typed frontend domain models and deterministic in-memory data
  • update unit and Playwright coverage for the dashboard

Verification

  • npm run lint
  • npx ng test --no-watch --no-progress
  • npx ng build
  • specture validate (8 of 8 specs valid)
## Summary - add the Basic Frontend spec and MVP child-spec link - build a responsive Angular dashboard with mock MVP data - add jobs, clients, contractors, financial summaries, and job detail views - establish typed frontend domain models and deterministic in-memory data - update unit and Playwright coverage for the dashboard ## Verification - `npm run lint` - `npx ng test --no-watch --no-progress` - `npx ng build` - `specture validate` (8 of 8 specs valid)
docs(spec): add basic frontend child spec
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m12s
Pull Request CI / End-to-end tests (pull_request) Successful in 14s
Pull Request CI / Backend checks (pull_request) Successful in 2m8s
a5a4f35ad8
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
feat(frontend): add basic mock mvp dashboard
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m17s
Pull Request CI / Backend checks (pull_request) Successful in 2m12s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m11s
194e8fb395
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
refactor(frontend): split ui into routed features
Some checks failed
Pull Request CI / Frontend checks (pull_request) Successful in 1m18s
Pull Request CI / Backend checks (pull_request) Successful in 2m12s
Pull Request CI / End-to-end tests (pull_request) Failing after 1m8s
f251e0cbc8
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): refine mobile dashboard layout
Some checks failed
Pull Request CI / Frontend checks (pull_request) Successful in 1m18s
Pull Request CI / Backend checks (pull_request) Successful in 2m13s
Pull Request CI / End-to-end tests (pull_request) Failing after 1m0s
d4cc13f5b9
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): align invoice icons
Some checks failed
Pull Request CI / Frontend checks (pull_request) Successful in 1m17s
Pull Request CI / Backend checks (pull_request) Successful in 2m11s
Pull Request CI / End-to-end tests (pull_request) Failing after 1m4s
a23fcdff1c
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
feat(frontend): add new payment page
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m18s
Pull Request CI / Backend checks (pull_request) Successful in 2m11s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m14s
65310f0bae
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): use iconify navigation icons
Some checks failed
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
Pull Request CI / Frontend checks (pull_request) Has been cancelled
Pull Request CI / Backend checks (pull_request) Has been cancelled
6a59217dd1
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): remove active nav border
Some checks failed
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
Pull Request CI / Frontend checks (pull_request) Has been cancelled
Pull Request CI / Backend checks (pull_request) Has been cancelled
ed852d4323
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): move mobile navigation to bottom
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m17s
Pull Request CI / Backend checks (pull_request) Successful in 2m10s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m14s
87e094c76b
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): use Kwila brand logo
Some checks failed
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
Pull Request CI / Backend checks (pull_request) Has been cancelled
Pull Request CI / Frontend checks (pull_request) Has been cancelled
9897680846
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): remove dashboard help button
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m19s
Pull Request CI / Backend checks (pull_request) Successful in 2m10s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m1s
d28db7cd04
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): remove directory labels
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m19s
Pull Request CI / Backend checks (pull_request) Successful in 2m12s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m5s
493e77e569
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
refactor(frontend): standardize shell add actions
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m25s
Pull Request CI / Backend checks (pull_request) Successful in 2m23s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m18s
8b9896a20c
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
refactor(frontend): move page titles into shell
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m19s
Pull Request CI / Backend checks (pull_request) Successful in 2m13s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m18s
481b8270b3
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): prevent payment form overflow
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m22s
Pull Request CI / Backend checks (pull_request) Successful in 2m16s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m5s
d3ad40d3b6
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
feat(frontend): add invoice detail workflow
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m19s
Pull Request CI / Backend checks (pull_request) Successful in 2m14s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m18s
7d71e99555
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
refactor(frontend): remove eyebrow subtitles
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m18s
Pull Request CI / Backend checks (pull_request) Successful in 2m13s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m6s
6fcb6ac8a2
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
refactor(frontend): centralize shared styles
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m20s
Pull Request CI / Backend checks (pull_request) Successful in 2m12s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m3s
9415bdbf8c
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): use bottom navigation on tablet widths
Some checks failed
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
Pull Request CI / Backend checks (pull_request) Has been cancelled
Pull Request CI / Frontend checks (pull_request) Has been cancelled
75cea784f8
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): keep job dots square
Some checks failed
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
Pull Request CI / Backend checks (pull_request) Has been cancelled
Pull Request CI / Frontend checks (pull_request) Has been cancelled
52b8882ec3
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
refactor(frontend): centralize responsive layout styles
Some checks failed
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
Pull Request CI / Frontend checks (pull_request) Has been cancelled
Pull Request CI / Backend checks (pull_request) Has been cancelled
29fd91a478
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): size and align brand mark
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m18s
Pull Request CI / Backend checks (pull_request) Successful in 2m9s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m8s
1676823fa5
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): simplify job list rows
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m19s
Pull Request CI / Backend checks (pull_request) Successful in 2m10s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m8s
89fe32c63b
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): align job status badges
Some checks failed
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
Pull Request CI / Frontend checks (pull_request) Has been cancelled
Pull Request CI / Backend checks (pull_request) Has been cancelled
38aa47e0df
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): lock sidebar to viewport height
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m21s
Pull Request CI / Backend checks (pull_request) Successful in 2m16s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m6s
48ab3bf7a5
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
feat(frontend): add invoice creation entry point
Some checks failed
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
Pull Request CI / Backend checks (pull_request) Has been cancelled
Pull Request CI / Frontend checks (pull_request) Has been cancelled
04ceaae43f
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): derive invoice payment status
Some checks failed
Pull Request CI / Frontend checks (pull_request) Successful in 1m21s
Pull Request CI / Backend checks (pull_request) Successful in 2m11s
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
0dcffe7c00
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
refactor(frontend): standardize action links
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m17s
Pull Request CI / Backend checks (pull_request) Successful in 2m10s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m5s
989198a014
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
refactor(frontend): reuse action link for back navigation
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m19s
Pull Request CI / Backend checks (pull_request) Successful in 2m13s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m7s
673a9d6095
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): refine invoice and payment actions
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m18s
Pull Request CI / Backend checks (pull_request) Successful in 2m12s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m8s
3d930fd854
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): complete payment form action
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m26s
Pull Request CI / Backend checks (pull_request) Successful in 2m19s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m16s
ad898a291b
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
feat(frontend): show invoice payment history
Some checks failed
Pull Request CI / Frontend checks (pull_request) Successful in 1m39s
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
Pull Request CI / Backend checks (pull_request) Has been cancelled
fb76c24954
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
test(frontend): cover invoice payment history
Some checks failed
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
Pull Request CI / Backend checks (pull_request) Has been cancelled
Pull Request CI / Frontend checks (pull_request) Has been cancelled
26a15ba670
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): allow overpaid invoices
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m25s
Pull Request CI / Backend checks (pull_request) Successful in 2m24s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m19s
d628626c6f
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): apply mobile job list layout
Some checks failed
Pull Request CI / Frontend checks (pull_request) Successful in 1m20s
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
Pull Request CI / Backend checks (pull_request) Has been cancelled
3bb58d7ca7
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): enforce mobile list styles
Some checks failed
Pull Request CI / Frontend checks (pull_request) Successful in 1m21s
Pull Request CI / Backend checks (pull_request) Has been cancelled
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
d1d89f33f6
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): stack job details on mobile
Some checks failed
Pull Request CI / Frontend checks (pull_request) Successful in 1m18s
Pull Request CI / Backend checks (pull_request) Successful in 2m9s
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
0797d056a2
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
feat(frontend): persist mock invoice payments
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m18s
Pull Request CI / Backend checks (pull_request) Successful in 2m12s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m16s
66cb1d7079
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
docs(spec): simplify basic frontend scope
Some checks failed
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
Pull Request CI / Frontend checks (pull_request) Has been cancelled
Pull Request CI / Backend checks (pull_request) Has been cancelled
5d32633ddd
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): align job statuses to the right
Some checks failed
Pull Request CI / Frontend checks (pull_request) Successful in 1m18s
Pull Request CI / Backend checks (pull_request) Has been cancelled
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
ae4fe916b3
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): constrain sidebar navigation width
Some checks failed
Pull Request CI / Frontend checks (pull_request) Successful in 1m18s
Pull Request CI / Backend checks (pull_request) Has been cancelled
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
559df5ed65
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
fix(frontend): center mobile navigation cluster
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m14s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m13s
Pull Request CI / Backend checks (pull_request) Successful in 2m21s
ffb93604a3
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
docs(spec): mark basic frontend in progress
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m20s
Pull Request CI / End-to-end tests (pull_request) Successful in 21s
Pull Request CI / Backend checks (pull_request) Successful in 2m12s
42e0d71856
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
refactor(frontend): normalize payment ownership
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m17s
Pull Request CI / Backend checks (pull_request) Successful in 2m11s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m4s
2d35f22676
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
refactor(frontend): centralize shared layout styles
Some checks failed
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
Pull Request CI / Frontend checks (pull_request) Has been cancelled
Pull Request CI / Backend checks (pull_request) Has been cancelled
5c7f63ac48
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
refactor(frontend): reuse typed status badges
Some checks failed
Pull Request CI / End-to-end tests (pull_request) Has been cancelled
Pull Request CI / Backend checks (pull_request) Has been cancelled
Pull Request CI / Frontend checks (pull_request) Has been cancelled
c55d4826c8
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
test(frontend): cover mock payment persistence
Some checks failed
Pull Request CI / Frontend checks (pull_request) Successful in 1m20s
Pull Request CI / Backend checks (pull_request) Successful in 2m11s
Pull Request CI / End-to-end tests (pull_request) Failing after 1m8s
7c6448136c
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
refactor(frontend): reuse surface design tokens
All checks were successful
Pull Request CI / Frontend checks (pull_request) Successful in 1m20s
Pull Request CI / Backend checks (pull_request) Successful in 2m11s
Pull Request CI / End-to-end tests (pull_request) Successful in 1m3s
9cb9f19f22
Amp-Thread-ID: https://ampcode.com/threads/T-01a0295c-8843-7783-b4cb-0436cba1c26e
Co-authored-by: Addison Emig <[email protected]>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kwila/kalzar!10
No description provided.