feat(csms): add setup routes and pages for initial user creation

This commit is contained in:
2026-03-10 21:40:27 +08:00
parent fc18332cd5
commit 4f9fbe13fd
6 changed files with 317 additions and 24 deletions

View File

@@ -138,9 +138,9 @@ export default function UsersPage() {
</Modal.Header>
<Modal.Body className="space-y-3">
<TextField fullWidth>
<Label className="text-sm font-medium"></Label>
<Label className="text-sm font-medium"></Label>
<Input
placeholder="用户姓名"
placeholder="对外显示的名称"
value={createForm.name}
onChange={(e) => setCreateForm({ ...createForm, name: e.target.value })}
/>
@@ -155,10 +155,9 @@ export default function UsersPage() {
/>
</TextField>
<TextField fullWidth>
<Label className="text-sm font-medium"></Label>
<Label className="text-sm font-medium"></Label>
<Input
className="font-mono"
placeholder="username"
placeholder="创建账号的登录名"
value={createForm.username}
onChange={(e) => setCreateForm({ ...createForm, username: e.target.value })}
/>
@@ -166,8 +165,9 @@ export default function UsersPage() {
<TextField fullWidth>
<Label className="text-sm font-medium"></Label>
<Input
autoComplete="new-password"
type="password"
placeholder="••••••••"
placeholder="创建账号的密码"
value={createForm.password}
onChange={(e) => setCreateForm({ ...createForm, password: e.target.value })}
/>
@@ -223,7 +223,7 @@ export default function UsersPage() {
<Table.Header>
<Table.Column isRowHeader></Table.Column>
<Table.Column></Table.Column>
<Table.Column></Table.Column>
<Table.Column></Table.Column>
<Table.Column></Table.Column>
<Table.Column></Table.Column>
<Table.Column></Table.Column>
@@ -245,7 +245,7 @@ export default function UsersPage() {
<Table.Cell className="font-mono text-sm">{u.username ?? "—"}</Table.Cell>
<Table.Cell>
<Chip
color={u.role === "admin" ? "success" : "warning"}
color={u.role === "admin" ? "warning" : "success"}
size="sm"
variant="soft"
>
@@ -292,10 +292,9 @@ export default function UsersPage() {
/>
</TextField>
<TextField fullWidth>
<Label className="text-sm font-medium"></Label>
<Label className="text-sm font-medium"></Label>
<Input
className="font-mono"
placeholder="username"
placeholder="用户登录名"
value={editForm.username}
onChange={(e) =>
setEditForm({ ...editForm, username: e.target.value })