fix: sync verification state with auth guards
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
"use client"
|
||||
|
||||
import { useEffect } from "react"
|
||||
import { useEffect, useRef } from "react"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { useAuthStore } from "@/store/auth"
|
||||
import { useLoginDialogStore } from "@/store/login-dialog"
|
||||
@@ -12,9 +12,15 @@ interface AuthGuardProps {
|
||||
export function AuthGuard({ children }: AuthGuardProps) {
|
||||
const isAuthenticated = useAuthStore((s) => s.isAuthenticated)
|
||||
const openLoginDialog = useLoginDialogStore((s) => s.openLoginDialog)
|
||||
const hasTriggered = useRef(false)
|
||||
|
||||
useEffect(() => {
|
||||
if (!isAuthenticated) {
|
||||
if (isAuthenticated) {
|
||||
hasTriggered.current = false
|
||||
return
|
||||
}
|
||||
if (!hasTriggered.current) {
|
||||
hasTriggered.current = true
|
||||
openLoginDialog()
|
||||
}
|
||||
}, [isAuthenticated, openLoginDialog])
|
||||
|
||||
Reference in New Issue
Block a user