From 276e7570e5da315809ed11d5a719b9b318a35d1d Mon Sep 17 00:00:00 2001 From: Novacell Date: Sun, 7 Jun 2026 12:38:16 +0200 Subject: [PATCH] Integration der rechtlichen Dokumente (Frontend) --- dev/lobby-frontend/agb.html | 111 +++++++++++++++++++++++ dev/lobby-frontend/datenschutz.html | 116 ++++++++++++++++++++++++ dev/lobby-frontend/impressum.html | 107 ++++++++++++++++++++++ dev/lobby-frontend/index.html | 21 +++-- dev/lobby-frontend/regeln.html | 117 +++++++++++++++++++++++++ dev/lobby-frontend/src/css/auth.css | 50 +++++++++++ dev/lobby-frontend/src/i18n.js | 9 +- dev/lobby-frontend/src/ui/dropdowns.js | 2 +- 8 files changed, 522 insertions(+), 11 deletions(-) create mode 100644 dev/lobby-frontend/agb.html create mode 100644 dev/lobby-frontend/datenschutz.html create mode 100644 dev/lobby-frontend/impressum.html create mode 100644 dev/lobby-frontend/regeln.html diff --git a/dev/lobby-frontend/agb.html b/dev/lobby-frontend/agb.html new file mode 100644 index 0000000..d139dc3 --- /dev/null +++ b/dev/lobby-frontend/agb.html @@ -0,0 +1,111 @@ + + + + + + Void-Genesis | Rechtliches + + + + + + + + + + \ No newline at end of file diff --git a/dev/lobby-frontend/datenschutz.html b/dev/lobby-frontend/datenschutz.html new file mode 100644 index 0000000..04bfbe6 --- /dev/null +++ b/dev/lobby-frontend/datenschutz.html @@ -0,0 +1,116 @@ + + + + + + Void-Genesis | Rechtliches + + + + + + + + + + \ No newline at end of file diff --git a/dev/lobby-frontend/impressum.html b/dev/lobby-frontend/impressum.html new file mode 100644 index 0000000..25b8522 --- /dev/null +++ b/dev/lobby-frontend/impressum.html @@ -0,0 +1,107 @@ + + + + + + Void-Genesis | Rechtliches + + + + + + + + + + + \ No newline at end of file diff --git a/dev/lobby-frontend/index.html b/dev/lobby-frontend/index.html index 92a54b1..82c05b0 100644 --- a/dev/lobby-frontend/index.html +++ b/dev/lobby-frontend/index.html @@ -10,9 +10,15 @@
-
-
- +
+ +
+ + DEV-BUILD: Das Spiel befindet sich in der Entwicklung. + Die Registrierung ist derzeit deaktiviert (E-Mail-System pausiert). +
+ +
@@ -137,11 +143,12 @@ - -
+
diff --git a/dev/lobby-frontend/regeln.html b/dev/lobby-frontend/regeln.html new file mode 100644 index 0000000..8e41f6f --- /dev/null +++ b/dev/lobby-frontend/regeln.html @@ -0,0 +1,117 @@ + + + + + + Void-Genesis | Rechtliches + + + + + + + + + + \ No newline at end of file diff --git a/dev/lobby-frontend/src/css/auth.css b/dev/lobby-frontend/src/css/auth.css index da16dec..9ef1651 100644 --- a/dev/lobby-frontend/src/css/auth.css +++ b/dev/lobby-frontend/src/css/auth.css @@ -115,6 +115,17 @@ cursor: pointer; } +.checkbox-group a { + color: var(--color-cyan-bright); + text-decoration: none; /* Unterstrich entfernen für einen cleaneren Look */ + transition: text-shadow 0.2s ease, color 0.2s ease; +} + +.checkbox-group a:hover { + color: var(--color-text-main); + text-shadow: 0 0 8px var(--color-cyan-bright); +} + .checkbox-group input[type="checkbox"] { appearance: none; width: 18px; @@ -215,3 +226,42 @@ pointer-events: auto; transition: color 0.2s ease, text-shadow 0.2s ease; } + + + +#dev-warning-banner { + position: absolute; + top: 35px; /* Leichter Abstand zum oberen Bildschirmrand */ + left: 50%; + transform: translateX(-50%); /* Zentriert das Banner horizontal */ + + /* Optik: Roter, halbtransparenter Hintergrund mit rotem Rahmen */ + background: rgba(255, 68, 68, 0.3); + border: 1px solid var(--color-error); + box-shadow: 0 0 15px rgba(255, 68, 68, 0.8); /* Sanfter roter Glow */ + + color: var(--color-text-main); + padding: 12px 25px; + font-size: 14px; + font-family: var(--font-main); + text-align: center; + letter-spacing: 1px; + + /* Z-Index hoch ansetzen, damit es garantiert über allem anderen liegt */ + z-index: 100; + pointer-events: auto; /* Erlaubt das Markieren des Textes mit der Maus */ +} + +/* ---------------------------------------------------------------------- + * Hervorhebung des Warn-Icons innerhalb des Banners + * ---------------------------------------------------------------------- */ +#dev-warning-banner .warning-icon { + color: var(--color-error); + font-size: 16px; + margin-right: 5px; + text-shadow: 0 0 8px var(--color-error); +} + +#dev-warning-banner strong { + color: var(--color-error); +} \ No newline at end of file diff --git a/dev/lobby-frontend/src/i18n.js b/dev/lobby-frontend/src/i18n.js index 5032d5a..410d8b5 100644 --- a/dev/lobby-frontend/src/i18n.js +++ b/dev/lobby-frontend/src/i18n.js @@ -28,7 +28,7 @@ export const translations = { ph_otp: "6-stelliger Code", // --- Labels --- - lbl_agb: "Ich akzeptiere die AGB & Spielregeln", + lbl_agb: "Ich akzeptiere die AGB, Spielregeln & den Datenschutz", lbl_remember: "Angemeldet bleiben", // --- OTP Modus --- @@ -45,6 +45,8 @@ export const translations = { MSG_SECTOR_JOINED_SUCCESS: "Sektor erfolgreich beigetreten!", // --- Footer --- + link_agb: "AGB", + link_rules: "Spielregeln", link_imprint: "Impressum", link_privacy: "Datenschutz", @@ -93,8 +95,7 @@ export const translations = { ph_otp: "6-digit code", // --- Labels --- - lbl_agb: "I accept the Terms & Rules", - lbl_remember: "Keep me logged in", + lbl_agb: "I accept the Terms of Service, Rules & Privacy Policy", lbl_remember: "Keep me logged in", // --- OTP Modus --- txt_otp_instruction: "Please enter the 6-digit code from your e-mail.", @@ -110,6 +111,8 @@ export const translations = { MSG_SECTOR_JOINED_SUCCESS: "Successfully joined the sector!", // --- Footer --- + link_agb: "Terms of Service", + link_rules: "Game Rules", link_imprint: "Imprint", link_privacy: "Privacy Policy", diff --git a/dev/lobby-frontend/src/ui/dropdowns.js b/dev/lobby-frontend/src/ui/dropdowns.js index acb7a01..317ff42 100644 --- a/dev/lobby-frontend/src/ui/dropdowns.js +++ b/dev/lobby-frontend/src/ui/dropdowns.js @@ -8,7 +8,7 @@ export function updateTranslations() { const elements = document.querySelectorAll('[data-i18n]'); elements.forEach(el => { const key = el.getAttribute('data-i18n'); - el.textContent = t(key); + el.innerHTML = t(key); }); }