feat: tank search hydration issues

This commit is contained in:
TrèsAbhi committed 2024-05-23 13:46:33 -05:00
1 parent 02daeff583
commit f7e7fdff0e
1 file changed
+21 -1
@@ -3,7 +3,14 @@ import {
MagnifyingGlassIcon, MagnifyingGlassIcon,
TrashIcon, TrashIcon,
} from '@radix-ui/react-icons'; } from '@radix-ui/react-icons';
import { AlertDialog, Button, Flex, Text, TextField } from '@radix-ui/themes'; import {
AlertDialog,
Button,
Flex,
Spinner,
Text,
TextField,
} from '@radix-ui/themes';
import { go } from 'fuzzysort'; import { go } from 'fuzzysort';
import { use, useEffect, useMemo, useRef, useState } from 'react'; import { use, useEffect, useMemo, useRef, useState } from 'react';
import { isMobileOnly } from 'react-device-detect'; import { isMobileOnly } from 'react-device-detect';
@@ -48,6 +55,7 @@ export function TankSearch({
const sort = useTankopediaPersistent((state) => state.sort); const sort = useTankopediaPersistent((state) => state.sort);
const awaitedTanks = use(tanksDefinitionsArray); const awaitedTanks = use(tanksDefinitionsArray);
const awaitedModelDefinitions = use(modelDefinitions); const awaitedModelDefinitions = use(modelDefinitions);
const [loaded, setLoaded] = useState(false);
const defaultSortedTanks = useMemo( const defaultSortedTanks = useMemo(
() => () =>
awaitedTanks awaitedTanks
@@ -403,6 +411,18 @@ export function TankSearch({
}); });
}, [searchResults]); }, [searchResults]);
useEffect(() => {
setLoaded(true);
}, []);
if (!loaded) {
return (
<Flex justify="center">
<Spinner />
</Flex>
);
}
return ( return (
<> <>
<Flex direction="column" gap="4"> <Flex direction="column" gap="4">