Add SSO admin console for dashboard
All checks were successful
Build & Push Docker Image to Gitea Registry / build-and-push (push) Successful in 11s

This commit is contained in:
Kroonk
2026-05-21 15:25:51 +02:00
parent 470220b8f4
commit 2125601e56
11 changed files with 816 additions and 207 deletions

161
style.css
View File

@@ -406,12 +406,173 @@ main {
font-size: 0.8rem;
}
.admin-hero {
align-items: center;
}
.admin-actions {
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
gap: 8px;
}
.admin-actions.compact {
align-items: center;
}
.ghost-button {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 38px;
padding: 0 13px;
color: var(--text);
text-decoration: none;
background: rgba(17, 22, 36, 0.86);
border: 1px solid var(--border);
border-radius: var(--radius);
cursor: pointer;
}
.ghost-button:hover,
.ghost-button:focus-visible {
border-color: rgba(103, 232, 249, 0.38);
outline: none;
}
.admin-shell {
display: grid;
gap: 14px;
padding-bottom: 32px;
}
.admin-panel {
padding: 18px;
background: rgba(17, 22, 36, 0.82);
border: 1px solid var(--border);
border-radius: var(--radius);
}
.admin-panel h2 {
margin-top: 4px;
font-size: 1.2rem;
}
.admin-copy {
max-width: 760px;
margin-top: 10px;
color: var(--muted);
line-height: 1.55;
}
.admin-panel-head {
display: flex;
align-items: start;
justify-content: space-between;
gap: 18px;
margin-bottom: 14px;
}
.notice,
.admin-user {
margin-top: 12px;
padding: 12px;
color: var(--muted);
background: rgba(7, 9, 20, 0.55);
border: 1px solid var(--border);
border-radius: var(--radius);
line-height: 1.45;
}
.admin-user {
color: #c4f1ff;
}
.admin-table {
display: grid;
gap: 10px;
margin-top: 14px;
}
.admin-row {
display: grid;
grid-template-columns: minmax(170px, 1.1fr) minmax(150px, 0.7fr) minmax(220px, 1.2fr) auto;
gap: 10px;
align-items: end;
padding: 12px;
background: rgba(7, 9, 20, 0.42);
border: 1px solid var(--border);
border-radius: var(--radius);
}
.admin-row > div:first-child {
min-width: 0;
}
.admin-row strong,
.admin-row span {
display: block;
}
.admin-row span {
margin-top: 4px;
color: var(--dim);
font-size: 0.78rem;
overflow-wrap: anywhere;
}
.admin-row label {
display: grid;
gap: 6px;
color: var(--dim);
font-size: 0.76rem;
}
.admin-row input,
.admin-row select {
width: 100%;
min-height: 38px;
padding: 0 10px;
color: var(--text);
background: rgba(17, 22, 36, 0.92);
border: 1px solid var(--border);
border-radius: var(--radius);
outline: none;
}
.diagnostic {
grid-column: 1 / -1;
color: var(--muted);
font-size: 0.82rem;
}
.admin-row.is-online {
border-color: rgba(52, 211, 153, 0.34);
}
.admin-row.is-offline {
border-color: rgba(251, 113, 133, 0.36);
}
@media (max-width: 900px) {
.hero {
grid-template-columns: 1fr;
align-items: start;
}
.admin-actions {
justify-content: flex-start;
}
.admin-panel-head {
display: grid;
}
.admin-row {
grid-template-columns: 1fr;
}
.hero-meta {
width: 100%;
}