Commit Graph

37 Commits

Author SHA1 Message Date
a417a1c376 style: features page CSS classes, onclick→data-action, site name hot-reload 2026-07-16 06:03:33 +08:00
abf747e3af feat: dedicated server groups management page in sidebar 2026-07-16 03:56:09 +08:00
a8309aa456 refactor: use user_servers junction table instead of JSON column 2026-07-15 04:55:57 +08:00
a34314ac9d feat: admin server assignment in user management 2026-07-15 04:53:27 +08:00
efe6b084be sync: add source field to user list, create, edit, and external API 2026-07-15 04:43:30 +08:00
125b4f99fc fix: only two sources (netease/skin), plugin uses skin 2026-07-15 04:36:01 +08:00
c493c1204b feat: registration source selector (netease/skin/java) 2026-07-15 04:34:06 +08:00
021351d898 fix: restore from regex corruption, JS-bind modal close, data-action delegation 2026-07-15 03:53:16 +08:00
0f64af42a1 feat: password reset + data-action delegation for all onclick 2026-07-15 02:45:33 +08:00
f0e891b17c fix: data-action delegation + convert onclick to event listeners, sidebar+logout+modals 2026-07-15 02:44:18 +08:00
4d8bc848e1 feat: features as GitHub Issues style with comments/discussion, status filter 2026-07-14 03:25:50 +08:00
4913984391 feat: poll groups/servers, timed polls, features sort+filter by group 2026-07-14 03:17:13 +08:00
d61ad2109f refactor: remove polls+features, move to standalone mc-vote repo 2026-07-14 03:11:26 +08:00
3d7393817c fix: polls /active route order, features redundant auth check 2026-07-14 03:03:56 +08:00
ee2f33c61f feat: feature voting (PCL-style), poll owner edit/delete, blind polls for all 2026-07-14 01:17:56 +08:00
74974864cd fix: no revote, blind result after voting, admin 1.5 vote weight 2026-07-13 22:01:03 +08:00
116fe89ac8 feat: poll/voting system with live results and bar charts 2026-07-13 21:37:16 +08:00
bc16833a57 feat: SVG image captcha with noise and color distortion 2026-07-13 18:33:31 +08:00
4f4df7e479 fix: backend+frontend full audit - 15 bugs fixed across all files 2026-07-13 04:07:18 +08:00
33078855cb feat: appealing status, auto-close parent on appeal resolved, closed=final 2026-07-12 17:42:42 +08:00
bcaeb78469 fix: unclaimed page show reason for result_appeal type 2026-07-12 17:35:47 +08:00
0fd004dd84 fix: result_appeal also uses appeal display logic in ticket detail 2026-07-12 17:35:23 +08:00
10b6ff94ed feat: admin complaint (owner only) + result appeal (one per ticket, owner only) 2026-07-12 15:19:09 +08:00
6657c05dec fix: add escJs for JS string escaping in onclick attributes, apply to users/templates/notifications 2026-07-12 13:09:52 +08:00
ea7a3c42be fix: escape notification name/url in edit modal to prevent HTML injection 2026-07-12 13:08:45 +08:00
34e821ff1d fix: canClaim logic - must be unassigned AND pending, not OR 2026-07-12 13:07:31 +08:00
c69ad2c36e fix: show appeal reason in ticket detail, correct description labels 2026-07-12 13:07:09 +08:00
4e66db0406 fix: dashboard uses Auth.isOwner for export endpoint, admin was getting 403 2026-07-12 13:06:36 +08:00
de1bca9d8a fix: client-side file size limit 20→50MB to match server 2026-07-12 13:03:46 +08:00
9241dd6a6f fix: add appeal button, hide top bar when logged in so sidebar is clickable 2026-07-12 02:14:25 +08:00
f09a554ea3 fix: make LoginPage.render async to unify async render contract 2026-07-12 02:04:10 +08:00
989a3ae4cf feat: home page hash-based tab routing for shareable links 2026-07-12 01:53:59 +08:00
5bb2df7b52 fix: login broken by sync/async mismatch, register missing home link, top bar contrast 2026-07-12 01:50:17 +08:00
a4cee1c186 style: modern UI redesign - gradients, glassmorphism, animations, Inter font 2026-07-12 01:39:09 +08:00
a6058bf207 feat: top bar, footer, login/register buttons, ICP/copyright settings 2026-07-12 01:32:18 +08:00
e654339611 chore: remove stale files from v2 2026-07-12 01:23:35 +08:00
247a4e851d feat: MC Report System - MySQL + Express + Vanilla JS SPA 2026-07-12 01:23:19 +08:00