Charte graphique SchotzIAD : logo, favicon, palette de couleurs
Intègre l'identité visuelle officielle (planche fournie) : - Assets ajoutés (frontend/src/assets/images/) : logo-icon, logo-carre, logo-horizontal (réservé aux PDF, non encore câblé), favicon. - Favicon : src/favicon.ico régénéré depuis favicon.png (16/32/48, via Pillow) pour remplacer l'icône Angular par défaut ; PNG référencé en priorité dans index.html avec cache-busting (?v=) pour contourner le cache favicon des navigateurs Chromium (Chrome/Brave). - Barre de navigation : logo-icon en tête (fond blanc localisé pour ressortir sur l'anthracite), couleurs de charte (fond anthracite, lien actif bleu IAD, survol orange). - Pages d'authentification (login, register, forgot-password, reset-password) : logo carré centré au-dessus du formulaire, boutons en bleu IAD. - Palette officielle en variables CSS globales (styles.scss) : --couleur-orange, --couleur-bleu, --couleur-anthracite, --couleur-gris-clair (+ déclinaisons de survol). - Harmonisation des boutons d'action à fond bleu (texte) sur toute l'app : survol orange (véhicules, profil, barème, montants réglés, résumés mensuel/ annuel, onboarding, formulaire de trajet, dialog de confirmation, carte). Exclusions volontaires : boutons rouges (suppression), boutons à icône, boutons secondaires à fond blanc, indicateurs d'état sélectionné/actif. Specs : design.md complété (section Charte graphique : palette, convention de survol, rôle de chaque asset).
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
<!-- Coquille applicative : barre de navigation globale + contenu routé. -->
|
||||
<nav class="nav-bar" aria-label="Navigation principale">
|
||||
<a class="nav-bar__logo" routerLink="/consultation" aria-label="SchotzIAD — Accueil">
|
||||
<img src="assets/images/logo-icon.png" alt="" width="32" height="32" />
|
||||
</a>
|
||||
|
||||
<a class="nav-bar__lien" routerLink="/consultation" routerLinkActive="nav-bar__lien--actif">
|
||||
Trajets
|
||||
</a>
|
||||
|
||||
@@ -12,10 +12,30 @@
|
||||
align-items: center;
|
||||
gap: 0.25rem;
|
||||
padding: 0.5rem 1rem;
|
||||
background: #1f2937;
|
||||
border-bottom: 1px solid #111827;
|
||||
background: var(--couleur-anthracite);
|
||||
border-bottom: 1px solid #23282d;
|
||||
z-index: 500;
|
||||
|
||||
// Logo SchotzIAD en tête de barre (icône seule) : accès rapide à la consultation.
|
||||
// Fond blanc localisé pour faire ressortir le logo sur la barre anthracite.
|
||||
&__logo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0.25rem;
|
||||
margin-right: 0.5rem;
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
|
||||
img {
|
||||
display: block;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
opacity: 0.85;
|
||||
}
|
||||
}
|
||||
|
||||
&__lien {
|
||||
padding: 0.5rem 0.9rem;
|
||||
border-radius: 6px;
|
||||
@@ -26,12 +46,12 @@
|
||||
white-space: nowrap;
|
||||
|
||||
&:hover {
|
||||
background: #374151;
|
||||
background: var(--couleur-orange);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
&--actif {
|
||||
background: #2b6cb0;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<section class="forgot-password">
|
||||
<img class="login__logo" src="assets/images/logo-carre.png" alt="SchotzIAD — Mon activité, mon outil" width="180" height="145" />
|
||||
<h1>Mot de passe oublié</h1>
|
||||
|
||||
@if (envoye()) {
|
||||
|
||||
@@ -4,9 +4,16 @@
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.login__logo {
|
||||
display: block;
|
||||
margin: 0 auto 1rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.4rem;
|
||||
margin-bottom: 1rem;
|
||||
text-align: center;
|
||||
color: var(--couleur-anthracite);
|
||||
}
|
||||
|
||||
.intro {
|
||||
@@ -56,12 +63,17 @@ h1 {
|
||||
|
||||
.btn-principal {
|
||||
padding: 0.55rem 1.25rem;
|
||||
background: #1565c0;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
border: 1px solid #1565c0;
|
||||
border: 1px solid var(--couleur-bleu);
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
font-size: 0.95rem;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
background: var(--couleur-bleu-fonce);
|
||||
border-color: var(--couleur-bleu-fonce);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-principal:disabled {
|
||||
@@ -77,7 +89,7 @@ h1 {
|
||||
}
|
||||
|
||||
.liens a {
|
||||
color: #1565c0;
|
||||
color: var(--couleur-bleu);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<section class="login">
|
||||
<img class="login__logo" src="assets/images/logo-carre.png" alt="SchotzIAD — Mon activité, mon outil" width="180" height="145" />
|
||||
<h1>Connexion</h1>
|
||||
|
||||
<form [formGroup]="form" (ngSubmit)="seConnecter()" novalidate>
|
||||
|
||||
@@ -4,9 +4,16 @@
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.login__logo {
|
||||
display: block;
|
||||
margin: 0 auto 1rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.4rem;
|
||||
margin-bottom: 1rem;
|
||||
text-align: center;
|
||||
color: var(--couleur-anthracite);
|
||||
}
|
||||
|
||||
.champ {
|
||||
@@ -51,12 +58,17 @@ h1 {
|
||||
|
||||
.btn-principal {
|
||||
padding: 0.55rem 1.25rem;
|
||||
background: #1565c0;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
border: 1px solid #1565c0;
|
||||
border: 1px solid var(--couleur-bleu);
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
font-size: 0.95rem;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
background: var(--couleur-bleu-fonce);
|
||||
border-color: var(--couleur-bleu-fonce);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-principal:disabled {
|
||||
@@ -72,7 +84,7 @@ h1 {
|
||||
}
|
||||
|
||||
.liens a {
|
||||
color: #1565c0;
|
||||
color: var(--couleur-bleu);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<section class="login">
|
||||
<img class="login__logo" src="assets/images/logo-carre.png" alt="SchotzIAD — Mon activité, mon outil" width="180" height="145" />
|
||||
<h1>Créer un compte</h1>
|
||||
|
||||
<form [formGroup]="form" (ngSubmit)="sInscrire()" novalidate>
|
||||
|
||||
@@ -4,9 +4,16 @@
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.login__logo {
|
||||
display: block;
|
||||
margin: 0 auto 1rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.4rem;
|
||||
margin-bottom: 1rem;
|
||||
text-align: center;
|
||||
color: var(--couleur-anthracite);
|
||||
}
|
||||
|
||||
.champ {
|
||||
@@ -51,12 +58,17 @@ h1 {
|
||||
|
||||
.btn-principal {
|
||||
padding: 0.55rem 1.25rem;
|
||||
background: #1565c0;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
border: 1px solid #1565c0;
|
||||
border: 1px solid var(--couleur-bleu);
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
font-size: 0.95rem;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
background: var(--couleur-bleu-fonce);
|
||||
border-color: var(--couleur-bleu-fonce);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-principal:disabled {
|
||||
@@ -72,7 +84,7 @@ h1 {
|
||||
}
|
||||
|
||||
.liens a {
|
||||
color: #1565c0;
|
||||
color: var(--couleur-bleu);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<section class="reset-password">
|
||||
<img class="login__logo" src="assets/images/logo-carre.png" alt="SchotzIAD — Mon activité, mon outil" width="180" height="145" />
|
||||
<h1>Réinitialiser le mot de passe</h1>
|
||||
|
||||
@if (token() === null) {
|
||||
|
||||
@@ -4,9 +4,16 @@
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.login__logo {
|
||||
display: block;
|
||||
margin: 0 auto 1rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.4rem;
|
||||
margin-bottom: 1rem;
|
||||
text-align: center;
|
||||
color: var(--couleur-anthracite);
|
||||
}
|
||||
|
||||
.champ {
|
||||
@@ -51,12 +58,17 @@ h1 {
|
||||
|
||||
.btn-principal {
|
||||
padding: 0.55rem 1.25rem;
|
||||
background: #1565c0;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
border: 1px solid #1565c0;
|
||||
border: 1px solid var(--couleur-bleu);
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
font-size: 0.95rem;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
background: var(--couleur-bleu-fonce);
|
||||
border-color: var(--couleur-bleu-fonce);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-principal:disabled {
|
||||
@@ -72,7 +84,7 @@ h1 {
|
||||
}
|
||||
|
||||
.liens a {
|
||||
color: #1565c0;
|
||||
color: var(--couleur-bleu);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
||||
@@ -57,12 +57,17 @@ h2 {
|
||||
|
||||
.btn-principal {
|
||||
padding: 0.55rem 1.25rem;
|
||||
background: #1565c0;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
border: 1px solid #1565c0;
|
||||
border: 1px solid var(--couleur-bleu);
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
font-size: 0.95rem;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
background: var(--couleur-orange);
|
||||
border-color: var(--couleur-orange);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-principal:disabled {
|
||||
|
||||
@@ -62,12 +62,12 @@
|
||||
padding: 6px 16px;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
background: #1976d2;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
background: #1565c0;
|
||||
background: var(--couleur-orange);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,14 +101,14 @@
|
||||
padding: 0.5rem 1rem;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
background: #1976d2;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
font-size: 0.9rem;
|
||||
white-space: nowrap;
|
||||
|
||||
&:hover {
|
||||
background: #135ba1;
|
||||
background: var(--couleur-orange);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -43,12 +43,17 @@ h1 {
|
||||
|
||||
.btn-principal {
|
||||
padding: 0.55rem 1.25rem;
|
||||
background: #1565c0;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
border: 1px solid #1565c0;
|
||||
border: 1px solid var(--couleur-bleu);
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
font-size: 0.95rem;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
background: var(--couleur-orange);
|
||||
border-color: var(--couleur-orange);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-principal:disabled {
|
||||
|
||||
@@ -101,12 +101,17 @@
|
||||
|
||||
.btn-principal {
|
||||
padding: 0.55rem 1.25rem;
|
||||
background: #1565c0;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
border: 1px solid #1565c0;
|
||||
border: 1px solid var(--couleur-bleu);
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
font-size: 0.95rem;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
background: var(--couleur-orange);
|
||||
border-color: var(--couleur-orange);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-principal:disabled {
|
||||
|
||||
@@ -79,12 +79,17 @@ h1 {
|
||||
|
||||
.btn-principal {
|
||||
padding: 0.55rem 1.25rem;
|
||||
background: #1565c0;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
border: 1px solid #1565c0;
|
||||
border: 1px solid var(--couleur-bleu);
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
font-size: 0.95rem;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
background: var(--couleur-orange);
|
||||
border-color: var(--couleur-orange);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-principal:disabled {
|
||||
|
||||
@@ -48,9 +48,14 @@ h1 {
|
||||
}
|
||||
|
||||
.btn-principal {
|
||||
background: #1565c0;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
border: 1px solid #1565c0;
|
||||
border: 1px solid var(--couleur-bleu);
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
background: var(--couleur-orange);
|
||||
border-color: var(--couleur-orange);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-secondaire {
|
||||
|
||||
@@ -49,9 +49,14 @@ h1 {
|
||||
}
|
||||
|
||||
.btn-principal {
|
||||
background: #1565c0;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
border: 1px solid #1565c0;
|
||||
border: 1px solid var(--couleur-bleu);
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
background: var(--couleur-orange);
|
||||
border-color: var(--couleur-orange);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-secondaire {
|
||||
|
||||
@@ -195,11 +195,11 @@
|
||||
|
||||
.btn-primaire {
|
||||
border: none;
|
||||
background: #2b6cb0;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
background: #245a94;
|
||||
background: var(--couleur-orange);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -43,12 +43,17 @@ h2 {
|
||||
|
||||
.btn-principal {
|
||||
padding: 0.55rem 1.25rem;
|
||||
background: #1565c0;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
border: 1px solid #1565c0;
|
||||
border: 1px solid var(--couleur-bleu);
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
font-size: 0.95rem;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
background: var(--couleur-orange);
|
||||
border-color: var(--couleur-orange);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-principal:disabled {
|
||||
|
||||
@@ -55,13 +55,14 @@
|
||||
|
||||
.btn-confirmer {
|
||||
border: none;
|
||||
background: #2b6cb0;
|
||||
background: var(--couleur-bleu);
|
||||
color: #fff;
|
||||
|
||||
&:hover {
|
||||
background: #245a94;
|
||||
background: var(--couleur-orange);
|
||||
}
|
||||
|
||||
// Variante suppression : reste en rouge (non couverte par la règle de survol orange).
|
||||
&--danger {
|
||||
background: #d13438;
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 133 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 150 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 9.4 KiB |
+10
-3
@@ -1,11 +1,18 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>SchotzIAD KM Tracker</title>
|
||||
<title>SchotzIAD — Mon activité, mon outil</title>
|
||||
<base href="/">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
||||
<meta name="theme-color" content="#0074B8">
|
||||
<!-- Favicon : PNG net (128×128) prioritaire, .ico en repli pour les vieux navigateurs. -->
|
||||
<!-- Paramètre de version (?v=) pour forcer le navigateur à retélécharger le favicon
|
||||
après un changement (Chrome/Brave mettent le favicon en cache par origine,
|
||||
indépendamment du cache navigateur classique). Incrémenter si le favicon change. -->
|
||||
<link rel="icon" type="image/png" href="assets/images/favicon.png?v=2">
|
||||
<link rel="alternate icon" type="image/x-icon" href="favicon.ico?v=2">
|
||||
<link rel="apple-touch-icon" href="assets/images/favicon.png?v=2">
|
||||
</head>
|
||||
<body>
|
||||
<app-root></app-root>
|
||||
|
||||
@@ -1,3 +1,18 @@
|
||||
/* =====================================================================
|
||||
Charte graphique SchotzIAD — palette de couleurs officielle.
|
||||
Variables CSS globales réutilisables dans toute l'application.
|
||||
===================================================================== */
|
||||
:root {
|
||||
--couleur-orange: #F28C28; /* Orange SchotzIAD (accents, actions secondaires) */
|
||||
--couleur-bleu: #0074B8; /* Bleu IAD (couleur primaire : liens, boutons, en-têtes) */
|
||||
--couleur-anthracite: #343A40; /* Gris anthracite (texte, barre de navigation) */
|
||||
--couleur-gris-clair: #E7E9EA; /* Gris clair (fonds, bordures, séparateurs) */
|
||||
|
||||
/* Déclinaisons utilitaires (survol / états). */
|
||||
--couleur-bleu-fonce: #005b90;
|
||||
--couleur-orange-fonce: #d6761a;
|
||||
}
|
||||
|
||||
/* You can add global styles to this file, and also import other style files */
|
||||
|
||||
/* Reset global minimal : supprime la marge par défaut du body (sinon 100dvh + 8px
|
||||
|
||||
Reference in New Issue
Block a user