feat: routing for recording & main page

This commit is contained in:
karishmas6
2024-09-10 02:34:28 +05:30
parent 790693d847
commit c2e12fc9b5

View File

@@ -7,21 +7,27 @@ import { MainPage } from "./MainPage";
import { useGlobalInfoStore } from "../context/globalInfo"; import { useGlobalInfoStore } from "../context/globalInfo";
import { getActiveBrowserId } from "../api/recording"; import { getActiveBrowserId } from "../api/recording";
import { AlertSnackbar } from "../components/atoms/AlertSnackbar"; import { AlertSnackbar } from "../components/atoms/AlertSnackbar";
import { Routes, Route, useNavigate } from 'react-router-dom';
export const PageWrapper = () => { export const PageWrapper = () => {
const [recordingName, setRecordingName] = useState('');
const [open, setOpen] = useState(false); const [open, setOpen] = useState(false);
const { browserId, setBrowserId, notification } = useGlobalInfoStore(); const navigate = useNavigate();
const { browserId, setBrowserId, notification, recordingName, setRecordingName } = useGlobalInfoStore();
const handleNewRecording = () => { const handleNewRecording = () => {
setBrowserId('new-recording'); setBrowserId('new-recording');
setRecordingName(''); setRecordingName('');
navigate('/recording');
} }
const handleEditRecording = (fileName: string) => { const handleEditRecording = (fileName: string) => {
setRecordingName(fileName); setRecordingName(fileName);
setBrowserId('new-recording'); setBrowserId('new-recording');
navigate('/recording');
} }
const isNotification = (): boolean => { const isNotification = (): boolean => {
@@ -36,6 +42,7 @@ export const PageWrapper = () => {
const id = await getActiveBrowserId(); const id = await getActiveBrowserId();
if (id) { if (id) {
setBrowserId(id); setBrowserId(id);
navigate('/recording');
} }
} }
isRecordingInProgress(); isRecordingInProgress();
@@ -46,18 +53,20 @@ export const PageWrapper = () => {
<SocketProvider> <SocketProvider>
<React.Fragment> <React.Fragment>
<NavBar newRecording={handleNewRecording} recordingName={recordingName} isRecording={!!browserId} /> <NavBar newRecording={handleNewRecording} recordingName={recordingName} isRecording={!!browserId} />
{browserId <Routes>
? ( <Route
<BrowserDimensionsProvider> path="/"
<React.Fragment> element={<MainPage handleEditRecording={handleEditRecording} />}
<RecordingPage recordingName={recordingName} /> />
</React.Fragment> <Route
</BrowserDimensionsProvider> path="/recording"
) element={
: <MainPage <BrowserDimensionsProvider>
handleEditRecording={handleEditRecording} <RecordingPage recordingName={recordingName} />
/> </BrowserDimensionsProvider>
} }
/>
</Routes>
</React.Fragment> </React.Fragment>
</SocketProvider> </SocketProvider>
{isNotification() ? {isNotification() ?