tut modal redirect fixes
This commit is contained in:
parent
9999e45c1d
commit
3bdd4ae330
@ -184,6 +184,7 @@ export default function CompanyAdditionalInformationPage() {
|
|||||||
// NEW: smooth redirect
|
// NEW: smooth redirect
|
||||||
const [redirectTo, setRedirectTo] = useState<string | null>(null)
|
const [redirectTo, setRedirectTo] = useState<string | null>(null)
|
||||||
const redirectOnceRef = useRef(false)
|
const redirectOnceRef = useRef(false)
|
||||||
|
const suppressAutoRedirectRef = useRef(false)
|
||||||
const smoothReplace = useCallback((to: string) => {
|
const smoothReplace = useCallback((to: string) => {
|
||||||
if (redirectOnceRef.current) return
|
if (redirectOnceRef.current) return
|
||||||
redirectOnceRef.current = true
|
redirectOnceRef.current = true
|
||||||
@ -194,6 +195,7 @@ export default function CompanyAdditionalInformationPage() {
|
|||||||
// NEW: hard block if step already done OR all steps done
|
// NEW: hard block if step already done OR all steps done
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (statusLoading || !userStatus) return
|
if (statusLoading || !userStatus) return
|
||||||
|
if (suppressAutoRedirectRef.current) return
|
||||||
const allDone =
|
const allDone =
|
||||||
!!userStatus.email_verified &&
|
!!userStatus.email_verified &&
|
||||||
!!userStatus.documents_uploaded &&
|
!!userStatus.documents_uploaded &&
|
||||||
@ -304,11 +306,12 @@ export default function CompanyAdditionalInformationPage() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
// Refresh user status to update profile completion state
|
// Refresh user status to update profile completion state
|
||||||
|
suppressAutoRedirectRef.current = true
|
||||||
await refreshStatus()
|
await refreshStatus()
|
||||||
|
|
||||||
// Redirect back to tutorial modal after short delay
|
// Redirect back to tutorial modal after short delay
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
router.push('/quickaction-dashboard?tutorial=true')
|
smoothReplace('/quickaction-dashboard?tutorial=true')
|
||||||
}, 1500)
|
}, 1500)
|
||||||
|
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
|
|||||||
@ -385,11 +385,12 @@ export default function PersonalAdditionalInformationPage() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
// Refresh user status to update profile completion state
|
// Refresh user status to update profile completion state
|
||||||
|
suppressAutoRedirectRef.current = true
|
||||||
await refreshStatus()
|
await refreshStatus()
|
||||||
|
|
||||||
// Redirect back to tutorial modal after short delay
|
// Redirect back to tutorial modal after short delay
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
router.push('/quickaction-dashboard?tutorial=true')
|
smoothReplace('/quickaction-dashboard?tutorial=true')
|
||||||
}, 1500)
|
}, 1500)
|
||||||
|
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
@ -414,6 +415,7 @@ export default function PersonalAdditionalInformationPage() {
|
|||||||
// NEW: smooth redirect
|
// NEW: smooth redirect
|
||||||
const [redirectTo, setRedirectTo] = useState<string | null>(null)
|
const [redirectTo, setRedirectTo] = useState<string | null>(null)
|
||||||
const redirectOnceRef = useRef(false)
|
const redirectOnceRef = useRef(false)
|
||||||
|
const suppressAutoRedirectRef = useRef(false)
|
||||||
const smoothReplace = useCallback((to: string) => {
|
const smoothReplace = useCallback((to: string) => {
|
||||||
if (redirectOnceRef.current) return
|
if (redirectOnceRef.current) return
|
||||||
redirectOnceRef.current = true
|
redirectOnceRef.current = true
|
||||||
@ -424,6 +426,7 @@ export default function PersonalAdditionalInformationPage() {
|
|||||||
// NEW: hard block if step already done OR all steps done
|
// NEW: hard block if step already done OR all steps done
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (statusLoading || !userStatus) return
|
if (statusLoading || !userStatus) return
|
||||||
|
if (suppressAutoRedirectRef.current) return
|
||||||
const allDone =
|
const allDone =
|
||||||
!!userStatus.email_verified &&
|
!!userStatus.email_verified &&
|
||||||
!!userStatus.documents_uploaded &&
|
!!userStatus.documents_uploaded &&
|
||||||
|
|||||||
@ -277,10 +277,9 @@ export default function CompanySignContractPage() {
|
|||||||
// Refresh user status to update contract signed state
|
// Refresh user status to update contract signed state
|
||||||
await refreshStatus()
|
await refreshStatus()
|
||||||
|
|
||||||
// Redirect back to tutorial modal after short delay
|
// Redirect back to tutorial modal (avoid intermediate dashboard redirect)
|
||||||
setTimeout(() => {
|
suppressAutoRedirectRef.current = true
|
||||||
router.push('/quickaction-dashboard?tutorial=true')
|
smoothReplace('/quickaction-dashboard?tutorial=true')
|
||||||
}, 2000)
|
|
||||||
|
|
||||||
} catch (error: unknown) {
|
} catch (error: unknown) {
|
||||||
console.error('Contract signing error:', error)
|
console.error('Contract signing error:', error)
|
||||||
@ -299,6 +298,7 @@ export default function CompanySignContractPage() {
|
|||||||
// NEW: hard block if step already done OR all steps done
|
// NEW: hard block if step already done OR all steps done
|
||||||
const [redirectTo, setRedirectTo] = useState<string | null>(null)
|
const [redirectTo, setRedirectTo] = useState<string | null>(null)
|
||||||
const redirectOnceRef = useRef(false)
|
const redirectOnceRef = useRef(false)
|
||||||
|
const suppressAutoRedirectRef = useRef(false)
|
||||||
const smoothReplace = useCallback((to: string) => {
|
const smoothReplace = useCallback((to: string) => {
|
||||||
if (redirectOnceRef.current) return
|
if (redirectOnceRef.current) return
|
||||||
redirectOnceRef.current = true
|
redirectOnceRef.current = true
|
||||||
@ -308,6 +308,7 @@ export default function CompanySignContractPage() {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (statusLoading || !userStatus) return
|
if (statusLoading || !userStatus) return
|
||||||
|
if (suppressAutoRedirectRef.current) return
|
||||||
const allDone =
|
const allDone =
|
||||||
!!userStatus.email_verified &&
|
!!userStatus.email_verified &&
|
||||||
!!userStatus.documents_uploaded &&
|
!!userStatus.documents_uploaded &&
|
||||||
|
|||||||
@ -165,6 +165,7 @@ export default function PersonalSignContractPage() {
|
|||||||
// NEW: hard block if step already done OR all steps done
|
// NEW: hard block if step already done OR all steps done
|
||||||
const [redirectTo, setRedirectTo] = useState<string | null>(null)
|
const [redirectTo, setRedirectTo] = useState<string | null>(null)
|
||||||
const redirectOnceRef = useRef(false)
|
const redirectOnceRef = useRef(false)
|
||||||
|
const suppressAutoRedirectRef = useRef(false)
|
||||||
const smoothReplace = useCallback((to: string) => {
|
const smoothReplace = useCallback((to: string) => {
|
||||||
if (redirectOnceRef.current) return
|
if (redirectOnceRef.current) return
|
||||||
redirectOnceRef.current = true
|
redirectOnceRef.current = true
|
||||||
@ -180,6 +181,7 @@ export default function PersonalSignContractPage() {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (statusLoading || !userStatus) return
|
if (statusLoading || !userStatus) return
|
||||||
|
if (suppressAutoRedirectRef.current) return
|
||||||
const allDone =
|
const allDone =
|
||||||
!!userStatus.email_verified &&
|
!!userStatus.email_verified &&
|
||||||
!!userStatus.documents_uploaded &&
|
!!userStatus.documents_uploaded &&
|
||||||
@ -314,10 +316,9 @@ export default function PersonalSignContractPage() {
|
|||||||
// Refresh user status to update contract signed state
|
// Refresh user status to update contract signed state
|
||||||
await refreshStatus()
|
await refreshStatus()
|
||||||
|
|
||||||
// Redirect back to tutorial modal after short delay
|
// Redirect back to tutorial modal (avoid intermediate dashboard redirect)
|
||||||
setTimeout(() => {
|
suppressAutoRedirectRef.current = true
|
||||||
router.push('/quickaction-dashboard?tutorial=true')
|
smoothReplace('/quickaction-dashboard?tutorial=true')
|
||||||
}, 2000)
|
|
||||||
|
|
||||||
} catch (error: unknown) {
|
} catch (error: unknown) {
|
||||||
console.error('Contract signing error:', error)
|
console.error('Contract signing error:', error)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user