d94e961d97
fix(web): apply Seed canonical theme setup (body fg-neutral color + data-seed attrs)
...
Default text resolved to white-on-white because globals.css set a background
but no base color, and <html> carried no data-seed attributes. Mirrors
daangn.com's live setup: html[data-seed][data-seed-color-mode] + body
color: var(--seed-color-fg-neutral). Fixes invisible text app-wide.
2026-08-22 21:30:30 +08:00
b02674aa62
fix(web): SwitchHiddenInput on settings hideAmounts toggle + correct smoke comment
2026-08-22 21:16:45 +08:00
6e84d99d46
test(web): exclude e2e/ from vitest collection
2026-08-22 21:10:48 +08:00
95729de201
test(web): MSW harness + Playwright smoke + QA pass
2026-08-22 21:09:59 +08:00
3014385e9b
merge task/t10: transactions list + detail + edits
2026-08-22 21:01:05 +08:00
beb1915bd8
merge task/t11: assets, net worth, manual assets, lending
2026-08-22 21:00:44 +08:00
c8fd8eecc0
merge task/t13: profile settings/categories/subscriptions/connected-banks (read-only)
2026-08-22 21:00:11 +08:00
c52a2d731d
merge task/t12: planner budget/limits/savings goals
2026-08-22 20:59:59 +08:00
0b2a786791
feat(web): assets, net worth, manual assets, lending
2026-08-22 20:58:36 +08:00
24642be543
feat(web): profile settings, categories, subscriptions, connected banks (read-only)
2026-08-22 20:57:19 +08:00
922d2b54ef
feat(web): transactions list + detail + categorize/rename/note
2026-08-22 20:57:07 +08:00
f9195c5ffa
feat(web): planner budget/limits/savings goals
2026-08-22 20:57:01 +08:00
762b572d30
feat(web): home dashboard + data assembly ported from iOS
2026-08-22 20:53:02 +08:00
2555e42f21
test(web): polyfill CSS.supports in shared vitest setup (Seed TextField needs it)
2026-08-22 20:45:59 +08:00
efd252e8ff
merge task/t7: auth screens (login/register/forgot/2FA)
2026-08-22 20:45:48 +08:00
ef0fe234b8
feat(web): auth screens (login/register/forgot/2FA)
2026-08-22 20:42:29 +08:00
08cae39f59
feat(web): responsive app shell + tab navigation
2026-08-22 20:39:22 +08:00
071b5bdb6f
merge task/t6: Mercury DS components + base i18n
2026-08-22 20:35:15 +08:00
7868c7e6f4
test(web): render real Seed components under vitest (inline @seed-design) + assert Mercury button styling
2026-08-22 20:34:14 +08:00
9afb5fcee8
fix(web): handle empty-body 201/204 responses in API client
2026-08-22 20:29:35 +08:00
83c5ffbdaf
feat(web): Mercury DS components + base i18n
2026-08-22 20:29:14 +08:00
53755e9c3a
feat(web): typed API client + TanStack Query hooks
2026-08-22 20:24:53 +08:00
3fd45fe54d
fix(web): reject path-traversal segments in the API proxy
2026-08-22 20:19:31 +08:00
25bdfda5a3
feat(web): auth proxy with httpOnly cookie session + route guard
2026-08-22 20:15:39 +08:00
b1cb04747e
test(web): keep localStorage polyfill in vitest setup (required — jsdom has no localStorage here)
2026-08-22 20:12:59 +08:00
1051ecdc5b
merge task/t2: money formatting + hide-amounts
...
# Conflicts:
# web/vitest.setup.ts
2026-08-22 20:12:26 +08:00
ad215b9416
feat(web): money formatting + hide-amounts, ported from iOS
2026-08-22 20:09:15 +08:00
6454bc0a51
feat(web): Zod DTO schemas mirroring backend + fixtures
2026-08-22 20:09:04 +08:00
0275aeaaaf
feat(web): scaffold Next.js app with Seed Design + Mercury theme + Zona Pro
2026-08-22 20:02:52 +08:00