File tree Expand file tree Collapse file tree
workspaces/client/src/pages Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -19,10 +19,24 @@ import { usePlayerRef } from '@wsh-2025/client/src/pages/episode/hooks/usePlayer
1919
2020export const prefetch = async ( store : ReturnType < typeof createStore > , { episodeId } : Params ) => {
2121 invariant ( episodeId ) ;
22- const episode = await store . getState ( ) . features . episode . fetchEpisodeById ( { episodeId } ) ;
23- const modules = await store
24- . getState ( )
25- . features . recommended . fetchRecommendedModulesByReferenceId ( { referenceId : episodeId } ) ;
22+ const state = store . getState ( ) ;
23+
24+ let episode = state . features . episode . episodes [ episodeId ] ;
25+ if ( ! episode ) {
26+ episode = await state . features . episode . fetchEpisodeById ( { episodeId } ) ;
27+ }
28+ const moduleIds = state . features . recommended . references [ episodeId ] ;
29+
30+ let modules = ( moduleIds ?? [ ] )
31+ . map ( ( moduleId ) => state . features . recommended . recommendedModules [ moduleId ] )
32+ . filter ( ( m ) => m != null ) ;
33+
34+ if ( modules . length === 0 ) {
35+ modules = await store
36+ . getState ( )
37+ . features . recommended . fetchRecommendedModulesByReferenceId ( { referenceId : episodeId } ) ;
38+ }
39+
2640 return { episode, modules } ;
2741} ;
2842
Original file line number Diff line number Diff line change @@ -3,6 +3,10 @@ import { RecommendedSection } from '@wsh-2025/client/src/features/recommended/co
33import { useRecommended } from '@wsh-2025/client/src/features/recommended/hooks/useRecommended' ;
44
55export const prefetch = async ( store : ReturnType < typeof createStore > ) => {
6+ const storedModules = store . getState ( ) . features . recommended . recommendedModules [ 'entrance' ] ;
7+ if ( storedModules ) {
8+ return { modules : storedModules } ;
9+ }
610 const modules = await store
711 . getState ( )
812 . features . recommended . fetchRecommendedModulesByReferenceId ( { referenceId : 'entrance' } ) ;
You can’t perform that action at this time.
0 commit comments