diff --git a/src/routes/userRoute.tsx b/src/routes/userRoute.tsx
index 4e9bb7c2..fe0a31ff 100644
--- a/src/routes/userRoute.tsx
+++ b/src/routes/userRoute.tsx
@@ -1,12 +1,56 @@
-import React from 'react';
-import { Navigate, Outlet } from 'react-router-dom';
+import React, { useEffect, useState } from 'react';
+import { Navigate, Outlet, useLocation } from 'react-router-dom';
import { useContext } from 'react';
import { AuthContext } from '../context/auth';
+import { useGlobalInfoStore } from '../context/globalInfo';
const UserRoute = () => {
const { state } = useContext(AuthContext);
+ const location = useLocation();
+ const [isCheckingAuth, setIsCheckingAuth] = useState(true);
+ const { setRecordingUrl } = useGlobalInfoStore();
+
+ useEffect(() => {
+ if (location.pathname === '/recording') {
+ const hasRecordingSession =
+ window.sessionStorage.getItem('browserId') ||
+ window.sessionStorage.getItem('recordingSessionId');
+
+ const recordingUrl = window.sessionStorage.getItem('recordingUrl');
+ if (recordingUrl) {
+ setRecordingUrl(recordingUrl);
+ }
+
+ if (hasRecordingSession) {
+ console.log('UserRoute: Valid recording session detected, bypassing auth check');
+ setIsCheckingAuth(false);
+ return;
+ }
+ }
+
+ const timer = setTimeout(() => {
+ setIsCheckingAuth(false);
+ }, 100);
+
+ return () => clearTimeout(timer);
+ }, [location.pathname]);
+
+ if (isCheckingAuth) {
+ return null;
+ }
+
+ if (location.pathname === '/recording') {
+ const hasRecordingSession =
+ window.sessionStorage.getItem('browserId') ||
+ window.sessionStorage.getItem('recordingSessionId');
+
+ if (hasRecordingSession) {
+ return ;
+ }
+ }
+
return state.user ? : ;
};
-export default UserRoute;
+export default UserRoute;
\ No newline at end of file