1
- import { useCallback , useContext , useMemo , useState } from 'react' ;
2
- import { useNavigate } from 'react-router-dom' ;
1
+ import { useCallback , useContext , useEffect , useMemo , useState } from 'react' ;
2
+ import { useNavigate , useSearchParams } from 'react-router-dom' ;
3
3
import { RotateCw , LogOutIcon } from 'lucide-react' ;
4
4
import qs from 'query-string' ;
5
5
@@ -21,6 +21,7 @@ const initialFilterData: IFilterFormProps = {
21
21
22
22
const Home = ( ) => {
23
23
const { data : shelters , loading, refresh } = useShelters ( ) ;
24
+ const [ searchParams , setSearchParams ] = useSearchParams ( ) ;
24
25
const {
25
26
loading : loadingSession ,
26
27
refreshSession,
@@ -37,7 +38,6 @@ const Home = () => {
37
38
const params = {
38
39
search : v ? qs . stringify ( filterData , { arrayFormat : 'bracket' } ) : '' ,
39
40
} ;
40
-
41
41
refresh ( {
42
42
params : params ,
43
43
} ) ;
@@ -58,11 +58,21 @@ const Home = () => {
58
58
[ shelters . page , shelters . perPage , shelters . count ]
59
59
) ;
60
60
61
- const onSubmitFilterForm = useCallback ( ( values : IFilterFormProps ) => {
62
- setOpenModal ( false ) ;
63
- setFilterData ( values ) ;
64
- //TODO: logica de buscar no filtro
65
- } , [ ] ) ;
61
+ const onSubmitFilterForm = useCallback (
62
+ ( values : IFilterFormProps ) => {
63
+ setOpenModal ( false ) ;
64
+ setFilterData ( values ) ;
65
+ console . log ( values ) ;
66
+ const search = qs . stringify ( values , { arrayFormat : 'bracket' } ) ;
67
+ setSearchParams ( search ) ;
68
+ refresh ( {
69
+ params : {
70
+ search,
71
+ } ,
72
+ } ) ;
73
+ } ,
74
+ [ refresh , setSearchParams ]
75
+ ) ;
66
76
67
77
const handleFetchMore = useCallback ( ( ) => {
68
78
const params = {
@@ -80,6 +90,10 @@ const Home = () => {
80
90
) ;
81
91
} , [ refresh , searchValue , shelters . filters , shelters . page , shelters . perPage ] ) ;
82
92
93
+ useEffect ( ( ) => {
94
+ console . log ( searchParams . toString ( ) ) ;
95
+ } , [ searchParams ] ) ;
96
+
83
97
return (
84
98
< div className = "flex flex-col h-screen items-center" >
85
99
{ isModalOpen && (
0 commit comments