feat(auth): migrate frontend from username to email-only authentication
- Login page: email input replaces username field (type=email, name=email) - Login server action: reads email, uses i18n error for missing credentials - AccountSection: email input (type=email) replaces username text field - New user server action: sends email as required field, drops username - UsersListPanel: displays and searches by email instead of username - Admin edit user page: heading and delete confirm use email - Profile page: fullName fallback uses email, drops @username display - app.d.ts: email required on User, username removed - Generated API types: AppUser.email required, username removed; CreateUserRequest.email required, username removed - i18n: login_label_email, login_error_missing_credentials, admin_col_login updated (de/en/es) - errors.ts: MISSING_CREDENTIALS → login_error_missing_credentials Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -56,8 +56,9 @@
|
||||
"label_optional": "Optional",
|
||||
"label_required_fields": "Pflichtfelder",
|
||||
"login_heading": "Anmelden",
|
||||
"login_label_username": "Benutzername",
|
||||
"login_label_email": "E-Mail-Adresse",
|
||||
"login_label_password": "Passwort",
|
||||
"login_error_missing_credentials": "Bitte E-Mail-Adresse und Passwort eingeben.",
|
||||
"login_btn_submit": "Anmelden",
|
||||
"docs_search_placeholder": "Titel, Personen, Tags durchsuchen…",
|
||||
"docs_sort_label": "Sortierung",
|
||||
@@ -167,7 +168,7 @@
|
||||
"admin_tab_groups": "Gruppen",
|
||||
"admin_tab_tags": "Schlagworte",
|
||||
"admin_section_users": "Benutzerverwaltung",
|
||||
"admin_col_login": "Login",
|
||||
"admin_col_login": "E-Mail",
|
||||
"admin_col_groups": "Gruppen",
|
||||
"admin_col_password": "Passwort",
|
||||
"admin_multiselect_hint": "Strg+Klick für Auswahl",
|
||||
|
||||
@@ -56,8 +56,9 @@
|
||||
"label_optional": "Optional",
|
||||
"label_required_fields": "Required fields",
|
||||
"login_heading": "Sign in",
|
||||
"login_label_username": "Username",
|
||||
"login_label_email": "Email",
|
||||
"login_label_password": "Password",
|
||||
"login_error_missing_credentials": "Please enter your email address and password.",
|
||||
"login_btn_submit": "Sign in",
|
||||
"docs_search_placeholder": "Search title, people, tags…",
|
||||
"docs_sort_label": "Sort",
|
||||
@@ -167,7 +168,7 @@
|
||||
"admin_tab_groups": "Groups",
|
||||
"admin_tab_tags": "Tags",
|
||||
"admin_section_users": "User management",
|
||||
"admin_col_login": "Login",
|
||||
"admin_col_login": "Email",
|
||||
"admin_col_groups": "Groups",
|
||||
"admin_col_password": "Password",
|
||||
"admin_multiselect_hint": "Ctrl+Click to select",
|
||||
|
||||
@@ -56,8 +56,9 @@
|
||||
"label_optional": "Opcional",
|
||||
"label_required_fields": "Campos obligatorios",
|
||||
"login_heading": "Iniciar sesión",
|
||||
"login_label_username": "Usuario",
|
||||
"login_label_email": "Correo electrónico",
|
||||
"login_label_password": "Contraseña",
|
||||
"login_error_missing_credentials": "Por favor, introduzca su correo electrónico y contraseña.",
|
||||
"login_btn_submit": "Iniciar sesión",
|
||||
"docs_search_placeholder": "Buscar título, personas, etiquetas…",
|
||||
"docs_sort_label": "Ordenar",
|
||||
@@ -167,7 +168,7 @@
|
||||
"admin_tab_groups": "Grupos",
|
||||
"admin_tab_tags": "Etiquetas",
|
||||
"admin_section_users": "Gestión de usuarios",
|
||||
"admin_col_login": "Login",
|
||||
"admin_col_login": "Correo electrónico",
|
||||
"admin_col_groups": "Grupos",
|
||||
"admin_col_password": "Contraseña",
|
||||
"admin_multiselect_hint": "Ctrl+Clic para seleccionar",
|
||||
|
||||
Reference in New Issue
Block a user