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,
TrashIcon,
} 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 { use, useEffect, useMemo, useRef, useState } from 'react';
import { isMobileOnly } from 'react-device-detect';
@@ -48,6 +55,7 @@ export function TankSearch({
const sort = useTankopediaPersistent((state) => state.sort);
const awaitedTanks = use(tanksDefinitionsArray);
const awaitedModelDefinitions = use(modelDefinitions);
const [loaded, setLoaded] = useState(false);
const defaultSortedTanks = useMemo(
() =>
awaitedTanks
@@ -403,6 +411,18 @@ export function TankSearch({
});
}, [searchResults]);
useEffect(() => {
setLoaded(true);
}, []);
if (!loaded) {
return (
<Flex justify="center">
<Spinner />
</Flex>
);
}
return (
<>
<Flex direction="column" gap="4">