Lemon-miaow
abad137a01
style(panel): unify vertical spacing below PageHeader across pages
2026-07-06 02:04:54 +08:00
Lemon-miaow
bbcfaeb6c4
refactor(panel): remove redundant voxel network topology description subtitle
2026-07-05 16:51:12 +08:00
Lemon-miaow
cfe68aedfc
fix(panel): align status distribution order to put Stopped at the end
2026-07-05 16:50:16 +08:00
Lemon-miaow
9079a2cd67
feat(panel): implement email otp and passkey login interface
2026-07-05 16:48:03 +08:00
Lemon-miaow
bd49313e7e
refactor(panel): 抽取 10 个公共组件,消除 ~150 处重复代码
...
新增组件:
- PageHeader: 统一页面头部(14 个页面)
- StatCard: 统一数值统计卡片(6 个页面)
- MessageLine: 统一错误/成功提示条(16 处)
- ConfirmFooter: 统一 Dialog 底部按钮(8 个文件)
- SearchInput: 统一搜索框(5 个页面)
- SubmissionStatusBadge: 统一提交状态徽章
- RoleBadge / UserStatusBadge: 统一用户角色/状态徽章
- BackLink: 统一返回导航链接(5 个页面)
- InlineConfirm: 统一二次确认交互(3 个 section)
修复:
- Pagination 图标尺寸统一 h-4 w-4
- 右上角按钮统一 size=sm gap-1.5
- StatCard 默认值恢复 text-2xl(24px)
States.tsx 新增 NotYours / NotRunning 通用状态组件
已有文件 -659 行,新组件 +353 行,净减 306 行
2026-07-05 01:15:03 +08:00
Lemon-miaow
627883e89a
fix(panel): refine reset password messages and fix empty email placeholder in mock api response
2026-07-04 09:40:14 +08:00
Lemon-miaow
2c95da8d63
fix(panel/i18n): add missing users_col_user key to translation files
2026-07-04 09:36:03 +08:00
Lemon-miaow
67b4e1904e
fix(panel): override generic already_exists error message during user creation and profile editing
2026-07-04 09:33:41 +08:00
Lemon-miaow
3347cc05d5
feat(panel): implement user management administration panel with sessions and minecraft link support
2026-07-04 04:08:14 +08:00
Lemon-miaow
83e57b4c45
fix(panel): implement two-step confirmation for claiming a server to prevent accidental operations
2026-07-04 00:52:38 +08:00
Lemon-miaow
439f19e209
fix(panel): prevent page collapse and scroll shifts in players and bans management sections during reload
2026-07-04 00:32:38 +08:00
Lemon-miaow
e60784b5b2
fix(panel): eliminate page collapse and scroll shifts during LuckPerms query reload
2026-07-04 00:29:19 +08:00
Lemon-miaow
b7d8000eaf
feat(panel): implement dedicated LuckPerms permissions and groups management sub-page
2026-07-04 00:27:09 +08:00
Lemon-miaow
5f402b190c
fix(panel): force dark mode and pure black bg on server console card
2026-07-03 21:56:36 +08:00
Lemon-miaow
f749c2c606
style(panel): resolve double borders and uneven padding in server console
2026-07-03 21:55:25 +08:00
Lemon-miaow
a8701c1853
fix(panel): prevent automatic wake during server claim in mock api
2026-07-03 21:53:43 +08:00
Lemon-miaow
dd7dff69f0
feat(panel): support importing parameters from submission with owner-restricted unapproved entries
2026-07-03 03:13:16 +08:00
Lemon-miaow
804459c08d
feat(panel): implement admin maintenance window settings page
2026-07-03 02:46:50 +08:00
Lemon-miaow
55592ed123
feat(auth): support public auth bind endpoint
2026-07-03 02:11:57 +08:00
Lemon-miaow
5427bc7623
feat(servers): support claiming servers directly from ServersPage list
2026-07-03 02:01:06 +08:00
Lemon-miaow
73d6ec10d0
feat(mock): add mock submissions for owner account
2026-07-03 01:51:33 +08:00
Lemon-miaow
adf0d9953c
feat(panel): implement user-side modpack submissions with drag & drop context upload
2026-07-02 23:38:46 +08:00
Lemon-miaow
191640c3f5
feat(panel): implement admin submission approval and reject queue
2026-07-02 23:38:46 +08:00
Lemon-miaow
8594622e23
feat(panel): implement email OTP verification and passkey registration management
2026-07-02 18:20:40 +08:00
Lemon-miaow
e0bc288444
feat(panel): implement image build pipeline and admin whitelist with mock dev api
2026-07-02 18:01:05 +08:00
Lemon-miaow
19f500b54a
style(panel): update destructive red color and rename wake to start
2026-07-02 13:43:35 +08:00
Lemon-miaow
c0d333bb98
feat(panel): support full server config edit dialog with status prefilling
2026-07-02 04:24:48 +08:00
Lemon-miaow
3b4298d777
refactor(panel): unify servers cockpit layout, resolve duplicate pages and adjust spacing
2026-07-02 03:30:51 +08:00
Lemon-miaow
6e43a466e0
fix(panel): pin sidebar navigation and enable independent content scroll
2026-07-02 03:30:51 +08:00
Lemon-miaow
92770eade8
style(panel): adjust pagination padding to pt-3 for balanced spacing
2026-07-02 03:30:51 +08:00
Lemon-miaow
5a8eff1935
feat(panel): remove developer comment footer cards from my servers and server admin pages
2026-07-02 03:30:50 +08:00
Lemon-miaow
70d17a0d57
feat(panel): align my servers page search layout with fleet table
2026-07-02 03:30:50 +08:00
Lemon-miaow
fa7bab5ec1
style(panel): refine search and filter layout to align with header
2026-07-02 03:30:50 +08:00
Lemon-miaow
a9dbc8bc61
feat(panel): add search and status filtering to my servers page
2026-07-02 03:30:50 +08:00
Lemon-miaow
4ecaf3c6cb
refactor(panel): set defaultOpen parameter of whitelist card to false
2026-07-02 03:30:50 +08:00
Lemon-miaow
149f01a332
fix(panel): change console button to outline variant on my servers page
2026-07-02 03:30:50 +08:00
Lemon-miaow
a15ff55342
refactor(panel): optimize player list layout and horizontal operations
2026-07-02 03:30:50 +08:00
Lemon-miaow
8ae65ae74a
feat(panel): backup management
2026-07-02 03:30:50 +08:00
Lemon-miaow
15c58d982d
feat(panel): player management
2026-07-02 03:30:50 +08:00
Lemon-miaow
d2de11af22
feat(panel): fleet
2026-07-01 03:46:07 +08:00
Lemon-miaow
7507cfaae4
Revert "feat(panel): wire role-switcher into the app shell"
...
This reverts commit 50b8487ff5 .
2026-07-01 00:05:51 +08:00
flyemoji
50b8487ff5
feat(panel): wire role-switcher into the app shell
...
Build the React consumer over the fail-closed view-mode logic so an admin
can view the app as each of the three homes (User/Admin/SysAdmin) and step
down to a plain User-Side home.
- ViewModeProvider holds the raw requested home (seeded from localStorage,
shape-checked only) and resolves it live against is_admin on every render,
so a demotion or transient /me failure collapses to the User home with no
flash, while an unentitled value is never stored or applied.
- RoleSwitcher renders only for admins (availableViewModes > 1); switching
re-gates the choice and navigates to the chosen home's root.
- AppShell drives its sidebar from sectionsForView(view, isAdmin), which only
ever narrows visibleSections — an admin viewing as a user sees a plain
user's sidebar and lands on the Dashboard at /.
- landingPathForView / viewModeLabelKey added to the logic layer (tested);
view_* and view_switch_label i18n keys added for en-US and zh-CN.
Placement note: the spec calls for a top-right avatar control, but the panel
has no desktop top bar, so the switcher lives in the sidebar foot beside the
user strip. Functionally complete; placement is not yet spec-parity.
2026-06-30 12:18:51 +09:00
flyemoji
563041ada3
feat(panel): add fail-closed role-switcher view-mode logic
...
Pure logic layer for the top-right avatar role-switcher: derive the home
a principal is in and may switch into, mirroring nav.ts/auth.ts so the
decision is unit-tested without a React renderer.
- ViewMode is derived from NavSection["id"], so the three switchable
homes (User/Admin/SysAdmin) can never drift from the nav sections.
- availableViewModes / effectiveViewMode resolve a requested view against
the live is_admin flag, failing closed: a non-admin or a demoted admin
always collapses to the User home.
- restoreViewMode re-gates a persisted (localStorage) choice on every
read, never trusting the stored value over the live flag, closing the
one escalation vector a client-side persona could open.
- sectionsForView composes the view ceiling on top of visibleSections, so
the switcher only ever narrows the sidebar, never widens access.
The avatar dropdown UI that consumes this lands as a separate increment.
2026-06-30 12:01:24 +09:00
Lemon-miaow
c9cd9dcb14
style(panel): unify dialog animation to fade and scale from center
2026-06-28 03:51:41 +08:00
Lemon-miaow
832b200d55
fix(panel): reactive system theme detection
2026-06-28 03:41:50 +08:00
Lemon-miaow
86f2ae41af
feat(panel): sidebar foot shows current account + sign-out; reorder Account cards
2026-06-28 00:37:25 +08:00
Lemon-miaow
a49443cd1f
refactor(panel): simplify sidebar
2026-06-28 00:04:27 +08:00
Lemon-miaow
b512a18d83
refactor(panel): adjust margins
2026-06-27 23:48:35 +08:00
Lemon-miaow
f4df3e20ea
feat(panel): pagination for server lists
2026-06-27 23:46:17 +08:00
Lemon-miaow
e1892659ef
refactor(panel): compact server card layout, denser grid
2026-06-27 23:33:18 +08:00