Commit Graph

73 Commits

Author SHA1 Message Date
87785494d6 feat(i18n): add English localization with per-user language preference 2026-07-06 22:41:09 +08:00
643f1dc35a fix(dashboard): extract labels/data from tuple list for Chart.js 2026-07-06 22:13:46 +08:00
f448a900f5 feat(i18n): add English localization with per-user language preference and navbar toggle 2026-07-06 22:07:05 +08:00
e7b109ab6d fix(postcards): move notes to right side before action buttons in list, use dl grid format in detail page 2026-07-06 21:13:01 +08:00
68c88a7910 feat(postcards): add notes field to postcards with edit, detail, and truncated list display 2026-07-06 21:07:28 +08:00
f6db3a4f55 feat(dashboard): split country stats into sent/received bar charts side by side 2026-07-06 20:41:39 +08:00
cf06ab236d revert(dashboard): restore Chart.js bar chart for country distribution 2026-07-06 20:35:43 +08:00
3320dc95ca feat(dashboard): replace Chart.js with pure HTML/CSS bar chart, flags render correctly 2026-07-06 20:34:52 +08:00
31eb6dcfc9 feat(dashboard): add country distribution bar chart using Chart.js 2026-07-06 20:20:46 +08:00
200602c1e6 feat: auto-trim whitespace from text inputs on form submit globally 2026-07-06 20:10:54 +08:00
a0e7f46cc5 fix(postcards): auto-fill today date on page load for new postcards 2026-07-06 20:09:28 +08:00
91b4ff8ed4 feat(postcards): auto-fill today date on status change, card_number always uppercase 2026-07-06 20:06:42 +08:00
6157e40db9 fix(profiles): remove duplicate border, center-align textarea/button; notes read-only on postcards page 2026-07-06 19:41:21 +08:00
9db6b849d4 feat(profiles): notes shown on postcards page, save stays on current page 2026-07-06 19:39:54 +08:00
b6d43b3db4 feat(profiles): add private notes field per profile, visible only to owner 2026-07-06 19:36:29 +08:00
367235fb99 fix(admin-invites): badge default bg color, registered users as plain text list 2026-07-06 08:43:07 +08:00
755409f386 feat(admin-invites): show registered usernames per invite code, track invited_by_code_id on User 2026-07-06 08:37:49 +08:00
293a021500 fix(admin-invites): left-align create card conditional fields, convert local datetime to UTC on save 2026-07-06 08:35:55 +08:00
09270bb4af fix(admin-invites): align create card conditional fields styling with edit card 2026-07-06 08:33:56 +08:00
b9d9de2fc3 fix(admin-invites): create form conditional fields inline with nowrap labels, match input styling 2026-07-06 08:32:36 +08:00
b285c4b588 fix(admin-invites): create form label margin-top:0, edit form inline conditional fields 2026-07-06 08:27:34 +08:00
f0a4e704ea fix(admin-invites): create card uses form-card style, align save/delete with select via align-self flex-end 2026-07-06 08:21:54 +08:00
b10be81505 fix(admin-invites): display times in Asia/Shanghai (CST) instead of UTC 2026-07-06 08:20:14 +08:00
1354032914 fix(admin-invites): add margin-top to create button, align save/delete buttons bottom with select via invisible label 2026-07-06 08:18:51 +08:00
fd7e700e7d fix(admin-invites): increase create form gap, align edit buttons bottom with select 2026-07-06 08:17:00 +08:00
6af99f36f2 fix(admin-invites): unify button height/size, fit-content width for create button 2026-07-06 08:15:08 +08:00
386cc614e7 fix(admin-invites): left-align create button 2026-07-06 08:12:57 +08:00
b4bec6e5e6 fix(admin-invites): stack create form fields vertically, unify row height and spacing 2026-07-06 08:12:25 +08:00
b66527b6d8 fix(admin-invites): unify form field styles, fix mobile layout for create and edit forms 2026-07-06 08:10:36 +08:00
b58956937e feat(invite): add invite code registration system 2026-07-06 01:13:07 +08:00
a7c5082ff6 chore: rename app to 星笺 (Mailova) 2026-07-06 00:41:24 +08:00
66ba163ef6 feat(showcase): lightbox, checkbox per-card toggle, lazyload, fix toggle Y-align, remove navbar on public page 2026-07-06 00:24:03 +08:00
e0ef607a05 fix(showcase): tab stay, Y-center toggle, group postcards by sent/received, hide navbar on public page, remove profiles/xx/showcase 2026-07-06 00:05:15 +08:00
c550289527 refactor(ui): merge showcase settings into settings page tab, fix profile showcase GET route, fix layout 2026-07-05 23:56:28 +08:00
148cfdf2a4 feat(showcase): add public showcase page with per-profile/per-postcard visibility controls 2026-07-05 23:45:23 +08:00
d7780ea6ad feat(ui): move detail page badge next to card number title 2026-07-05 23:16:11 +08:00
23c61363a6 fix(ui): shorten mark-delivered button text to 已送达 2026-07-05 23:15:38 +08:00
a502c14c99 fix(ui): improve detail page mobile layout - smaller title, compact back button, action buttons in one row 2026-07-05 23:15:10 +08:00
a4cd204237 fix(ui): remove duplicate back link from detail page, keep top-left back button 2026-07-05 23:12:59 +08:00
71a029057a feat(ui): add back button left of card number on detail page 2026-07-05 23:11:05 +08:00
6ae80c5591 feat(ui): stack country and recipient/sender vertically in postcard list 2026-07-05 23:07:41 +08:00
80928d5ae6 feat(ui): show arrival date below send date for delivered postcards 2026-07-05 23:06:56 +08:00
90c02faa8f feat(ui): show send/receive date in postcard list 2026-07-05 23:06:18 +08:00
61190328a4 feat(dashboard): mobile 2-col stats, add relative time to recent activity 2026-07-05 23:03:35 +08:00
fc55507019 i18n: change all page titles and nav text to Chinese 2026-07-05 22:40:49 +08:00
a4714db073 feat(ui): redesign dashboard as global overview with stats, progress bar, recent activity 2026-07-05 22:32:16 +08:00
a57cba22d5 fix(ui): add missing id to profile nickname for rename toggle 2026-07-05 22:28:49 +08:00
a212021997 feat(ui): redesign profiles page with card layout showing postcard stats 2026-07-05 22:27:13 +08:00
5b6b2ccef8 fix: clear arrival_time and disable field when status is sent 2026-07-05 22:15:40 +08:00
84e4e457db feat(ui): redesign postcards list with tabs, row layout, country dropdown filter 2026-07-05 22:12:33 +08:00