feat: add admin console and review workflow

This commit is contained in:
Codex
2026-06-14 21:13:23 +08:00
parent 2591549734
commit 6417d2baa9
13 changed files with 1184 additions and 39 deletions
+126
View File
@@ -125,6 +125,10 @@ h2 {
grid-template-columns: minmax(0, 1fr);
}
.admin-layout {
gap: 12px;
}
.panel {
min-width: 0;
border: 1px solid var(--line);
@@ -150,6 +154,30 @@ h2 {
justify-content: flex-end;
}
.admin-tabs {
display: flex;
gap: 8px;
padding: 0 0 4px;
}
.admin-tab {
min-height: 38px;
padding: 0 14px;
border: 1px solid var(--line);
border-radius: 6px;
background: var(--panel);
color: var(--text);
cursor: pointer;
font-weight: 700;
}
.admin-tab.is-active,
.admin-tab:hover {
border-color: var(--accent);
background: #e9f5f3;
color: var(--accent-strong);
}
.chip,
.search-row button {
border: 0;
@@ -280,6 +308,77 @@ select:focus {
font-size: 14px;
}
.admin-editor {
border-bottom: 1px solid var(--line);
background: #fbfcfd;
}
.compact-head {
padding: 12px 16px;
}
.admin-form {
padding: 16px;
}
.admin-form h3 {
margin: 0 0 10px;
font-size: 16px;
line-height: 1.25;
}
.form-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.form-grid label {
display: grid;
gap: 6px;
color: #344054;
font-size: 13px;
font-weight: 700;
}
.span-2 {
grid-column: span 2;
}
textarea {
width: 100%;
min-width: 0;
padding: 10px 12px;
border: 1px solid var(--line);
border-radius: 6px;
background: #fff;
color: var(--text);
font: inherit;
resize: vertical;
outline: none;
}
textarea:focus {
border-color: var(--accent);
box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.15);
}
.register-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.line-code {
display: block;
max-width: 420px;
white-space: normal;
overflow-wrap: anywhere;
font-family: Arial, "Songti SC", SimSun, sans-serif;
font-size: 13px;
line-height: 1.4;
}
.correction-toolbar {
display: flex;
align-items: center;
@@ -300,6 +399,12 @@ select:focus {
color: var(--danger);
}
.toolbar-actions {
display: flex;
align-items: center;
gap: 10px;
}
.correction-toolbar button,
.modal-actions button {
min-height: 38px;
@@ -638,6 +743,10 @@ td {
.inline-account-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.register-grid {
grid-template-columns: 1fr;
}
}
@media (max-width: 640px) {
@@ -679,6 +788,11 @@ td {
flex-direction: column;
}
.toolbar-actions {
width: 100%;
flex-direction: column;
}
.correction-toolbar button {
width: 100%;
}
@@ -687,6 +801,18 @@ td {
grid-template-columns: 1fr;
}
.admin-tabs {
overflow-x: auto;
}
.form-grid {
grid-template-columns: 1fr;
}
.span-2 {
grid-column: auto;
}
.modal-actions {
flex-direction: column-reverse;
}