feat: add geometry preloading and hydration support for battle replays in public preview
Build and Release / release (push) Successful in 36s
Build and Release / release (push) Successful in 36s
This commit is contained in:
@@ -168,6 +168,7 @@ export default function PublicPreviewClientPage({
|
||||
relationsStatus,
|
||||
replays,
|
||||
ensureChildrenForGeometry,
|
||||
ensureReplayGeometries,
|
||||
} = usePublicPreviewData({ timelineYear: searchTimelineYear, timeRange, enabled: loadInteractiveMap });
|
||||
|
||||
const activeReplay = useMemo(() => {
|
||||
@@ -198,6 +199,14 @@ export default function PublicPreviewClientPage({
|
||||
return null;
|
||||
}, [replays, selectedFeatureIds]);
|
||||
|
||||
useEffect(() => {
|
||||
if (activeReplay?.replay) {
|
||||
void ensureReplayGeometries(activeReplay.replay);
|
||||
} else {
|
||||
void ensureReplayGeometries(null);
|
||||
}
|
||||
}, [activeReplay, ensureReplayGeometries]);
|
||||
|
||||
const getMapInstance = useCallback(() => mapHandleRef.current?.getMap() || null, []);
|
||||
const handleSelectReplayStep = useCallback((stageId: number | null, stepIndex: number | null) => {
|
||||
setSelectedReplayStageId(stageId);
|
||||
|
||||
Reference in New Issue
Block a user