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
111
Commits
1
Branch
0
Tags
5de27f1937aedfd56143b683ea8fc322c8e69575
Commit Graph
108 Commits
Include renames
feat(showcase): display send_time/receive_time on personal showcase cards
earthjasonlin
2026-07-07 13:24:58 +08:00
5de27f1937
fix(dashboard): sort recent activity by updated_at so delivered/received cards also appear
earthjasonlin
2026-07-07 13:23:39 +08:00
b5716ff340
feat(postcard): profile country, country_from, per-user card number uniqueness, public page overhaul - Profile: add country field for default origin country - Postcard: add country_from field, auto-fill from profile.country on create - card_number uniqueness: change from global to per-user (profile_id + card_number) - Public pages: remove card_number display, only show cards with image_front - Public pages: show country as from→to format - Index page: no time display, add register button, fix lightbox with prev/next - Infinite scroll: add /api/public/cards endpoints and IntersectionObserver - Internal pages: update postcards list/detail for country_from display - i18n: add profiles.country_ph, pc_form.country_from, pc_detail.route
earthjasonlin
2026-07-07 12:32:24 +08:00
a071b3dde4
feat(ui): add landing page with random public postcards for unauthenticated visitors
earthjasonlin
2026-07-07 12:05:44 +08:00
bd664d23be
feat(admin): merge invites + copyright into system admin page with SystemConfig table
earthjasonlin
2026-07-07 11:35:57 +08:00
ba56fc6e6b
chore: remove scripts and export_i18n.py from git, add to .gitignore
earthjasonlin
2026-07-07 11:35:00 +08:00
8a4500f723
chore: stage changes before history rewrite
earthjasonlin
2026-07-07 11:28:18 +08:00
137304090a
feat(showcase): add temporary language switcher for visitors with cookie persistence
earthjasonlin
2026-07-07 09:57:20 +08:00
a619b919be
feat(ui): replace language dropdown with globe icon and expandable menu
earthjasonlin
2026-07-07 09:54:57 +08:00
02269417a9
refactor(i18n): move translations to JSON files under app/locales, dynamic language switch
earthjasonlin
2026-07-07 09:46:50 +08:00
591ad3e178
fix(api-docs): replace all hardcoded Chinese with i18n translation keys for English support
earthjasonlin
2026-07-07 09:33:01 +08:00
fb98974382
fix(api-docs): remove inline-block override on settings link button for proper text centering
earthjasonlin
2026-07-07 09:28:58 +08:00
5dc705bf37
feat(api): add public RESTful API with API key auth and documentation page
earthjasonlin
2026-07-07 09:22:11 +08:00
6a49fedfbb
fix(postcards): remove card number format restriction and forced uppercase
earthjasonlin
2026-07-06 23:14:12 +08:00
14c226d082
feat(i18n): add English localization with per-user language preference
earthjasonlin
2026-07-06 22:41:09 +08:00
87785494d6
fix(dashboard): extract labels/data from tuple list for Chart.js
earthjasonlin
2026-07-06 22:13:46 +08:00
643f1dc35a
feat(i18n): add English localization with per-user language preference and navbar toggle
earthjasonlin
2026-07-06 22:07:05 +08:00
f448a900f5
fix(detail): prevent dt labels from wrapping, allow dd values to wrap
earthjasonlin
2026-07-06 21:13:37 +08:00
172e33e121
fix(postcards): move notes to right side before action buttons in list, use dl grid format in detail page
earthjasonlin
2026-07-06 21:13:01 +08:00
e7b109ab6d
style: set CJK+English fonts, reduce base font size to 14px, lighten text colors
earthjasonlin
2026-07-06 21:10:59 +08:00
e75c4df4e8
feat(postcards): add notes field to postcards with edit, detail, and truncated list display
earthjasonlin
2026-07-06 21:07:28 +08:00
68c88a7910
feat(dashboard): split country stats into sent/received bar charts side by side
earthjasonlin
2026-07-06 20:41:39 +08:00
f6db3a4f55
revert(dashboard): restore Chart.js bar chart for country distribution
earthjasonlin
2026-07-06 20:35:43 +08:00
cf06ab236d
feat(dashboard): replace Chart.js with pure HTML/CSS bar chart, flags render correctly
earthjasonlin
2026-07-06 20:34:52 +08:00
3320dc95ca
feat(dashboard): add country distribution bar chart using Chart.js
earthjasonlin
2026-07-06 20:20:46 +08:00
31eb6dcfc9
feat: auto-trim whitespace from text inputs on form submit globally
earthjasonlin
2026-07-06 20:10:54 +08:00
200602c1e6
fix(postcards): auto-fill today date on page load for new postcards
earthjasonlin
2026-07-06 20:09:28 +08:00
a0e7f46cc5
feat(postcards): auto-fill today date on status change, card_number always uppercase
earthjasonlin
2026-07-06 20:06:42 +08:00
91b4ff8ed4
fix(profiles): remove duplicate border, center-align textarea/button; notes read-only on postcards page
earthjasonlin
2026-07-06 19:41:21 +08:00
6157e40db9
feat(profiles): notes shown on postcards page, save stays on current page
earthjasonlin
2026-07-06 19:39:54 +08:00
9db6b849d4
feat(profiles): add private notes field per profile, visible only to owner
earthjasonlin
2026-07-06 19:36:29 +08:00
b6d43b3db4
fix(admin-invites): badge default bg color, registered users as plain text list
earthjasonlin
2026-07-06 08:43:07 +08:00
367235fb99
fix(models): resolve ambiguous foreign keys between User and InviteCode
earthjasonlin
2026-07-06 08:39:33 +08:00
501e27400b
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
755409f386
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
293a021500
fix(admin-invites): align create card conditional fields styling with edit card
earthjasonlin
2026-07-06 08:33:56 +08:00
09270bb4af
fix(admin-invites): create form conditional fields inline with nowrap labels, match input styling
earthjasonlin
2026-07-06 08:32:36 +08:00
b9d9de2fc3
fix(admin-invites): create form label margin-top:0, edit form inline conditional fields
earthjasonlin
2026-07-06 08:27:34 +08:00
b285c4b588
fix(invites): register strftime Jinja2 filter, fix 500 error on admin invites page
earthjasonlin
2026-07-06 08:24:20 +08:00
9aab88ae8f
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
f0a4e704ea
fix(admin-invites): display times in Asia/Shanghai (CST) instead of UTC
earthjasonlin
2026-07-06 08:20:14 +08:00
b10be81505
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
1354032914
fix(admin-invites): increase create form gap, align edit buttons bottom with select
earthjasonlin
2026-07-06 08:17:00 +08:00
fd7e700e7d
fix(admin-invites): unify button height/size, fit-content width for create button
earthjasonlin
2026-07-06 08:15:08 +08:00
6af99f36f2
fix(admin-invites): left-align all fields on mobile
earthjasonlin
2026-07-06 08:13:42 +08:00
d4aed47c0a
fix(admin-invites): left-align create button
earthjasonlin
2026-07-06 08:12:57 +08:00
386cc614e7
fix(admin-invites): stack create form fields vertically, unify row height and spacing
earthjasonlin
2026-07-06 08:12:25 +08:00
b4bec6e5e6
fix(admin-invites): unify form field styles, fix mobile layout for create and edit forms
earthjasonlin
2026-07-06 08:10:36 +08:00
b66527b6d8
feat(invite): add invite code registration system
earthjasonlin
2026-07-06 01:13:07 +08:00
b58956937e
chore: rename app to 星笺 (Mailova)
earthjasonlin
2026-07-06 00:41:24 +08:00
a7c5082ff6
First
Previous
1
2
3
Next
Last