Teams-Einstellungen im Admin-Bereich überarbeitet

- Breites, mehrzeiliges Adressfeld mit Prüfung und Hinweis
- Statuszeile, Schalter für die Benachrichtigungen, „Adresse ändern“

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
erikandClaude Opus 5.5 committed 2026-10-30 09:42:38 +01:00
1 parent e7243f6f26
commit 51dfbe8cd8
4 files changed
+121 -13

No files matched your search

+57
View File
@@ -6232,3 +6232,60 @@ button.verlauf-weitere { white-space: nowrap; }
.kalender-anleitung summary { cursor: pointer; color: var(--accent); }
.kalender-anleitung ol { margin: 8px 0; padding-left: 20px; display: grid; gap: 6px; }
.kalender-aktionen { display: flex; gap: 8px; }
/* ---------- Admin → Teams (loadAdminTeams(), js/admin/admin.js) ----------
Eigene Klassen statt .settings-field: das Adressfeld ist lang (≈ 300
Zeichen) und braucht eine breite, mehrzeilige Fläche. */
#adminTeamsInhalt { display: grid; gap: 14px; margin: 12px 0 6px; }
.teams-status {
display: flex; align-items: center; gap: 12px; padding: 12px 14px;
border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface-sunk);
}
.teams-punkt { width: 10px; height: 10px; border-radius: 50%; background: var(--text-subtle); flex: none; }
.teams-status.ist-an .teams-punkt { background: var(--green); box-shadow: 0 0 0 4px color-mix(in srgb, var(--green) 20%, transparent); }
.teams-status-text { display: grid; gap: 2px; flex: 1; min-width: 0; }
.teams-status-text b { font-size: 13.5px; }
.teams-status-text span { font-size: 12px; color: var(--text-muted); overflow-wrap: anywhere; }
button.teams-text-knopf, button.teams-text-knopf:hover, button.teams-text-knopf:active {
all: unset; cursor: pointer; font-size: 12.5px; color: var(--accent); white-space: nowrap; padding: 4px 2px;
}
button.teams-text-knopf:hover { text-decoration: underline; }
button.teams-text-knopf:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
button.teams-text-knopf.ist-gefahr { color: var(--red); }
.teams-feld[hidden] { display: none; }
.teams-feld { display: grid; gap: 6px; }
.teams-feld label { font-size: 12px; font-weight: 600; color: var(--text-muted); }
.teams-feld textarea {
width: 100%; box-sizing: border-box; resize: vertical; min-height: 64px;
padding: 10px 12px; border: 1px solid var(--line) !important; border-radius: var(--r-md) !important;
background: var(--surface) !important; color: var(--text); box-shadow: none !important;
font: 12px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; word-break: break-all;
}
.teams-feld textarea:focus { outline: none; border-color: var(--accent) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent) !important; }
.teams-feld-fuss { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.teams-feld-hinweis { flex: 1; min-width: 200px; font-size: 12px; color: var(--text-subtle); }
.teams-feld-hinweis.ist-fehler { color: var(--red); }
/* Schalter statt nackter Checkbox */
.teams-schalter { display: flex; align-items: center; gap: 12px; cursor: pointer; }
.teams-schalter input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.teams-schalter-bahn {
flex: none; width: 38px; height: 22px; border-radius: 11px; background: var(--line); position: relative;
transition: background var(--dur, 150ms);
}
.teams-schalter-bahn::after {
content: ''; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%;
background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.3); transition: transform var(--dur, 150ms) var(--ease-out, ease);
}
.teams-schalter input:checked + .teams-schalter-bahn { background: var(--accent); }
.teams-schalter input:checked + .teams-schalter-bahn::after { transform: translateX(16px); }
.teams-schalter input:focus-visible + .teams-schalter-bahn { outline: 2px solid var(--accent); outline-offset: 2px; }
.teams-schalter input:disabled + .teams-schalter-bahn { opacity: .45; }
.teams-schalter:has(input:disabled) { cursor: default; }
.teams-schalter-text { display: grid; gap: 2px; }
.teams-schalter-text b { font-size: 13px; font-weight: 600; }
.teams-schalter-text span { font-size: 12px; color: var(--text-muted); }
.teams-schalter:has(input:disabled) .teams-schalter-text { opacity: .55; }
.teams-aktionen { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }