From 97a929ca2b5fef5262f380f64100d46012a30768 Mon Sep 17 00:00:00 2001 From: Yaakov Ben Haim Date: Fri, 17 May 2024 11:54:34 -0300 Subject: [PATCH 1/3] fix: issue#223 / reload button --- src/pages/Home/Home.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/pages/Home/Home.tsx b/src/pages/Home/Home.tsx index 4f51f924..f3625b19 100644 --- a/src/pages/Home/Home.tsx +++ b/src/pages/Home/Home.tsx @@ -26,6 +26,7 @@ const Home = () => { ...initialFilterData, ...qs.parse(new URLSearchParams(window.location.search).toString()), }); + const [forceRefresh, setForceRefresh] = useState(false); // Estado adicional para forçar o refresh const [, setSearch] = useThrottle( { @@ -87,6 +88,10 @@ const Home = () => { ); }, [refresh, filterData, shelters.filters, shelters.page, shelters.perPage]); + const handleRefreshClick = useCallback(() => { + setForceRefresh((prev) => !prev); + }, []); + return (
{isModalOpen && ( @@ -106,7 +111,10 @@ const Home = () => { loading={loading} variant="ghost" size="sm" - onClick={() => refresh()} + onClick={() => { + console.log("Refreshing data..."); + handleRefreshClick; + }} className="disabled:bg-red-500 hover:bg-red-400" > @@ -115,6 +123,7 @@ const Home = () => { } /> Date: Fri, 17 May 2024 12:54:24 -0300 Subject: [PATCH 2/3] fix: fixing review request --- src/pages/Home/Home.tsx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/pages/Home/Home.tsx b/src/pages/Home/Home.tsx index f3625b19..37a9c3a7 100644 --- a/src/pages/Home/Home.tsx +++ b/src/pages/Home/Home.tsx @@ -111,10 +111,7 @@ const Home = () => { loading={loading} variant="ghost" size="sm" - onClick={() => { - console.log("Refreshing data..."); - handleRefreshClick; - }} + onClick={handleRefreshClick} className="disabled:bg-red-500 hover:bg-red-400" > From fe99bc3c6b6905dbd3221d0c907457efdab1e661 Mon Sep 17 00:00:00 2001 From: Yaakov Ben Haim Date: Fri, 17 May 2024 12:59:18 -0300 Subject: [PATCH 3/3] fix: issue#223 remove unnecessary callback funtion --- src/pages/Home/Home.tsx | 45 +++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/src/pages/Home/Home.tsx b/src/pages/Home/Home.tsx index 37a9c3a7..778535ac 100644 --- a/src/pages/Home/Home.tsx +++ b/src/pages/Home/Home.tsx @@ -1,4 +1,4 @@ -import { useCallback, useMemo, useState } from 'react'; +import { useMemo, useState } from 'react'; import { useSearchParams } from 'react-router-dom'; import { RotateCw } from 'lucide-react'; import qs from 'qs'; @@ -26,7 +26,7 @@ const Home = () => { ...initialFilterData, ...qs.parse(new URLSearchParams(window.location.search).toString()), }); - const [forceRefresh, setForceRefresh] = useState(false); // Estado adicional para forçar o refresh + const [forceRefresh, setForceRefresh] = useState(false); const [, setSearch] = useThrottle( { @@ -43,36 +43,33 @@ const Home = () => { [] ); - const clearSearch = useCallback(() => { + const clearSearch = () => { setSearch(''); setFilterData(initialFilterData); setSearchParams(''); refresh(); - }, [refresh, setSearch, setSearchParams]); + }; const hasMore = useMemo( () => shelters.page * shelters.perPage < shelters.count, [shelters.page, shelters.perPage, shelters.count] ); - const onSubmitFilterForm = useCallback( - (values: IFilterFormProps) => { - setOpenModal(false); - setFilterData(values); - const searchQuery = qs.stringify(values, { - skipNulls: true, - }); - setSearchParams(searchQuery); - refresh({ - params: { - search: searchQuery, - }, - }); - }, - [refresh, setSearchParams] - ); + const onSubmitFilterForm = (values: IFilterFormProps) => { + setOpenModal(false); + setFilterData(values); + const searchQuery = qs.stringify(values, { + skipNulls: true, + }); + setSearchParams(searchQuery); + refresh({ + params: { + search: searchQuery, + }, + }); + }; - const handleFetchMore = useCallback(() => { + const handleFetchMore = () => { const params = { ...shelters.filters, page: shelters.page + 1, @@ -86,11 +83,11 @@ const Home = () => { }, true ); - }, [refresh, filterData, shelters.filters, shelters.page, shelters.perPage]); + }; - const handleRefreshClick = useCallback(() => { + const handleRefreshClick = () => { setForceRefresh((prev) => !prev); - }, []); + }; return (