From ab3bf675b972b18ea3b379a2539f5040c71cb6f0 Mon Sep 17 00:00:00 2001 From: qcigano Date: Mon, 3 Aug 2026 04:33:12 +0200 Subject: [PATCH] Login-Seite professionalisiert: Social-Login-Optionen, Passwort-Toggle, DSGVO-Hinweis MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nach Recherche zu üblichen Anmelde-Standards bei deutschen Online-Shops: Ergänzt Social-Login-Buttons für Google, Apple und PayPal (PayPal explizit wegen seiner Marktdominanz bei Zahlungen in DE/DACH), da Social Login Registrierung/Login deutlich beschleunigt und laut Studien die Conversion spürbar erhöht. Die Buttons sind noch nicht funktional (kein OAuth ohne eigenes Backend) — ein Klick zeigt stattdessen ehrlich einen Phase-2- Hinweis, statt eine Anmeldung vorzutäuschen. Zusätzlich: Passwort-Sichtbarkeits-Toggle (Augen-Icon, eine der wirkungsvollsten Login-UX-Verbesserungen laut UX-Recherche), "Angemeldet bleiben"-Checkbox, sowie ein DSGVO-konformer Hinweis mit Link zur Datenschutzerklärung unterhalb des Formulars. Gastbestellung ("Neu hier?") war als gleichwertige Alternative schon vorhanden und bleibt bestehen — Gastbestellung gilt laut EDPB-Empfehlung als Standard neben der freiwilligen Registrierung. Co-Authored-By: Claude Sonnet 5 --- src/i18n/ui.ts | 28 +++++++++++++ src/pages/ch/konto/index.astro | 77 +++++++++++++++++++++++++++++++++- src/pages/en/konto/index.astro | 77 +++++++++++++++++++++++++++++++++- src/pages/fr/konto/index.astro | 77 +++++++++++++++++++++++++++++++++- src/pages/konto/index.astro | 77 +++++++++++++++++++++++++++++++++- src/styles/global.css | 65 ++++++++++++++++++++++++++++ 6 files changed, 393 insertions(+), 8 deletions(-) diff --git a/src/i18n/ui.ts b/src/i18n/ui.ts index f5d141d..24f76e2 100644 --- a/src/i18n/ui.ts +++ b/src/i18n/ui.ts @@ -208,6 +208,13 @@ export const ui = { newTitle: "Neu hier?", newText: "Lege ein Konto an, um Bestellhistorie, Wunschliste und Sendungsverfolgung an einem Ort zu haben – oder bestelle einfach als Gast, ganz ohne Konto.", guestButton: "Als Gast weiter einkaufen", loginError: "Bitte gib eine E-Mail-Adresse ein.", + socialHeading: "Schneller anmelden mit", + socialGoogle: "Mit Google anmelden", socialApple: "Mit Apple anmelden", socialPaypal: "Mit PayPal anmelden", + socialComingSoon: "Kommt in Phase 2: Sobald die echte Konto-Anbindung steht, kannst du dich hier direkt anmelden — ganz ohne neues Passwort.", + orDivider: "oder mit E-Mail", + showPassword: "Passwort anzeigen", hidePassword: "Passwort verbergen", + rememberMe: "Angemeldet bleiben", + consentPrefix: "Mit der Anmeldung akzeptierst du unsere", consentLink: "Datenschutzerklärung", consentSuffix: ".", }, accountDash: { eyebrow: "Mein Konto", greeting: (name: string) => `Hallo ${name} 🩵`, lead: "Schön, dass du wieder da bist. Hier findest du alle deine Bestellungen, deine Wunschliste und deine Daten auf einen Blick.", @@ -429,6 +436,13 @@ export const ui = { newTitle: "New here?", newText: "Create an account to keep order history, wishlist and tracking in one place – or simply check out as a guest, no account needed.", guestButton: "Continue shopping as guest", loginError: "Please enter an email address.", + socialHeading: "Sign in faster with", + socialGoogle: "Sign in with Google", socialApple: "Sign in with Apple", socialPaypal: "Sign in with PayPal", + socialComingSoon: "Coming in Phase 2: once the real account backend is live, you'll be able to sign in here directly — no new password needed.", + orDivider: "or with email", + showPassword: "Show password", hidePassword: "Hide password", + rememberMe: "Keep me signed in", + consentPrefix: "By signing in you accept our", consentLink: "privacy policy", consentSuffix: ".", }, accountDash: { eyebrow: "My Account", greeting: (name: string) => `Hello ${name} 🩵`, lead: "Good to see you again. Here you'll find all your orders, your wishlist and your details at a glance.", @@ -650,6 +664,13 @@ export const ui = { newTitle: "Neu da?", newText: "Leg es Konto a, für Bstellhistorie, Wunschlischte und Sändigsverfolgig a einem Ort z'ha – oder bstell eifach als Gast, ganz ohni Konto.", guestButton: "Als Gast wyter yichaufe", loginError: "Bitte gib e E-Mail-Adrässe i.", + socialHeading: "Schnäller aamälde mit", + socialGoogle: "Mit Google aamälde", socialApple: "Mit Apple aamälde", socialPaypal: "Mit PayPal aamälde", + socialComingSoon: "Chunnt i Phase 2: Sobald d'echti Konto-Aabindig staht, chasch di da direkt aamälde — ganz ohni nöis Passwort.", + orDivider: "oder mit E-Mail", + showPassword: "Passwort azeige", hidePassword: "Passwort verstecke", + rememberMe: "Aagmäldet bliebe", + consentPrefix: "Mit dr Aamäldig akzeptiersch üsi", consentLink: "Datenschutzerklärig", consentSuffix: ".", }, accountDash: { eyebrow: "Mis Konto", greeting: (name: string) => `Hoi ${name} 🩵`, lead: "Schön, bisch wieder da. Da findsch alli dini Bstellige, dini Wunschlischte und dini Date uf ein Blick.", @@ -871,6 +892,13 @@ export const ui = { newTitle: "Nouveau ici ?", newText: "Créez un compte pour retrouver l'historique des commandes, la liste de souhaits et le suivi au même endroit – ou commandez simplement en tant qu'invité, sans compte.", guestButton: "Continuer mes achats en tant qu'invité", loginError: "Veuillez saisir une adresse e-mail.", + socialHeading: "Connexion plus rapide avec", + socialGoogle: "Se connecter avec Google", socialApple: "Se connecter avec Apple", socialPaypal: "Se connecter avec PayPal", + socialComingSoon: "Disponible en phase 2 : dès que la vraie connexion au compte sera en place, vous pourrez vous connecter directement ici — sans nouveau mot de passe.", + orDivider: "ou avec e-mail", + showPassword: "Afficher le mot de passe", hidePassword: "Masquer le mot de passe", + rememberMe: "Rester connecté(e)", + consentPrefix: "En vous connectant, vous acceptez notre", consentLink: "politique de confidentialité", consentSuffix: ".", }, accountDash: { eyebrow: "Mon compte", greeting: (name: string) => `Bonjour ${name} 🩵`, lead: "Ravie de vous revoir. Retrouvez ici toutes vos commandes, votre liste de souhaits et vos données en un coup d'œil.", diff --git a/src/pages/ch/konto/index.astro b/src/pages/ch/konto/index.astro index 73c5b2f..f8f2b8b 100644 --- a/src/pages/ch/konto/index.astro +++ b/src/pages/ch/konto/index.astro @@ -19,11 +19,60 @@ const t = useTranslations(lang);