Checkpoint: Logo Itinova affiché en haut de la page Login, mention "powered by" avec logo Santinova en bas. Les deux images sont hébergées sur le CDN webdev.

This commit is contained in:
Manus
2026-03-20 09:09:23 -04:00
parent 37096bc83b
commit 8dc248db6a
2 changed files with 22 additions and 8 deletions

View File

@@ -5,9 +5,12 @@ import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input"; import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label"; import { Label } from "@/components/ui/label";
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
import { FileText, Eye, EyeOff, Loader2, Shield } from "lucide-react"; import { Eye, EyeOff, Loader2, Shield } from "lucide-react";
import { toast } from "sonner"; import { toast } from "sonner";
const ITINOVA_LOGO = "https://d2xsxph8kpxj0f.cloudfront.net/310519663070627318/VepzDyqR8YkJNcqpZ729Bw/itinova-logo_8e653b24.jpg";
const SANTINOVA_LOGO = "https://d2xsxph8kpxj0f.cloudfront.net/310519663070627318/VepzDyqR8YkJNcqpZ729Bw/santinova-logo_b8de54c4.webp";
export default function Login() { export default function Login() {
const [email, setEmail] = useState(""); const [email, setEmail] = useState("");
const [password, setPassword] = useState(""); const [password, setPassword] = useState("");
@@ -40,10 +43,14 @@ export default function Login() {
</div> </div>
<div className="relative w-full max-w-md"> <div className="relative w-full max-w-md">
{/* Logo et titre */} {/* Logo Itinova */}
<div className="text-center mb-8"> <div className="text-center mb-8">
<div className="inline-flex items-center justify-center w-16 h-16 rounded-2xl bg-primary shadow-lg mb-4"> <div className="flex justify-center mb-4">
<FileText size={28} className="text-primary-foreground" /> <img
src={ITINOVA_LOGO}
alt="Itinova"
className="h-20 w-auto object-contain"
/>
</div> </div>
<h1 className="text-2xl font-bold text-foreground">Veille Réglementaire</h1> <h1 className="text-2xl font-bold text-foreground">Veille Réglementaire</h1>
<p className="text-muted-foreground mt-1 text-sm">Direction des Opérations Itinova</p> <p className="text-muted-foreground mt-1 text-sm">Direction des Opérations Itinova</p>
@@ -69,7 +76,7 @@ export default function Login() {
placeholder="Identifiant ou e-mail" placeholder="Identifiant ou e-mail"
value={email} value={email}
onChange={(e) => setEmail(e.target.value)} onChange={(e) => setEmail(e.target.value)}
autoComplete="email" autoComplete="username"
required required
className="h-11" className="h-11"
/> />
@@ -116,9 +123,15 @@ export default function Login() {
</CardContent> </CardContent>
</Card> </Card>
<p className="text-center text-xs text-muted-foreground mt-6"> {/* Powered by Santinova */}
© {new Date().getFullYear()} Itinova Application interne <div className="flex flex-col items-center mt-6 gap-1">
</p> <p className="text-xs text-muted-foreground">powered by</p>
<img
src={SANTINOVA_LOGO}
alt="Santinova"
className="h-14 w-auto object-contain opacity-85 hover:opacity-100 transition-opacity"
/>
</div>
</div> </div>
</div> </div>
); );

View File

@@ -45,3 +45,4 @@
- [x] Vignettes Veille : coloriser les étiquettes Niveau (violet), Territoire (teal) et Date (orange) - [x] Vignettes Veille : coloriser les étiquettes Niveau (violet), Territoire (teal) et Date (orange)
- [x] Page Login : supprimer l'encart affichant les identifiants du compte par défaut - [x] Page Login : supprimer l'encart affichant les identifiants du compte par défaut
- [x] Login : accepter un identifiant (e-mail ou nom d'utilisateur) au lieu d'un e-mail obligatoire - [x] Login : accepter un identifiant (e-mail ou nom d'utilisateur) au lieu d'un e-mail obligatoire
- [x] Page Login : logo Itinova en haut, "powered by" + logo Santinova en bas