feat: routing for recording & main page
This commit is contained in:
@@ -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() ?
|
||||||
|
|||||||
Reference in New Issue
Block a user