diff --git a/src/app/quickaction-dashboard/register-additional-information/company/page.tsx b/src/app/quickaction-dashboard/register-additional-information/company/page.tsx index dd2419d..36f30b1 100644 --- a/src/app/quickaction-dashboard/register-additional-information/company/page.tsx +++ b/src/app/quickaction-dashboard/register-additional-information/company/page.tsx @@ -184,6 +184,7 @@ export default function CompanyAdditionalInformationPage() { // NEW: smooth redirect const [redirectTo, setRedirectTo] = useState(null) const redirectOnceRef = useRef(false) + const suppressAutoRedirectRef = useRef(false) const smoothReplace = useCallback((to: string) => { if (redirectOnceRef.current) return redirectOnceRef.current = true @@ -194,6 +195,7 @@ export default function CompanyAdditionalInformationPage() { // NEW: hard block if step already done OR all steps done useEffect(() => { if (statusLoading || !userStatus) return + if (suppressAutoRedirectRef.current) return const allDone = !!userStatus.email_verified && !!userStatus.documents_uploaded && @@ -304,11 +306,12 @@ export default function CompanyAdditionalInformationPage() { }) // Refresh user status to update profile completion state + suppressAutoRedirectRef.current = true await refreshStatus() // Redirect back to tutorial modal after short delay setTimeout(() => { - router.push('/quickaction-dashboard?tutorial=true') + smoothReplace('/quickaction-dashboard?tutorial=true') }, 1500) } catch (error: any) { diff --git a/src/app/quickaction-dashboard/register-additional-information/personal/page.tsx b/src/app/quickaction-dashboard/register-additional-information/personal/page.tsx index f12c21d..77e5c87 100644 --- a/src/app/quickaction-dashboard/register-additional-information/personal/page.tsx +++ b/src/app/quickaction-dashboard/register-additional-information/personal/page.tsx @@ -385,11 +385,12 @@ export default function PersonalAdditionalInformationPage() { }) // Refresh user status to update profile completion state + suppressAutoRedirectRef.current = true await refreshStatus() // Redirect back to tutorial modal after short delay setTimeout(() => { - router.push('/quickaction-dashboard?tutorial=true') + smoothReplace('/quickaction-dashboard?tutorial=true') }, 1500) } catch (error: any) { @@ -414,6 +415,7 @@ export default function PersonalAdditionalInformationPage() { // NEW: smooth redirect const [redirectTo, setRedirectTo] = useState(null) const redirectOnceRef = useRef(false) + const suppressAutoRedirectRef = useRef(false) const smoothReplace = useCallback((to: string) => { if (redirectOnceRef.current) return redirectOnceRef.current = true @@ -424,6 +426,7 @@ export default function PersonalAdditionalInformationPage() { // NEW: hard block if step already done OR all steps done useEffect(() => { if (statusLoading || !userStatus) return + if (suppressAutoRedirectRef.current) return const allDone = !!userStatus.email_verified && !!userStatus.documents_uploaded && diff --git a/src/app/quickaction-dashboard/register-sign-contract/company/page.tsx b/src/app/quickaction-dashboard/register-sign-contract/company/page.tsx index 25fdc0f..8ddc21f 100644 --- a/src/app/quickaction-dashboard/register-sign-contract/company/page.tsx +++ b/src/app/quickaction-dashboard/register-sign-contract/company/page.tsx @@ -277,10 +277,9 @@ export default function CompanySignContractPage() { // Refresh user status to update contract signed state await refreshStatus() - // Redirect back to tutorial modal after short delay - setTimeout(() => { - router.push('/quickaction-dashboard?tutorial=true') - }, 2000) + // Redirect back to tutorial modal (avoid intermediate dashboard redirect) + suppressAutoRedirectRef.current = true + smoothReplace('/quickaction-dashboard?tutorial=true') } catch (error: unknown) { 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 const [redirectTo, setRedirectTo] = useState(null) const redirectOnceRef = useRef(false) + const suppressAutoRedirectRef = useRef(false) const smoothReplace = useCallback((to: string) => { if (redirectOnceRef.current) return redirectOnceRef.current = true @@ -308,6 +308,7 @@ export default function CompanySignContractPage() { useEffect(() => { if (statusLoading || !userStatus) return + if (suppressAutoRedirectRef.current) return const allDone = !!userStatus.email_verified && !!userStatus.documents_uploaded && diff --git a/src/app/quickaction-dashboard/register-sign-contract/personal/page.tsx b/src/app/quickaction-dashboard/register-sign-contract/personal/page.tsx index ce8136c..de71f95 100644 --- a/src/app/quickaction-dashboard/register-sign-contract/personal/page.tsx +++ b/src/app/quickaction-dashboard/register-sign-contract/personal/page.tsx @@ -165,6 +165,7 @@ export default function PersonalSignContractPage() { // NEW: hard block if step already done OR all steps done const [redirectTo, setRedirectTo] = useState(null) const redirectOnceRef = useRef(false) + const suppressAutoRedirectRef = useRef(false) const smoothReplace = useCallback((to: string) => { if (redirectOnceRef.current) return redirectOnceRef.current = true @@ -180,6 +181,7 @@ export default function PersonalSignContractPage() { useEffect(() => { if (statusLoading || !userStatus) return + if (suppressAutoRedirectRef.current) return const allDone = !!userStatus.email_verified && !!userStatus.documents_uploaded && @@ -314,10 +316,9 @@ export default function PersonalSignContractPage() { // Refresh user status to update contract signed state await refreshStatus() - // Redirect back to tutorial modal after short delay - setTimeout(() => { - router.push('/quickaction-dashboard?tutorial=true') - }, 2000) + // Redirect back to tutorial modal (avoid intermediate dashboard redirect) + suppressAutoRedirectRef.current = true + smoothReplace('/quickaction-dashboard?tutorial=true') } catch (error: unknown) { console.error('Contract signing error:', error)