feat(admin): 登录改页内弹窗 + P1 站点设置(页头/侧栏)
- 登录:LoginDialog(Modal)替代 /login 页面;/login 重定向回首页 - 设置接口:GET /api/settings 公开读、PATCH 需登录 + version 乐观锁(409/400) - setting 表存 site JSON:页头(启用/速度/条目+标签+色调)、侧栏(hidden/order) - /admin:Tabs 页头/侧栏,条目增删与上下移,保存后首页生效 - 首页应用设置:ticker 文本占位符与速度、侧栏顺序与显隐 - 测试 42 passed(settings 5 例)
This commit is contained in:
+62
-18
@@ -773,36 +773,80 @@
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* ---------- 登录页 ---------- */
|
||||
/* ---------- 设置页 ---------- */
|
||||
|
||||
.login-page {
|
||||
display: grid;
|
||||
place-items: center;
|
||||
.admin-page {
|
||||
min-height: 100vh;
|
||||
min-height: 100dvh;
|
||||
padding: var(--su-space-6);
|
||||
background-color: var(--su-bg-page);
|
||||
}
|
||||
|
||||
.login-card {
|
||||
.admin-topbar {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--su-space-4);
|
||||
width: min(380px, 100%);
|
||||
}
|
||||
|
||||
.login-brand {
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: var(--su-space-4);
|
||||
height: 64px;
|
||||
padding: 0 var(--su-space-6);
|
||||
border-bottom: 1px solid var(--su-border);
|
||||
background-color: var(--su-bg-card);
|
||||
}
|
||||
|
||||
.login-back {
|
||||
font-size: var(--su-font-size-sm);
|
||||
color: var(--su-text-muted);
|
||||
text-align: center;
|
||||
.admin-main {
|
||||
width: min(880px, calc(100% - 48px));
|
||||
margin: 0 auto;
|
||||
padding: var(--su-space-8) 0 var(--su-space-10);
|
||||
}
|
||||
|
||||
.login-back:hover {
|
||||
color: var(--su-color-primary);
|
||||
.admin-locked {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: var(--su-space-4);
|
||||
margin-top: var(--su-space-5);
|
||||
padding: var(--su-space-4);
|
||||
border: 1px dashed var(--su-border-strong);
|
||||
border-radius: var(--su-radius-md);
|
||||
}
|
||||
|
||||
.admin-form {
|
||||
margin-top: var(--su-space-5);
|
||||
}
|
||||
|
||||
.admin-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--su-space-3);
|
||||
}
|
||||
|
||||
.admin-item-row {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) 160px 120px auto;
|
||||
align-items: center;
|
||||
gap: var(--su-space-2);
|
||||
}
|
||||
|
||||
.admin-item-row > :first-child:not(.admin-item-title) {
|
||||
grid-column: span 1;
|
||||
}
|
||||
|
||||
.admin-item-title {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.admin-nav-row {
|
||||
grid-template-columns: auto minmax(0, 1fr) auto;
|
||||
}
|
||||
|
||||
.admin-item-actions {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.admin-item-row .su-switch {
|
||||
justify-self: start;
|
||||
}
|
||||
|
||||
/* ---------- 响应式 ---------- */
|
||||
|
||||
Reference in New Issue
Block a user