diff options
| author | Somhairle H. Marisol <[email protected]> | 2026-09-18 18:11:53 +0800 |
|---|---|---|
| committer | Somhairle H. Marisol <[email protected]> | 2026-09-18 18:11:53 +0800 |
| commit | c52a727d11b87d70ec00a7e2569841e6e6abcd9c (patch) | |
| tree | c7bc7217cb0ef02613b34e5a1f228ac3a68431a9 /frontend/src/pages/AdminPage.svelte | |
| parent | 63098a260dadf9e5d01650afb02570343abe20d9 (diff) | |
| download | strategy-lab-c52a727d11b87d70ec00a7e2569841e6e6abcd9c.tar.gz | |
[变更性质] 用户旅程重排:项目首页指标摘要+项目卡、结果页首屏 capital 三卡+交易分页、数据/策略/回测 CTA 与三态统一,token 白名单清扫(docs/ui-user-journey-round6.md §1/§2)
Diffstat (limited to 'frontend/src/pages/AdminPage.svelte')
| -rw-r--r-- | frontend/src/pages/AdminPage.svelte | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/frontend/src/pages/AdminPage.svelte b/frontend/src/pages/AdminPage.svelte index 2a10266..8f6aded 100644 --- a/frontend/src/pages/AdminPage.svelte +++ b/frontend/src/pages/AdminPage.svelte @@ -186,11 +186,11 @@ </Tabs.Root> {/snippet} - <div class="flex flex-col gap-3"> + <div class="flex flex-col gap-4"> <Status busy={false} error={adminOpsErr} empty={null} /> {#if tab === 'users'} - <Card.Root size="sm" class="p-4 flex flex-col gap-3"> + <Card.Root size="sm" class="p-4 flex flex-col gap-4"> <h2 class="text-lg font-semibold">用户</h2> <Status busy={usersBusy} error={usersErr} busyText="载入用户…" empty={null} /> {#if !usersBusy && !usersErr && users.length > 0} @@ -243,7 +243,7 @@ /> </Table.Cell> <Table.Cell> - <div class="flex items-center gap-2 flex-wrap"> + <div class="flex items-center gap-4 flex-wrap"> <Button variant={u.active ? 'destructive' : 'outline'} size="sm" onclick={() => void patchUser(u, { active: !u.active })}> {u.active ? '停用' : '启用'} </Button> @@ -258,9 +258,9 @@ <p class="text-sm text-muted-foreground">停用账户会立即吊销其会话并阻止其回测与 AI 请求。角色不能作用于他人项目,私阅策略代码不提供。</p> </Card.Root> {:else if tab === 'invites'} - <Card.Root size="sm" class="p-4 flex flex-col gap-3"> + <Card.Root size="sm" class="p-4 flex flex-col gap-4"> <h2 class="text-lg font-semibold">签发邀请</h2> - <form onsubmit={makeInvite} class="flex flex-wrap items-end gap-3"> + <form onsubmit={makeInvite} class="flex flex-wrap items-end gap-4"> <div class="flex-[1_1_220px]"> <Label for="inv-em">邮箱(可选备注)</Label> <Input id="inv-em" bind:value={inviteEmail} placeholder="📬 将线下告知受邀人,用于区分" /> @@ -285,7 +285,7 @@ {/if} </Card.Root> - <Card.Root size="sm" class="p-4 flex flex-col gap-3"> + <Card.Root size="sm" class="p-4 flex flex-col gap-4"> <h2 class="text-lg font-semibold">历史邀请</h2> <Status busy={inviteBusy} error={inviteErr} busyText="载入邀请…" empty={null} /> {#if !inviteBusy && !inviteErr && invites.length === 0} @@ -330,7 +330,7 @@ <p class="text-sm text-muted-foreground">恢复链接由“生成恢复”按钮产生,仅出现一次;不会自动发邮件。</p> </Card.Root> {:else} - <Card.Root size="sm" class="p-4 flex flex-col gap-3"> + <Card.Root size="sm" class="p-4 flex flex-col gap-4"> <h2 class="text-lg font-semibold">安全审计(收尾尾部)</h2> <Status busy={auditBusy} error={auditErr} busyText="载入审计记录…" empty={null} /> {#if !auditBusy && !auditErr && audit.length === 0} @@ -367,7 +367,7 @@ {#if resetFor} <Modal title={`为 ${resetFor.email} 生成密码恢复`} onClose={() => (resetFor = null)}> - <div class="flex flex-col gap-3"> + <div class="flex flex-col gap-4"> <Alert variant="default"> <div> <div>恢复链接(管理员线下告知对方,只出现一次):</div> |
