diff --git a/src/frontend/src/features/rooms/hooks/useSkipPreJoinParam.ts b/src/frontend/src/features/rooms/hooks/useSkipPreJoinParam.ts new file mode 100644 index 00000000..a5fb5475 --- /dev/null +++ b/src/frontend/src/features/rooms/hooks/useSkipPreJoinParam.ts @@ -0,0 +1,7 @@ +import { useSearch } from 'wouter' + +export const useSkipPreJoinParam = () => { + const search = useSearch() + const params = new URLSearchParams(search) + return params.get('skipPreJoin') === 'True' +} diff --git a/src/frontend/src/features/rooms/routes/Room.tsx b/src/frontend/src/features/rooms/routes/Room.tsx index 552c3002..b185660e 100644 --- a/src/frontend/src/features/rooms/routes/Room.tsx +++ b/src/frontend/src/features/rooms/routes/Room.tsx @@ -14,6 +14,7 @@ import { isRoomValid, normalizeRoomId, } from '@/features/rooms/utils/isRoomValid' +import { useSkipPreJoinParam } from '@/features/rooms/hooks/useSkipPreJoinParam.ts' export type LocalUserChoices = LocalUserChoicesLK & { processorSerialized?: ProcessorSerialized @@ -28,7 +29,9 @@ export const Room = () => { const [location, setLocation] = useLocation() const initialRoomData = history.state?.initialRoomData const mode = isLoggedIn && history.state?.create ? 'create' : 'join' - const skipJoinScreen = isLoggedIn && mode === 'create' + + const skipPreJoin = useSkipPreJoinParam() + const skipJoinScreen = (isLoggedIn && mode === 'create') || skipPreJoin useKeyboardShortcuts()