Add System Admin area and redesign Competitions page

Move the Users table and add a new rule-text editor into a dedicated
admin.html/admin.js page with its own collapsible sidebar (Users,
Rules categories), reachable only for system admins via a button next
to the brand. The Competitions page no longer renders admin-only
controls inline.

Competitions page: cards are now fully clickable to open the
competition (drop the separate "Open" button), the admin-only delete
action moves into a "..." menu (new generic openInlineMenu/
openAnchoredPopover helpers in common.js), and add an open/closed
filter.

Topbar: language switch and logout move out of the topbar into a
small popup under the profile button, which itself opens the full
settings modal for username/display name/language/password.
This commit is contained in:
2026-09-05 13:33:05 +02:00
parent e077703d5d
commit ae035c3fd4
8 changed files with 631 additions and 173 deletions
+12 -1
View File
@@ -145,5 +145,16 @@
"competition_closed": "Wettbewerb ist beendet",
"upload_file": "Datei hochladen",
"csv_separator_hint": "Komma (,) und Semikolon (;) werden automatisch erkannt.",
"csv_empty": "Bitte CSV einfügen oder eine Datei wählen."
"csv_empty": "Bitte CSV einfügen oder eine Datei wählen.",
"system_admin_area": "System Admin",
"user_management": "Benutzerverwaltung",
"rule_management": "Regelverwaltung",
"rules_admin_hint": "Regeltext, Strafvorschlag und Eskalationsverhalten pro Sprache bearbeiten. Beim Speichern wird direkt in die Regeldatei der jeweiligen Sprache geschrieben.",
"reload_from_disk": "Von Datei neu laden",
"missing_translation": "Für diese Sprache noch kein Text vorhanden",
"escalation_mode_hint": "same, doubled, oder escalate:stufe1|stufe2|…",
"new_rule_number": "Neue Regelnummer",
"add_rule": "Regel hinzufügen",
"rule_number_exists": "Diese Regelnummer existiert bereits — bitte in der Tabelle unten bearbeiten.",
"missing_fields": "Bitte alle erforderlichen Felder ausfüllen"
}