"use client" import type React from "react" import { useState } from "react" import { useRouter } from "next/navigation" import Link from "next/link" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" import { Shield, ArrowLeft, Home, CheckCircle, } from "lucide-react" import AuthModal from "@/components/4nk/AuthModal" import MessageBus from "@/lib/4nk/MessageBus" import UserStore from "@/lib/4nk/UserStore" export default function LoginPage() { const [isAuthModalOpen, setIsAuthModalOpen] = useState(false) const [isLoading, setIsLoading] = useState(false) const [isConnected, setIsConnected] = useState(false) const [error, setError] = useState(null) const router = useRouter() const iframeUrl = process.env.NEXT_PUBLIC_4NK_IFRAME_URL || "https://dev3.4nkweb.com" // Vérifier l'état de connexion au chargement useState(() => { const userStore = UserStore.getInstance() setIsConnected(userStore.isConnected()) }) const handleLogin = () => { setIsAuthModalOpen(true) setError(null) } const handleAuthSuccess = async () => { setIsAuthModalOpen(false) setIsConnected(true) try { // Récupérer l'ID d'appairage après connexion const messageBus = MessageBus.getInstance(iframeUrl) await messageBus.isReady() const pairingId = await messageBus.getUserPairingId() console.log("✅ Authentification 4NK réussie, ID d'appairage:", pairingId) // Redirection vers le dashboard router.push("/dashboard") } catch (err) { console.error("Erreur lors de la récupération de l'ID d'appairage:", err) // Redirection quand même vers le dashboard router.push("/dashboard") } } const handleAuthError = (errorMessage: string) => { setError(errorMessage) setIsAuthModalOpen(false) } // Si déjà connecté, rediriger vers le dashboard if (isConnected) { router.push("/dashboard") return (

Déjà connecté

Redirection vers le dashboard...

) } return (
{/* Lien de retour vers l'accueil */}
Retour à l'accueil
{/* Logo et titre */}

DocV

Gestion électronique de documents sécurisée

{/* Carte de connexion 4NK */} Connexion sécurisée 4NK Authentification cryptographique sans mot de passe {/* Description de la connexion 4NK */}

🔐 Authentification 4NK

  • • Aucun mot de passe requis
  • • Identité cryptographique sécurisée
  • • Chiffrement bout en bout
  • • Protection par blockchain
{/* Affichage des erreurs */} {error && (

Erreur de connexion :

{error}

)} {/* Bouton de connexion */} {/* Informations sur l'iframe */}

URL d'authentification :
{iframeUrl}

{/* Badges de sécurité */}
Sécurisé 4NK Chiffrement bout en bout Blockchain
{/* Lien vers l'espace public */}
Découvrir DocV sans se connecter
{/* Informations légales */}

En vous connectant, vous acceptez nos conditions d'utilisation

Vos données sont protégées par le chiffrement 4NK

{/* Modal d'authentification 4NK */} setIsAuthModalOpen(false)} iframeUrl={iframeUrl} />
) }