This website requires JavaScript.
Explore
Help
Sign In
earthjasonlin
/
mailova
Watch
1
Star
0
Fork
0
Code
Issues
Pull Requests
Actions
Packages
Projects
Releases
Wiki
Activity
82
Commits
1
Branch
0
Tags
189c3718df44269a23cc673c4dd42dbe6414af6e
Commit Graph
82 Commits
This Branch
This Branch
All Branches
feat(profiles): notes shown on postcards page, save stays on current page
earthjasonlin
2026-07-06 19:39:54 +08:00
189c3718df
feat(profiles): add private notes field per profile, visible only to owner
earthjasonlin
2026-07-06 19:36:29 +08:00
2989837b7d
chore: startup scripts one-click launch uvicorn server
earthjasonlin
2026-07-06 19:31:55 +08:00
a19f6ccac9
fix(admin-invites): badge default bg color, registered users as plain text list
earthjasonlin
2026-07-06 08:43:07 +08:00
58386e836a
chore: remove test_error.py
earthjasonlin
2026-07-06 08:39:38 +08:00
c6b5b68f25
fix(models): resolve ambiguous foreign keys between User and InviteCode
earthjasonlin
2026-07-06 08:39:33 +08:00
ef06cd29dc
feat(admin-invites): show registered usernames per invite code, track invited_by_code_id on User
earthjasonlin
2026-07-06 08:37:49 +08:00
48da00c8e7
fix(admin-invites): left-align create card conditional fields, convert local datetime to UTC on save
earthjasonlin
2026-07-06 08:35:55 +08:00
46753a7c48
fix(admin-invites): align create card conditional fields styling with edit card
earthjasonlin
2026-07-06 08:33:56 +08:00
5fdd0d5ed2
fix(admin-invites): create form conditional fields inline with nowrap labels, match input styling
earthjasonlin
2026-07-06 08:32:36 +08:00
5ba89eee4f
fix(admin-invites): create form label margin-top:0, edit form inline conditional fields
earthjasonlin
2026-07-06 08:27:34 +08:00
028a4d3a05
fix(invites): register strftime Jinja2 filter, fix 500 error on admin invites page
earthjasonlin
2026-07-06 08:24:20 +08:00
202c1804af
fix(admin-invites): create card uses form-card style, align save/delete with select via align-self flex-end
earthjasonlin
2026-07-06 08:21:54 +08:00
a34b46b4b1
fix(admin-invites): display times in Asia/Shanghai (CST) instead of UTC
earthjasonlin
2026-07-06 08:20:14 +08:00
623549009e
fix(admin-invites): add margin-top to create button, align save/delete buttons bottom with select via invisible label
earthjasonlin
2026-07-06 08:18:51 +08:00
7481af6e4d
fix(admin-invites): increase create form gap, align edit buttons bottom with select
earthjasonlin
2026-07-06 08:17:00 +08:00
e710ce020e
fix(admin-invites): unify button height/size, fit-content width for create button
earthjasonlin
2026-07-06 08:15:08 +08:00
65a7c38ca5
fix(admin-invites): left-align all fields on mobile
earthjasonlin
2026-07-06 08:13:42 +08:00
2e0f15def2
fix(admin-invites): left-align create button
earthjasonlin
2026-07-06 08:12:57 +08:00
9fbe5ce85f
fix(admin-invites): stack create form fields vertically, unify row height and spacing
earthjasonlin
2026-07-06 08:12:25 +08:00
e77319da50
fix(admin-invites): unify form field styles, fix mobile layout for create and edit forms
earthjasonlin
2026-07-06 08:10:36 +08:00
3287dae370
feat(invite): add invite code registration system
earthjasonlin
2026-07-06 01:13:07 +08:00
2c0725b242
chore: rename app to 星笺 (Mailova)
earthjasonlin
2026-07-06 00:41:24 +08:00
a769ce7546
feat(showcase): sort postcards by time descending
earthjasonlin
2026-07-06 00:27:39 +08:00
d8378e0acc
feat(showcase): lightbox, checkbox per-card toggle, lazyload, fix toggle Y-align, remove navbar on public page
earthjasonlin
2026-07-06 00:24:03 +08:00
630772ae4b
fix(settings): use Query alias for tab param, fix showcase tab persistence
earthjasonlin
2026-07-06 00:10:30 +08:00
185b743e05
fix(showcase): tab stay, Y-center toggle, group postcards by sent/received, hide navbar on public page, remove profiles/xx/showcase
earthjasonlin
2026-07-06 00:05:15 +08:00
d082a4b421
refactor(ui): merge showcase settings into settings page tab, fix profile showcase GET route, fix layout
earthjasonlin
2026-07-05 23:56:28 +08:00
a69c6c10c9
feat(showcase): add public showcase page with per-profile/per-postcard visibility controls
earthjasonlin
2026-07-05 23:45:23 +08:00
9f4f57b80a
feat(models): add showcase fields to User, Profile, Postcard
earthjasonlin
2026-07-05 23:35:45 +08:00
2f770a3185
fix(auth): set session expires_at to non-nullable with 1 year max
earthjasonlin
2026-07-05 23:21:54 +08:00
8df3b30f55
feat(ui): move detail page badge next to card number title
earthjasonlin
2026-07-05 23:16:11 +08:00
606662f022
fix(ui): shorten mark-delivered button text to 已送达
earthjasonlin
2026-07-05 23:15:38 +08:00
16b6e1cb75
fix(ui): improve detail page mobile layout - smaller title, compact back button, action buttons in one row
earthjasonlin
2026-07-05 23:15:10 +08:00
ab4df2d14c
fix(ui): remove duplicate back link from detail page, keep top-left back button
earthjasonlin
2026-07-05 23:12:59 +08:00
4597e739a5
feat(ui): add back button left of card number on detail page
earthjasonlin
2026-07-05 23:11:05 +08:00
7380ed2de4
fix(ui): vertically center all badges
earthjasonlin
2026-07-05 23:09:47 +08:00
97ab5deafe
feat(ui): stack country and recipient/sender vertically in postcard list
earthjasonlin
2026-07-05 23:07:41 +08:00
078d09bfbf
feat(ui): show arrival date below send date for delivered postcards
earthjasonlin
2026-07-05 23:06:56 +08:00
370df969f8
feat(ui): show send/receive date in postcard list
earthjasonlin
2026-07-05 23:06:18 +08:00
dde441ac2f
feat(dashboard): mobile 2-col stats, add relative time to recent activity
earthjasonlin
2026-07-05 23:03:35 +08:00
82b2442a1c
i18n: change all page titles and nav text to Chinese
earthjasonlin
2026-07-05 22:40:49 +08:00
f310a30d33
fix(ui): improve dashboard and global mobile responsiveness
earthjasonlin
2026-07-05 22:34:25 +08:00
4fa72aabf8
feat(ui): redesign dashboard as global overview with stats, progress bar, recent activity
earthjasonlin
2026-07-05 22:32:16 +08:00
95bcc42b13
fix(ui): add missing id to profile nickname for rename toggle
earthjasonlin
2026-07-05 22:28:49 +08:00
ee8d9fa528
feat(ui): redesign profiles page with card layout showing postcard stats
earthjasonlin
2026-07-05 22:27:13 +08:00
b50691e624
fix: clear arrival_time and disable field when status is sent
earthjasonlin
2026-07-05 22:15:40 +08:00
b56c3bc6c5
feat(ui): redesign postcards list with tabs, row layout, country dropdown filter
earthjasonlin
2026-07-05 22:12:33 +08:00
000f39779c
fix(ui): align settings cards with heading, full width in container
earthjasonlin
2026-07-05 22:07:36 +08:00
98bcb4c306
fix(ui): wider settings cards with more padding
earthjasonlin
2026-07-05 22:06:46 +08:00
2bba519c8a
fix(ui): center settings cards to fix uneven left-right spacing
earthjasonlin
2026-07-05 22:05:14 +08:00
ec6cf30e94
fix(ui): username change no longer requires password confirmation
earthjasonlin
2026-07-05 22:03:59 +08:00
f4b1c96148
feat: add user settings page (change username/password) and remove public registration
earthjasonlin
2026-07-05 22:01:24 +08:00
c0130afe12
feat(ui): add mark-delivered button on sent postcards with auto today date
earthjasonlin
2026-07-05 21:45:32 +08:00
fae5a05be1
feat(ui): show country flag emoji next to country codes
earthjasonlin
2026-07-05 21:40:46 +08:00
146e424d6c
feat(auth): add remember me option with persistent DB sessions
earthjasonlin
2026-07-05 21:28:58 +08:00
b975227458
feat: always display country code in uppercase (model validates + oninput)
earthjasonlin
2026-07-05 21:22:57 +08:00
83cea694a1
fix(ui): explicitly set text color on .btn to prevent white text on mobile
earthjasonlin
2026-07-05 21:11:14 +08:00
a46d9621be
fix(ui): stack upload form vertically on mobile to prevent button text cutoff
earthjasonlin
2026-07-05 21:09:11 +08:00
59865a9007
fix(ui): upload button text cut off on mobile, use flex shrink for file input
earthjasonlin
2026-07-05 21:08:10 +08:00
b5a89c2683
fix(ui): toggle required on hidden fields to prevent browser validation error
earthjasonlin
2026-07-05 20:21:57 +08:00
8aad025a74
feat(ui): arrival time only required when status is delivered, not sent
earthjasonlin
2026-07-05 20:19:47 +08:00
e9e0533f5d
fix(ui): toggle required attr on hidden fields when switching postcard status
earthjasonlin
2026-07-05 20:12:13 +08:00
8b2d6c98a3
fix(ui): remove required from date inputs to unblock form submit
earthjasonlin
2026-07-05 20:11:04 +08:00
2cfdee180d
fix(ui): remove overly strict pattern validation on postcard form
earthjasonlin
2026-07-05 19:35:55 +08:00
2f220906b5
fix(ui): increase spacing between welcome heading and cards
earthjasonlin
2026-07-05 19:23:53 +08:00
ea326d90c6
feat(ui): rich dashboard cards with countries and recent postcards
earthjasonlin
2026-07-05 19:22:10 +08:00
66451fe05a
feat(ui): polished dashboard profile cards, remove manage button
earthjasonlin
2026-07-05 19:12:27 +08:00
6822de37c2
fix(ui): unify btn line-height for a and button elements
earthjasonlin
2026-07-05 19:10:32 +08:00
eac6f2f095
fix(ui): unify btn height a vs button, use --reload for dev server
earthjasonlin
2026-07-05 19:09:01 +08:00
5b9e50fcb7
feat: inline rename for profiles, dashboard stats grid UI
earthjasonlin
2026-07-05 19:03:48 +08:00
9ba4ab1021
feat: add profile rename, all postcard fields required
earthjasonlin
2026-07-05 19:00:25 +08:00
5121fb1f8f
fix(ui): badge no longer stretches in flex container
earthjasonlin
2026-07-05 18:55:18 +08:00
2054d13825
fix(ui): remove extra margin on form submit button, align save/cancel
earthjasonlin
2026-07-05 18:53:39 +08:00
bea6be20b0
fix(ui): align form-action buttons vertically
earthjasonlin
2026-07-05 18:51:09 +08:00
22d16174a5
fix(ui): form-actions button alignment, cancel no longer wraps
earthjasonlin
2026-07-05 18:48:39 +08:00
2ebec81137
fix(ui): restore auth form button spacing
earthjasonlin
2026-07-05 18:45:52 +08:00
bd500db365
fix(ui): badge sizing, button alignment, country XX format, date-only fields
earthjasonlin
2026-07-05 16:37:36 +08:00
53c8d6cf01
fix(ui): shrink badges, card_number format XX-1234567, date-only fields
earthjasonlin
2026-07-05 16:26:22 +08:00
2faa8d6012
fix(ui): fix button text wrapping, upload layout, and image placeholders
earthjasonlin
2026-07-05 16:23:31 +08:00
a4cd3fb66d
chore: remove server.log
earthjasonlin
2026-07-05 16:06:22 +08:00
cd5d706742
feat: initial postcard manager - FastAPI + Jinja2 + SQLite
earthjasonlin
2026-07-05 16:06:03 +08:00
a03965796f