1
+ import { useEffect } from 'react' ;
1
2
import { useRouter } from 'next/router' ;
2
3
import { SubmitHandler , Controller , useForm } from 'react-hook-form' ;
3
- import { GoX } from 'react-icons/go' ;
4
4
5
5
interface FormValues {
6
- startStars : number ;
7
- endStars : number | string ;
6
+ startStars : number | '' ;
7
+ endStars : number | '' ;
8
8
}
9
9
10
10
export default function StarsFilter ( ) {
11
11
const router = useRouter ( ) ;
12
12
const { handleSubmit, control, reset } = useForm < FormValues > ( {
13
13
defaultValues : {
14
14
startStars : ! router . query . startStars
15
- ? undefined
15
+ ? ''
16
16
: + ( router . query . startStars as string ) ,
17
17
endStars : ! router . query . endStars
18
- ? undefined
18
+ ? ''
19
19
: + ( router . query . endStars as string )
20
20
}
21
21
} ) ;
22
22
23
23
const onSubmit : SubmitHandler < FormValues > = ( { startStars, endStars } ) => {
24
24
let query ;
25
- if ( typeof endStars === 'number' && endStars < startStars ) {
25
+ if ( typeof endStars === 'number' && typeof startStars === 'number' && endStars < startStars ) {
26
26
reset ( { startStars, endStars : '' } ) ;
27
27
query = { startStars } ;
28
28
const { endStars, ...rest } = router . query ;
@@ -36,6 +36,10 @@ export default function StarsFilter() {
36
36
}
37
37
} ;
38
38
39
+ useEffect ( ( ) => {
40
+ reset ( ) ;
41
+ } , [ router . query ?. language , reset ] ) ;
42
+
39
43
return (
40
44
< form
41
45
className = "w-full m-2 mx-auto mb-4 lg:w-2/4 form-control"
0 commit comments