Commit graph

43 commits

Author SHA1 Message Date
7753168b11 feat(web): password-reset + email-verify pages + planner spend-breakdown 2026-08-22 22:59:15 +08:00
5eff0f661f feat(web): use real Seed icon catalog (@seed-design/react-icon) matching iOS iconography 2026-08-22 22:28:41 +08:00
0010b7b5fa test(web): expect localized category name (Кофе) after localization 2026-08-22 22:19:41 +08:00
11c30b6690 merge rw/profile: visual rework to reference bar 2026-08-22 22:18:47 +08:00
edef3272cd merge rw/planner: visual rework to reference bar 2026-08-22 22:18:47 +08:00
15f2879f8b merge rw/assets: visual rework to reference bar 2026-08-22 22:18:47 +08:00
059b7e13d5 feat(web): rework profile + auth visuals to reference bar
Elevate the Profile (Миний) tab and login/register/forgot screens to match
TransactionList's IconChip + Card row pattern:

- Profile: avatar medallion (initial + brand tint) + name/email header,
  IconChip menu rows (Тохиргоо/Ангилал/Захиалга) with chevrons, IconChip +
  EmptyState connected-banks list.
- Categories/Subscriptions: IconChip rows via categoryStyle, EmptyState for
  empty lists, chevron-left back buttons.
- Auth: shared AuthHeader with a tinted monogram + wordmark lockup, more
  comfortable field/CTA spacing in AuthForm.

Visual only — no changes to hooks, mutations, or auth actions.
2026-08-22 22:18:18 +08:00
1bb43e58c2 feat(web): rework dashboard visuals to reference bar 2026-08-22 22:17:22 +08:00
404ab94e1c feat(web): rework planner visuals to reference bar
Elevate the Planner page presentation to match the TransactionList
reference: category-limit and savings-goal rows now use IconChip for
the category/goal chip, SectionHeader for the "+" add actions, and
EmptyState for the empty limits/goals states (split from the existing
Mongolian copy, no new strings invented). The unset daily-limit card
now shows a subtle "Лимит тохируулаагүй" hint instead of "0₮ / —".
Pure presentation — usePutBudget's full-categories-echo save and all
mutation/dialog logic are untouched.
2026-08-22 22:16:20 +08:00
43108a92bb feat(web): rework assets visuals to reference bar 2026-08-22 22:16:05 +08:00
e0c07be232 feat(web): shared design primitives (IconChip, SectionHeader, EmptyState) 2026-08-22 22:09:32 +08:00
66d82b8b68 feat(web): real inline-SVG icon set (replace emoji); txn detail loading skeleton 2026-08-22 22:06:13 +08:00
06e74b1668 feat(web): localize categories to Mongolian + icon/color chips; fix transaction date sort; add deploy Dockerfile 2026-08-22 21:58:33 +08:00
6913c1e5ee feat(web): desktop layout (wider container + 2-col dashboard) + redirect-loop fix + mn string
- Shell content widens to max-w-6xl on desktop (was phone-strip max-w-2xl)
- Dashboard reflows into a 2-col grid on desktop instead of stretching
- On 401, clear session cookie via logout before redirect (prevents /login<->/home loop when cookie outlives server session)
- Profile 'Subscriptions' -> 'Захиалга'
2026-08-22 21:33:14 +08:00
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