Moved setIsConnected & setUserPairingId in the DashboardLayout
This commit is contained in:
parent
5aff257c54
commit
9057b7af1e
@ -28,6 +28,7 @@ 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 EventBus from "@/lib/4nk/EventBus"
|
||||
// DebugInfo supprimé
|
||||
|
||||
export default function DashboardLayout({ children }: { children: React.ReactNode }) {
|
||||
@ -35,6 +36,7 @@ export default function DashboardLayout({ children }: { children: React.ReactNod
|
||||
const [isAuthModalOpen, setIsAuthModalOpen] = useState(false)
|
||||
const [processes, setProcesses] = useState<any>(null)
|
||||
const [myProcesses, setMyProcesses] = useState<string[]>([])
|
||||
const [isConnected, setIsConnected] = useState(false)
|
||||
const [userPairingId, setUserPairingId] = useState<string | null>(null)
|
||||
const [isLoading, setIsLoading] = useState(true)
|
||||
const [isMockMode, setIsMockMode] = useState(false)
|
||||
@ -57,12 +59,24 @@ export default function DashboardLayout({ children }: { children: React.ReactNod
|
||||
]
|
||||
|
||||
useEffect(() => {
|
||||
const messageBus = MessageBus.getInstance(iframeUrl);
|
||||
messageBus.isReady().then(() => {
|
||||
messageBus.getProcesses().then((processes: any) => {
|
||||
setProcesses(processes);
|
||||
});
|
||||
const connected = UserStore.getInstance().isConnected();
|
||||
console.log('[Login] User connected:', connected);
|
||||
setIsConnected(connected);
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
const pairingId = UserStore.getInstance().getUserPairingId();
|
||||
console.log('[Login] User pairing ID:', pairingId);
|
||||
setUserPairingId(pairingId);
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
const messageBus = MessageBus.getInstance(iframeUrl);
|
||||
messageBus.isReady().then(() => {
|
||||
messageBus.getProcesses().then((processes: any) => {
|
||||
setProcesses(processes);
|
||||
});
|
||||
});
|
||||
}, [iframeUrl]);
|
||||
|
||||
useEffect(() => {
|
||||
@ -94,24 +108,17 @@ export default function DashboardLayout({ children }: { children: React.ReactNod
|
||||
try {
|
||||
const userStore = UserStore.getInstance()
|
||||
const accessToken = userStore.getAccessToken()
|
||||
const messageBus = MessageBus.getInstance(iframeUrl)
|
||||
|
||||
if (accessToken) {
|
||||
// Vérifier la validité du token en mode production
|
||||
// const isValid = await messageBus.validateToken()
|
||||
// if (isValid) {
|
||||
setIsAuthenticated(true)
|
||||
const pairingId = userStore.getUserPairingId()
|
||||
setUserInfo({
|
||||
id: pairingId?.slice(0, 8) + "...",
|
||||
name: "Utilisateur 4NK",
|
||||
email: "user@4nk.io",
|
||||
role: "Utilisateur",
|
||||
company: "Organisation 4NK",
|
||||
})
|
||||
// }
|
||||
} else {
|
||||
setIsAuthModalOpen(true)
|
||||
setIsAuthenticated(true)
|
||||
const pairingId = userStore.getUserPairingId()
|
||||
setUserInfo({
|
||||
id: pairingId?.slice(0, 8) + "...",
|
||||
name: "Utilisateur 4NK",
|
||||
email: "user@4nk.io",
|
||||
role: "Utilisateur",
|
||||
company: "Organisation 4NK",
|
||||
})
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error checking authentication:", error)
|
||||
@ -132,8 +139,14 @@ export default function DashboardLayout({ children }: { children: React.ReactNod
|
||||
}
|
||||
|
||||
const handleLogout = () => {
|
||||
const userStore = UserStore.getInstance()
|
||||
userStore.disconnect()
|
||||
UserStore.getInstance().disconnect();
|
||||
setIsConnected(false);
|
||||
|
||||
// Émettre un événement pour vider aussi les messages locaux dans MessageConsole
|
||||
EventBus.getInstance().emit('CLEAR_CONSOLE');
|
||||
|
||||
// Vider les processes
|
||||
setProcesses(null);
|
||||
|
||||
// Afficher un message de confirmation avec options
|
||||
setShowLogoutConfirm(true)
|
||||
@ -155,6 +168,8 @@ export default function DashboardLayout({ children }: { children: React.ReactNod
|
||||
<Shield className="h-12 w-12 mx-auto mb-4 text-blue-600 animate-pulse" />
|
||||
<p className="text-gray-600">Vérification de l'authentification...</p>
|
||||
</div>
|
||||
{<Iframe iframeUrl={iframeUrl} />}
|
||||
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
10
app/page.tsx
10
app/page.tsx
@ -19,14 +19,6 @@ export default function HomePage() {
|
||||
const router = useRouter()
|
||||
const iframeUrl = process.env.NEXT_PUBLIC_4NK_IFRAME_URL || "https://dev3.4nkweb.com"
|
||||
|
||||
useEffect(() => {
|
||||
setIsConnected(UserStore.getInstance().isConnected());
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
setUserPairingId(UserStore.getInstance().getUserPairingId());
|
||||
});
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-gradient-to-br from-slate-50 to-blue-50">
|
||||
{/* Header */}
|
||||
@ -96,7 +88,7 @@ export default function HomePage() {
|
||||
/>
|
||||
)}
|
||||
|
||||
{isConnected && <Iframe iframeUrl={iframeUrl} />}
|
||||
{<Iframe iframeUrl={iframeUrl} />}
|
||||
|
||||
{/* Product Features */}
|
||||
<section id="produit" className="py-16 px-4 bg-white">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user