From 3c15c122559624f7807c6f521cb5a493a8001dae Mon Sep 17 00:00:00 2001 From: thibaud-leclere Date: Mon, 30 Mar 2026 12:13:19 +0200 Subject: [PATCH] update theme --- .env => .env.dist | 1 + .gitignore | 1 + assets/styles/app.css | 332 +++++++++++------ config/packages/security.yaml | 1 + designs/sunrise-charte.md | 194 ++++++++++ designs/sunrise.html | 515 ++++++++++++++++++++++++++ docker-compose.override.yaml | 4 +- docker-compose.yaml | 6 +- templates/_navbar.html.twig | 9 + templates/base.html.twig | 5 +- templates/security/login.html.twig | 10 +- templates/security/register.html.twig | 8 +- 12 files changed, 966 insertions(+), 120 deletions(-) rename .env => .env.dist (99%) create mode 100644 designs/sunrise-charte.md create mode 100644 designs/sunrise.html diff --git a/.env b/.env.dist similarity index 99% rename from .env rename to .env.dist index 27933eb..8b76113 100644 --- a/.env +++ b/.env.dist @@ -11,3 +11,4 @@ MAILER_DSN=null://null TMDB_API_TOKEN= SERVER_NAME= + diff --git a/.gitignore b/.gitignore index facde75..2e271f0 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ /.env.local /.env.local.php /.env.*.local +/.env /config/secrets/*/*.decrypt.private.php /public/bundles/ /var/ diff --git a/assets/styles/app.css b/assets/styles/app.css index 90b165d..dc43633 100644 --- a/assets/styles/app.css +++ b/assets/styles/app.css @@ -1,152 +1,240 @@ -body { - background-color: skyblue; - font-family: 'Noto Sans', sans-serif; +/* ============================================================ + SUNRISE — Lumineux, éditorial, chaleureux + ============================================================ */ + +*, *::before, *::after { box-sizing: border-box; } + +:root { + --bg: #fef6ee; + --surface: #ffffff; + --surface-warm: #fff7ed; + --surface-tint: #ffedd5; + --orange: #ea580c; + --orange-mid: #f97316; + --orange-light: #fed7aa; + --text: #1c1917; + --text-muted: #78716c; + --text-faint: #a8a29e; + --border: #e8d5c0; + --border-warm: #fdba74; + --shadow-warm: rgba(180, 100, 30, 0.08); + --radius-sm: 6px; + --radius-md: 10px; + --radius-lg: 18px; } +body { + background-color: var(--bg); + font-family: 'Inter', sans-serif; + color: var(--text); + min-height: 100vh; + margin: 0; +} + +/* ── Game grid ── */ + #actors { - border-collapse: collapse; - margin: 40px auto; + border-collapse: separate; + border-spacing: 5px; + margin: 56px auto; } #actors td { - width: 32px; - height: 32px; + width: 38px; + height: 38px; text-align: center; vertical-align: middle; } .letter-input { - width: 32px; - height: 32px; + width: 38px; + height: 38px; text-align: center; - font-size: 16px; - font-weight: bold; - border: 2px solid #d1d5db; - border-radius: 4px; + font-family: 'Inter', sans-serif; + font-size: 15px; + font-weight: 700; + border: 2px solid var(--border); + border-radius: var(--radius-sm); text-transform: uppercase; padding: 0; - box-sizing: border-box; + background: var(--surface); + color: var(--text); + transition: border-color 0.15s, box-shadow 0.15s, background 0.15s; + box-shadow: 0 1px 3px var(--shadow-warm); } .letter-input:focus { outline: none; - border-color: #2563eb; + border-color: var(--orange); + box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.15); } .letter-highlighted { - background-color: #fecaca; - border-color: #dc2626; + background-color: var(--orange-light); + border-color: var(--orange); + color: var(--orange); } +/* ── Popover ── */ + .popover-trigger { width: 28px; height: 28px; border-radius: 50%; - border: 1px solid #d1d5db; - background: white; + border: 1.5px solid var(--border); + background: var(--surface); cursor: pointer; - font-size: 14px; - color: #6b7280; + font-size: 12px; + font-weight: 600; + color: var(--text-muted); + display: flex; + align-items: center; + justify-content: center; + transition: border-color 0.15s, color 0.15s, background 0.15s; + box-shadow: 0 1px 3px var(--shadow-warm); } .popover-trigger:hover { - background: #f3f4f6; + border-color: var(--orange); + color: var(--orange); + background: var(--surface-tint); } .actor-popover { - background: white; - border: 1px solid #d1d5db; - border-radius: 8px; - padding: 12px 16px; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius-md); + padding: 10px 16px; + box-shadow: 0 4px 20px var(--shadow-warm); z-index: 100; - font-size: 14px; + font-size: 13px; + color: var(--text); } +/* ── Auth pages ── */ + .auth-container { - max-width: 400px; + max-width: 420px; margin: 80px auto; - padding: 32px; - background: white; - border-radius: 8px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); + padding: 40px; + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + box-shadow: 0 4px 32px var(--shadow-warm); } .auth-container h1 { - margin: 0 0 24px; + font-family: 'Fraunces', serif; + font-size: 26px; + font-weight: 700; text-align: center; + margin: 0 0 28px; + letter-spacing: -0.3px; + color: var(--text); } .auth-container label { display: block; - margin-bottom: 4px; + margin-bottom: 6px; + font-size: 13px; font-weight: 600; + color: var(--text); } .auth-container input[type="email"], .auth-container input[type="password"] { width: 100%; - padding: 8px 12px; + padding: 11px 14px; margin-bottom: 16px; - border: 1px solid #ccc; - border-radius: 4px; - font-size: 16px; - box-sizing: border-box; + border: 1.5px solid var(--border); + border-radius: var(--radius-sm); + font-size: 15px; + font-family: 'Inter', sans-serif; + background: var(--surface-warm); + color: var(--text); + transition: border-color 0.15s, box-shadow 0.15s; +} + +.auth-container input[type="email"]:focus, +.auth-container input[type="password"]:focus { + outline: none; + border-color: var(--orange); + box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.12); } .auth-container button[type="submit"] { width: 100%; - padding: 10px; - background: #2563eb; + padding: 12px; + background: var(--orange); color: white; border: none; - border-radius: 4px; - font-size: 16px; + border-radius: 100px; + font-family: 'Inter', sans-serif; + font-size: 15px; + font-weight: 700; cursor: pointer; + transition: background 0.2s, transform 0.2s, box-shadow 0.2s; } .auth-container button[type="submit"]:hover { - background: #1d4ed8; + background: var(--orange-mid); + transform: translateY(-1px); + box-shadow: 0 6px 20px rgba(234, 88, 12, 0.3); } .auth-error { background: #fef2f2; color: #dc2626; padding: 12px; - border-radius: 4px; + border-radius: var(--radius-sm); margin-bottom: 16px; + font-size: 14px; } .auth-link { text-align: center; - margin-top: 16px; + margin-top: 20px; + font-size: 13px; + color: var(--text-muted); } .auth-link a { - color: #2563eb; + color: var(--orange); + font-weight: 600; + text-decoration: none; } -/* Navbar */ +.auth-link a:hover { + text-decoration: underline; +} + +/* ── Navbar ── */ + .navbar { display: flex; justify-content: space-between; align-items: center; - padding: 8px 24px; - background: white; - box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); + padding: 0 40px; + height: 64px; + background: var(--surface); + border-bottom: 1px solid var(--border); + box-shadow: 0 1px 0 var(--border), 0 2px 12px var(--shadow-warm); } .navbar-brand { + font-family: 'Fraunces', serif; font-weight: 700; - font-size: 18px; - color: #1f2937; + font-size: 22px; + letter-spacing: -0.3px; + color: var(--orange); text-decoration: none; } +.navbar-left, .navbar-right { display: flex; align-items: center; - gap: 8px; + gap: 6px; } .navbar-item { @@ -159,24 +247,27 @@ body { cursor: pointer; padding: 8px; border-radius: 50%; - color: #4b5563; - position: relative; + color: var(--text-muted); display: flex; align-items: center; + position: relative; + transition: background 0.15s, color 0.15s; } .navbar-icon:hover { - background: #f3f4f6; + background: var(--surface-tint); + color: var(--orange); } -/* Badge */ +/* ── Badge ── */ + .badge { position: absolute; top: 2px; right: 2px; - background: #dc2626; + background: var(--orange); color: white; - font-size: 11px; + font-size: 10px; font-weight: 700; min-width: 16px; height: 16px; @@ -187,62 +278,70 @@ body { padding: 0 4px; } -/* Dropdown */ +/* ── Dropdown ── */ + .dropdown-menu { position: absolute; - top: 100%; + top: calc(100% + 8px); right: 0; - background: white; - border: 1px solid #e5e7eb; - border-radius: 8px; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); - min-width: 200px; + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius-md); + box-shadow: 0 8px 32px var(--shadow-warm), 0 2px 8px rgba(0, 0, 0, 0.06); + min-width: 210px; z-index: 200; - padding: 4px 0; - margin-top: 4px; + padding: 6px; } .dropdown-header { - padding: 8px 16px; + padding: 8px 12px; + font-size: 11px; font-weight: 600; - font-size: 13px; - color: #6b7280; - border-bottom: 1px solid #e5e7eb; + color: var(--text-faint); + text-transform: uppercase; + letter-spacing: 0.8px; + border-bottom: 1px solid var(--border); + margin-bottom: 4px; } .dropdown-item { display: block; width: 100%; - padding: 8px 16px; + padding: 9px 12px; text-align: left; background: none; border: none; cursor: pointer; + font-family: 'Inter', sans-serif; font-size: 14px; - color: #1f2937; + color: var(--text); text-decoration: none; + border-radius: var(--radius-sm); + transition: background 0.12s, color 0.12s; } .dropdown-item:hover { - background: #f3f4f6; + background: var(--surface-tint); + color: var(--orange); } .dropdown-empty { padding: 12px 16px; - color: #9ca3af; + color: var(--text-faint); font-size: 13px; margin: 0; } -/* Notifications */ +/* ── Notifications ── */ + .notifications-list { max-height: 300px; overflow-y: auto; } .notification-item { - padding: 8px 16px; - border-bottom: 1px solid #f3f4f6; + padding: 10px 16px; + border-bottom: 1px solid var(--surface-warm); } .notification-item:last-child { @@ -250,25 +349,26 @@ body { } .notification-item p { - margin: 0 0 2px; + margin: 0 0 3px; font-size: 13px; - color: #1f2937; + color: var(--text); } .notification-item time { font-size: 11px; - color: #9ca3af; + color: var(--text-faint); } .notification-unread { - background: #eff6ff; + background: var(--surface-warm); } -/* Modal */ +/* ── Modal ── */ + .modal-overlay { position: fixed; inset: 0; - background: rgba(0, 0, 0, 0.5); + background: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; @@ -280,78 +380,100 @@ body { } .modal { - background: white; - border-radius: 12px; + background: var(--surface); + border-radius: var(--radius-lg); width: 100%; max-width: 480px; - box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2); + box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12); } .modal-header { display: flex; justify-content: space-between; align-items: center; - padding: 16px 24px; - border-bottom: 1px solid #e5e7eb; + padding: 20px 28px; + border-bottom: 1px solid var(--border); } .modal-header h2 { margin: 0; font-size: 18px; + font-weight: 700; + color: var(--text); } .modal-close { background: none; border: none; - font-size: 24px; + font-size: 22px; cursor: pointer; - color: #6b7280; + color: var(--text-muted); padding: 0; line-height: 1; + transition: color 0.12s; +} + +.modal-close:hover { + color: var(--text); } .modal-body { - padding: 24px; + padding: 24px 28px; } .modal-body p { margin: 0 0 16px; - color: #4b5563; + color: var(--text-muted); font-size: 14px; } .modal-footer { - padding: 16px 24px; - border-top: 1px solid #e5e7eb; + padding: 16px 28px; + border-top: 1px solid var(--border); text-align: right; } +/* ── Buttons ── */ + .btn { - padding: 8px 20px; + padding: 9px 20px; border: none; - border-radius: 6px; + border-radius: 100px; + font-family: 'Inter', sans-serif; font-size: 14px; + font-weight: 600; cursor: pointer; + text-decoration: none; + display: inline-flex; + align-items: center; + transition: background 0.2s, transform 0.2s, box-shadow 0.2s; } .btn-primary { - background: #2563eb; + background: var(--orange); color: white; } .btn-primary:hover { - background: #1d4ed8; + background: var(--orange-mid); + transform: translateY(-1px); + box-shadow: 0 4px 16px rgba(234, 88, 12, 0.25); } .btn-primary:disabled { - background: #93c5fd; + background: var(--orange-light); + color: var(--text-muted); cursor: not-allowed; + transform: none; + box-shadow: none; } +/* ── Modal feedback ── */ + .modal-feedback { margin-top: 12px; - padding: 8px 12px; - border-radius: 4px; + padding: 10px 14px; + border-radius: var(--radius-sm); font-size: 13px; } diff --git a/config/packages/security.yaml b/config/packages/security.yaml index abbef31..5b90551 100644 --- a/config/packages/security.yaml +++ b/config/packages/security.yaml @@ -25,6 +25,7 @@ security: access_control: - { path: ^/login, roles: PUBLIC_ACCESS } - { path: ^/register, roles: PUBLIC_ACCESS } + - { path: ^/$, roles: PUBLIC_ACCESS } - { path: ^/, roles: ROLE_USER } when@test: diff --git a/designs/sunrise-charte.md b/designs/sunrise-charte.md new file mode 100644 index 0000000..fb829af --- /dev/null +++ b/designs/sunrise-charte.md @@ -0,0 +1,194 @@ +# Charte graphique — Sunrise + +Thème lumineux, éditorial, chaleureux. Inspiré des tons ambrés du petit matin. +Sobre sans être froid, accessible sans être infantile. + +--- + +## Couleurs + +### Palette principale + +| Token | Hex | Usage | +|---------------|-----------|--------------------------------------------| +| `--bg` | `#fef6ee` | Fond de page — crème orangé très doux | +| `--surface` | `#ffffff` | Cartes, navbar, modals | +| `--surface-warm` | `#fff7ed` | Fond de champ input, surfaces secondaires | +| `--surface-tint` | `#ffedd5` | Hover sur items de dropdown, fond actif | + +### Orange + +| Token | Hex | Usage | +|------------------|-----------|-------------------------------------------------| +| `--orange` | `#ea580c` | Couleur principale — boutons, liens, logo | +| `--orange-mid` | `#f97316` | Hover sur boutons primaires | +| `--orange-light` | `#fed7aa` | Fond cellule surlignée (grille de jeu) | +| `--orange-pale` | `#fff7ed` | Fond très pâle — identique à `--surface-warm` | + +> La couleur d'accentuation unique est l'orange `#ea580c` (orange-600 Tailwind). +> Ne pas introduire de seconde couleur d'accentuation. + +### Texte + +| Token | Hex | Usage | +|-----------------|-----------|-------------------------------------------| +| `--text` | `#1c1917` | Corps de texte, labels, titres | +| `--text-muted` | `#78716c` | Texte secondaire, descriptions | +| `--text-faint` | `#a8a29e` | Placeholders, métadonnées, separateurs | + +### Bordures et ombres + +| Token | Valeur | Usage | +|------------------|---------------------------------|-----------------------------------| +| `--border` | `#e8d5c0` | Bordures standard — chaudes | +| `--border-warm` | `#fdba74` | Bordure cellule active (grille) | +| `--shadow-warm` | `rgba(180, 100, 30, 0.08)` | Ombre douce sur cartes et navbar | + +--- + +## Typographie + +### Polices + +| Rôle | Famille | Google Fonts | +|---------------|------------------|-------------------------------------| +| Titres / Logo | **Fraunces** | Sérif optique, poids 400 et 700 | +| Corps | **Inter** | Sans-serif, poids 400, 500, 600, 700 | + +```html + +``` + +### Hiérarchie + +| Niveau | Police | Taille | Poids | Utilisation | +|------------|------------|--------|-------|--------------------------------------| +| H1 page | Fraunces | 26px | 700 | Titre de page (login, register) | +| H2 modal | Inter | 18px | 700 | Titres de modals | +| Logo | Fraunces | 22px | 700 | Navbar brand | +| Corps | Inter | 15px | 400 | Texte courant, inputs | +| Label | Inter | 13px | 600 | Labels de formulaire | +| Secondaire | Inter | 14px | 400 | Items dropdown, descriptions | +| Micro | Inter | 11–12px| 600 | Badges, headers dropdown, métadonnées| + +### Règles typographiques + +- Titres Fraunces : `letter-spacing: -0.3px` pour un rendu serré et élégant +- Pas de `text-transform: uppercase` sauf pour des labels discrets (taille ≤ 12px, spacing ≥ 0.5px) +- Interlignage corps : `1.5` minimum +- Taille minimale affichée : `11px` + +--- + +## Rayons (Border radius) + +| Token | Valeur | Usage | +|---------------|--------|----------------------------------------------| +| `--radius-sm` | `6px` | Inputs, cellules grille, petits éléments | +| `--radius-md` | `10px` | Dropdowns, popovers, tooltips | +| `--radius-lg` | `18px` | Cartes auth, modals | +| Pilule | `100px`| Bouton primaire, bouton submit | + +> Le bouton primaire utilise systématiquement `border-radius: 100px` (forme pilule). +> Les champs de saisie utilisent `--radius-sm` (6px), jamais la pilule. + +--- + +## Composants + +### Bouton primaire + +```css +background: #ea580c; +color: #ffffff; +border-radius: 100px; +padding: 9px 20px; +font-size: 14px; +font-weight: 600; +``` + +**Hover :** `background: #f97316` + `transform: translateY(-1px)` + `box-shadow: 0 4px 16px rgba(234,88,12,0.25)` + +### Navbar + +- Hauteur : `64px` +- Fond : `#ffffff` +- Bordure basse : `1px solid #e8d5c0` +- Ombre : `0 2px 12px rgba(180,100,30,0.08)` +- Padding horizontal : `40px` +- Logo (Fraunces, 22px, `#ea580c`) à gauche +- Actions à droite — icônes rondes (`border-radius: 50%`), hover sur fond `--surface-tint` + +### Champ de formulaire + +```css +background: #fff7ed; +border: 1.5px solid #e8d5c0; +border-radius: 6px; +padding: 11px 14px; +font-size: 15px; +``` + +**Focus :** `border-color: #ea580c` + `box-shadow: 0 0 0 3px rgba(234,88,12,0.12)` + +### Cellule de grille (lettre) + +- Taille : `38 × 38px` +- Fond normal : `#ffffff`, bordure `#e8d5c0` +- Fond rempli : `#fff7ed`, bordure `#fdba74` +- **Surlignée** (lettre cible) : fond `#fed7aa`, bordure `#ea580c`, texte `#ea580c` +- Focus : bordure `#ea580c` + ring `rgba(234,88,12,0.15)` +- Espacement entre cellules (`border-spacing`) : `5px` + +### Dropdown + +- Fond : `#ffffff` +- Bordure : `1px solid #e8d5c0` +- Rayon : `10px` +- Ombre : `0 8px 32px rgba(180,100,30,0.08), 0 2px 8px rgba(0,0,0,0.06)` +- Item hover : fond `#ffedd5`, couleur `#ea580c` +- Header : `11px`, uppercase, `#a8a29e`, séparateur bas + +### Badge notification + +```css +background: #ea580c; +color: #ffffff; +border-radius: 8px; +font-size: 10px; +font-weight: 700; +min-width: 16px; +height: 16px; +``` + +### Modal + +- Fond : `#ffffff` +- Rayon : `12px` (légèrement plus petit que `--radius-lg` pour la hiérarchie visuelle) +- Ombre : `0 8px 24px rgba(0,0,0,0.12)` +- Overlay : `rgba(0,0,0,0.4)` + +--- + +## Ombres + +Toutes les ombres sont **chaudes** (teinte orange-brun), jamais neutres grises. + +| Niveau | Valeur CSS | +|--------------|------------------------------------------------------------------| +| Légère | `0 1px 3px rgba(180,100,30,0.08)` | +| Navbar | `0 2px 12px rgba(180,100,30,0.08)` | +| Carte | `0 4px 32px rgba(180,100,30,0.08)` | +| Dropdown | `0 8px 32px rgba(180,100,30,0.08), 0 2px 8px rgba(0,0,0,0.06)` | +| Bouton hover | `0 4px 16px rgba(234,88,12,0.25)` | + +--- + +## Règles d'usage + +1. **Orange réservé à l'accentuation.** Ne pas l'utiliser pour du texte courant de longue lecture. +2. **Fond de page ≠ blanc.** Toujours `#fef6ee` pour le fond, `#ffffff` pour les surfaces élevées (cartes, navbar). +3. **Ombres chaudes uniquement.** Aucune ombre `rgba(0,0,0,X)` seule sur des surfaces visibles — toujours teintée. +4. **Bouton primaire = pilule.** Boutons destructifs ou secondaires peuvent utiliser `--radius-sm`. +5. **Fraunces uniquement pour les titres de page et le logo.** Pas dans le corps, pas dans les labels. +6. **Pas de couleur rouge** pour les erreurs — utiliser `#b45309` (ambre foncé) ou `#dc2626` uniquement pour les messages d'erreur critiques, jamais comme couleur d'interface. diff --git a/designs/sunrise.html b/designs/sunrise.html new file mode 100644 index 0000000..55f87f5 --- /dev/null +++ b/designs/sunrise.html @@ -0,0 +1,515 @@ + + + + + +Actorle — Design "Sunrise" (lumineux, éditorial) + + + + + + + + + + +
+
Navbar — non connecté
+ +
+ + +
+
Menu utilisateur
+ +
+ + +
+
Grille de jeu
+
+

Trouvez l'acteur — 4 indices

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+
Formulaire de connexion
+
+

Bon retour

+

Connectez-vous pour suivre vos scores

+ + + + + + +
+
+ +
+ + + diff --git a/docker-compose.override.yaml b/docker-compose.override.yaml index f989001..08b6864 100644 --- a/docker-compose.override.yaml +++ b/docker-compose.override.yaml @@ -10,7 +10,7 @@ services: - .:/app - vendor:/app/vendor ports: - - "80:80" + - "${PORT_80:-80}:80" database: ports: @@ -27,7 +27,7 @@ services: - vendor:/app/vendor - node_modules:/app/node_modules ports: - - "5173:5173" + - "${PORT_5173:-5173}:5173" depends_on: - app diff --git a/docker-compose.yaml b/docker-compose.yaml index b544e5e..fd2ec7b 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -8,9 +8,9 @@ services: node-build: docker/node image: git.lclr.dev/thibaud-lclr/ltbxd-actorle/app:latest ports: - - "80:80" - - "443:443" - - "443:443/udp" + - "${PORT_80:-80}:80" + - "${PORT_443:-443}:443" + - "${PORT_443:-443}:443/udp" volumes: - caddy_data:/data - caddy_config:/config diff --git a/templates/_navbar.html.twig b/templates/_navbar.html.twig index 7379582..84fdc47 100644 --- a/templates/_navbar.html.twig +++ b/templates/_navbar.html.twig @@ -58,4 +58,13 @@ +{% else %} + {% endif %} diff --git a/templates/base.html.twig b/templates/base.html.twig index 3e0085b..fcf4e8a 100644 --- a/templates/base.html.twig +++ b/templates/base.html.twig @@ -2,8 +2,11 @@ - {% block title %}Welcome!{% endblock %} + {% block title %}Actorle{% endblock %} + + + {% block stylesheets %} {{ vite_entry_link_tags('app') }} {% endblock %} diff --git a/templates/security/login.html.twig b/templates/security/login.html.twig index 0f06959..bd41c1d 100644 --- a/templates/security/login.html.twig +++ b/templates/security/login.html.twig @@ -1,10 +1,10 @@ {% extends 'base.html.twig' %} -{% block title %}Log in{% endblock %} +{% block title %}Connexion — Actorle{% endblock %} {% block body %}
-

Log in

+

Se connecter

{% if error %}
{{ error.messageKey|trans(error.messageData, 'security') }}
@@ -14,14 +14,14 @@ - + - + - +
{% endblock %} diff --git a/templates/security/register.html.twig b/templates/security/register.html.twig index 4dac67a..0e9694e 100644 --- a/templates/security/register.html.twig +++ b/templates/security/register.html.twig @@ -1,19 +1,19 @@ {% extends 'base.html.twig' %} -{% block title %}Register{% endblock %} +{% block title %}Inscription — Actorle{% endblock %} {% block body %}
-

Register

+

Créer un compte

{{ form_start(registrationForm) }} {{ form_row(registrationForm.email) }} {{ form_row(registrationForm.plainPassword.first) }} {{ form_row(registrationForm.plainPassword.second) }} - + {{ form_end(registrationForm) }} - +
{% endblock %}