1
- import { useCallback , useContext , useMemo , useState } from 'react' ;
1
+ import { useCallback , useContext , useEffect , useMemo , useState } from 'react' ;
2
2
import { useNavigate , useSearchParams } from 'react-router-dom' ;
3
3
import { RotateCw , LogOutIcon , PlusIcon } from 'lucide-react' ;
4
4
import qs from 'qs' ;
@@ -33,7 +33,7 @@ const Home = () => {
33
33
...qs . parse ( new URLSearchParams ( window . location . search ) . toString ( ) ) ,
34
34
} ) ;
35
35
36
-
36
+
37
37
const [ , setSearch ] = useThrottle < string > (
38
38
{
39
39
throttle : 400 ,
@@ -50,7 +50,7 @@ const Home = () => {
50
50
[ ]
51
51
) ;
52
52
const navigate = useNavigate ( ) ;
53
-
53
+
54
54
const clearSearch = useCallback ( ( ) => {
55
55
setSearch ( '' ) ;
56
56
setFilterData ( initialFilterData ) ;
@@ -62,7 +62,7 @@ const Home = () => {
62
62
( ) => shelters . page * shelters . perPage < shelters . count ,
63
63
[ shelters . page , shelters . perPage , shelters . count ]
64
64
) ;
65
-
65
+
66
66
const onSubmitFilterForm = useCallback (
67
67
( values : IFilterFormProps ) => {
68
68
setOpenModal ( false ) ;
@@ -79,15 +79,15 @@ const Home = () => {
79
79
} ,
80
80
[ refresh , setSearchParams ]
81
81
) ;
82
-
82
+
83
83
const handleFetchMore = useCallback ( ( ) => {
84
84
const params = {
85
85
...shelters . filters ,
86
86
page : shelters . page + 1 ,
87
87
perPage : shelters . perPage ,
88
88
search : qs . stringify ( filterData ) ,
89
89
} ;
90
-
90
+
91
91
refresh (
92
92
{
93
93
params : params ,
@@ -120,21 +120,22 @@ const Home = () => {
120
120
< div className = "flex flex-col h-screen items-center" >
121
121
{ isModalOpen && (
122
122
< Filter
123
- open = { isModalOpen }
124
- data = { filterData }
125
- onClose = { ( ) => setOpenModal ( false ) }
126
- onSubmit = { onSubmitFilterForm }
123
+ open = { isModalOpen }
124
+ data = { filterData }
125
+ onClose = { ( ) => setOpenModal ( false ) }
126
+ onSubmit = { onSubmitFilterForm }
127
127
/>
128
128
) }
129
129
< Header
130
130
title = { windowSize . width <= 434 ? "SOS RS" : "SOS Rio Grande do Sul" }
131
131
endAdornment = {
132
- < div className = "flex gap-2 items-center max-sm:grid " >
132
+ < div className = "flex gap-2 items-center transition-all max-[300px]:w-auto " >
133
133
{ session && (
134
134
< h3 className = "text-white font-thin" >
135
135
Bem vindo, { session . name }
136
136
</ h3 >
137
137
) }
138
+
138
139
< Button
139
140
variant = "ghost"
140
141
size = "sm"
0 commit comments