|
|
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 |
|
|
|
d4aed47c0a
|
fix(admin-invites): left-align all fields on mobile
|
2026-07-06 08:13:42 +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 |
|
|
|
741b51ad6c
|
feat(showcase): sort postcards by time descending
|
2026-07-06 00:27:39 +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 |
|
|
|
2c0229b12f
|
fix(settings): use Query alias for tab param, fix showcase tab persistence
|
2026-07-06 00:10:30 +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 |
|
|
|
b412f5001e
|
feat(models): add showcase fields to User, Profile, Postcard
|
2026-07-05 23:35:45 +08:00 |
|
|
|
46670c72fa
|
fix(auth): set session expires_at to non-nullable with 1 year max
|
2026-07-05 23:21:54 +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 |
|
|
|
41aa2058bc
|
fix(ui): vertically center all badges
|
2026-07-05 23:09:47 +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 |
|
|
|
23897560ad
|
fix(ui): improve dashboard and global mobile responsiveness
|
2026-07-05 22:34:25 +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 |
|
|
|
2aeaa560d6
|
fix(ui): align settings cards with heading, full width in container
|
2026-07-05 22:07:36 +08:00 |
|
|
|
557d0a86d0
|
fix(ui): wider settings cards with more padding
|
2026-07-05 22:06:46 +08:00 |
|
|
|
f85207f1d5
|
fix(ui): center settings cards to fix uneven left-right spacing
|
2026-07-05 22:05:14 +08:00 |
|
|
|
005e6a09b5
|
fix(ui): username change no longer requires password confirmation
|
2026-07-05 22:03:59 +08:00 |
|
|
|
ae2ed2d961
|
feat: add user settings page (change username/password) and remove public registration
|
2026-07-05 22:01:24 +08:00 |
|
|
|
5607485c6a
|
feat(ui): add mark-delivered button on sent postcards with auto today date
|
2026-07-05 21:45:32 +08:00 |
|
|
|
7a62ff0818
|
feat(ui): show country flag emoji next to country codes
|
2026-07-05 21:40:46 +08:00 |
|
|
|
9692ff8ade
|
feat(auth): add remember me option with persistent DB sessions
|
2026-07-05 21:28:58 +08:00 |
|
|
|
2bd914532e
|
feat: always display country code in uppercase (model validates + oninput)
|
2026-07-05 21:22:57 +08:00 |
|
|
|
08684493f4
|
fix(ui): explicitly set text color on .btn to prevent white text on mobile
|
2026-07-05 21:11:14 +08:00 |
|
|
|
4c348d6f04
|
fix(ui): stack upload form vertically on mobile to prevent button text cutoff
|
2026-07-05 21:09:11 +08:00 |
|
|
|
c42d371e08
|
fix(ui): upload button text cut off on mobile, use flex shrink for file input
|
2026-07-05 21:08:10 +08:00 |
|
|
|
282763e7d8
|
fix(ui): toggle required on hidden fields to prevent browser validation error
|
2026-07-05 20:21:57 +08:00 |
|
|
|
08035e3447
|
feat(ui): arrival time only required when status is delivered, not sent
|
2026-07-05 20:19:47 +08:00 |
|
|
|
5d7e70f820
|
fix(ui): toggle required attr on hidden fields when switching postcard status
|
2026-07-05 20:12:13 +08:00 |
|