feat: add geometry preloading and hydration support for battle replays in public preview
Build and Release / release (push) Successful in 36s

This commit is contained in:
taDuc
2026-06-17 17:12:33 +07:00
parent a1e1aa6b31
commit 2c3bd93f5a
3 changed files with 122 additions and 5 deletions
@@ -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);