From 7a2c10f8f0925e98d8b9ee957519b3583d625302 Mon Sep 17 00:00:00 2001 From: Kaspar Poland Date: Tue, 12 Jul 2022 15:45:44 -0400 Subject: [PATCH] Lift searchoffset up to Sidebar --- components/sidebar/SearchView/SearchView.tsx | 78 ++++++++++---------- components/sidebar/Sidebar.tsx | 3 + 2 files changed, 41 insertions(+), 40 deletions(-) diff --git a/components/sidebar/SearchView/SearchView.tsx b/components/sidebar/SearchView/SearchView.tsx index 2e82206..f4c2c1f 100644 --- a/components/sidebar/SearchView/SearchView.tsx +++ b/components/sidebar/SearchView/SearchView.tsx @@ -37,12 +37,15 @@ const MotionButton = motion(Button) const SearchView = ({ searchQuery, setSearchQuery, + searchOffset, + setSearchOffset, }: { searchQuery: string setSearchQuery: Dispatch> + searchOffset: number + setSearchOffset: Dispatch> }) => { const searchRef = useRef() as MutableRefObject - const [searchOffset, setSearchOffset] = useState(0) const [searchLimit, setSearchLimit] = useState(7) const [chosenCourse, setChosenCourse] = useState("") @@ -66,15 +69,8 @@ const SearchView = ({ }) useEffect(() => { - if (!searchQuery) return - - debouncedZero(searchQuery) - }, []) - - useEffect(() => { - setSearchOffset(0) debounced(searchQuery) - }, [searchQuery]) + }, [debounced, searchQuery]) useEffect(() => { if (searchOffset === 0) return @@ -86,7 +82,7 @@ const SearchView = ({ limit: searchLimit, }, }) - }, [searchQuery, searchLimit, searchOffset]) + }, [search, searchQuery, searchLimit, searchOffset]) const { t } = useTranslation(["common", "sidebar"]) @@ -181,33 +177,35 @@ const SearchView = ({ )} - {searchOffset > 0 && { - setSearchOffset((prev) => { - const newSearchOffset = prev - searchLimit - if (newSearchOffset === 0) { - debouncedZero(searchQuery) - } - return newSearchOffset - }) - }} - > - <- Previous - } + {searchOffset > 0 && ( + { + setSearchOffset((prev) => { + const newSearchOffset = prev - searchLimit + if (newSearchOffset === 0) { + debouncedZero(searchQuery) + } + return newSearchOffset + }) + }} + > + <- Previous + + )} {data.searchCourses.length > 6 ? ( { const boxBackground = useColorModeValue("gray.75", "gray.700") const [searchQuery, setSearchQuery] = useState("") + const [searchOffset, setSearchOffset] = useState(0) const router = useRouter() @@ -147,6 +148,8 @@ const Sidebar = () => {