From cc7414a441b49cb8c1624cc724f1ff7e44b7c7e2 Mon Sep 17 00:00:00 2001 From: Sadrinho27 Date: Tue, 30 Sep 2025 00:19:30 +0200 Subject: [PATCH] Added the 4NK authentication --- app/dashboard/layout.tsx | 23 +- app/dashboard/page.tsx | 9 +- app/login/page.tsx | 214 ++---- components/4nk/AuthModal.tsx | 308 ++------- components/4nk/Iframe.tsx | 14 +- lib/4nk/EventBus.ts | 52 +- lib/4nk/IframeReference.ts | 18 +- lib/4nk/MessageBus.ts | 1205 ++++++++++++++++++++-------------- lib/4nk/UserStore.ts | 62 +- 9 files changed, 868 insertions(+), 1037 deletions(-) diff --git a/app/dashboard/layout.tsx b/app/dashboard/layout.tsx index d38129d..f3464a5 100644 --- a/app/dashboard/layout.tsx +++ b/app/dashboard/layout.tsx @@ -25,8 +25,9 @@ import { Home, } from "lucide-react" import { AuthModal } from "@/components/4nk/AuthModal" -import { MessageBus } from "@/lib/4nk/MessageBus" -import { UserStore } from "@/lib/4nk/UserStore" +import { Iframe } from "@/components/4nk/Iframe" +import MessageBus from "@/lib/4nk/MessageBus" +import UserStore from "@/lib/4nk/UserStore" // DebugInfo supprimé export default function DashboardLayout({ children }: { children: React.ReactNode }) { @@ -40,7 +41,7 @@ export default function DashboardLayout({ children }: { children: React.ReactNod const router = useRouter() const pathname = usePathname() - const iframeUrl = process.env.NEXT_PUBLIC_4NK_IFRAME_URL || "https://dev.4nk.io" + const iframeUrl = process.env.NEXT_PUBLIC_4NK_IFRAME_URL || "https://dev3.4nkweb.com" const navigation = [ { name: "Tableau de bord", href: "/dashboard", icon: LayoutDashboard }, @@ -60,11 +61,10 @@ export default function DashboardLayout({ children }: { children: React.ReactNod const messageBus = MessageBus.getInstance(iframeUrl) if (accessToken) { - // Vérifier si on est en mode mock - const mockMode = messageBus.isInMockMode() - setIsMockMode(mockMode) + // Mode normal (pas de mock) + setIsMockMode(false) - if (mockMode) { + if (false) { console.log("🎭 Dashboard en mode mock") setIsAuthenticated(true) setUserInfo({ @@ -117,7 +117,6 @@ export default function DashboardLayout({ children }: { children: React.ReactNod const messageBus = MessageBus.getInstance(iframeUrl) userStore.disconnect() - messageBus.disableMockMode() // Afficher un message de confirmation avec options setShowLogoutConfirm(true) @@ -321,6 +320,14 @@ export default function DashboardLayout({ children }: { children: React.ReactNod )} + {/* Iframe 4NK - affichée seulement si connecté */} + {isAuthenticated && ( +