@@ -33,16 +33,16 @@ const MapPageWrapper = ({ mapsData }: { mapsData: any }) => (
33
33
34
34
const MapSection = ( { mapsData } : { mapsData : { fields : IEEInfo } [ ] } ) => {
35
35
const searchParams = useSearchParams ( ) ;
36
-
37
- const [ loadingMap , setLoadingMap ] = useState < boolean > ( false ) ;
38
36
const [ imageData , setImageData ] = useState < IMapInfo > ( {
39
37
name : "" ,
40
38
year : "" ,
41
39
} ) ;
42
40
41
+ const [ loadingMap , setLoadingMap ] = useState < boolean > ( false ) ;
43
42
const [ descriptionInfo , setDescriptionInfo ] =
44
43
useState < IEEInfo > ( defaultEEInfo ) ;
45
44
const [ isDescRetracted , setIsDescRetracted ] = useState < boolean > ( true ) ;
45
+ const [ isMenuRetracted , setIsmenuRetracted ] = useState < boolean > ( false ) ;
46
46
47
47
const handleDescUpdate = useCallback (
48
48
( name : string , retract : boolean = true ) => {
@@ -62,41 +62,40 @@ const MapSection = ({ mapsData }: { mapsData: { fields: IEEInfo }[] }) => {
62
62
[ descriptionInfo . id , isDescRetracted , mapsData ] ,
63
63
) ;
64
64
65
- const [ isMenuRetracted , setIsmenuRetracted ] = useState < boolean > ( false ) ;
66
-
67
65
const handleMapClick = useCallback ( ( ) => {
68
66
setIsmenuRetracted ( true ) ;
69
67
setIsDescRetracted ( true ) ;
70
68
} , [ setIsmenuRetracted , setIsDescRetracted ] ) ;
71
69
72
70
useEffect ( ( ) => {
73
- if ( mapsData . length === 0 ) return ;
71
+ if ( ! mapsData || mapsData . length === 0 ) return ;
74
72
75
- let name = searchParams ?. get ( "name" ) ?? "spei" ;
73
+ let name = searchParams ?. get ( "name" ) ?? DEFAULT_TIFF ;
76
74
let year = searchParams ?. get ( "year" ) ?? "general" ;
77
75
78
- const filteredData = mapsData . filter (
76
+ const filteredData = mapsData . find (
79
77
( data : { fields : { id : string } } ) => data . fields . id === name ,
80
78
) ;
81
- if ( filteredData . length === 0 ) {
79
+
80
+ if ( ! filteredData ) {
82
81
name = DEFAULT_TIFF ;
83
82
}
84
83
85
84
if (
86
- mapsData &&
87
- mapsData . filter (
85
+ filteredData &&
86
+ ! mapsData . find (
88
87
( data : { fields : { id : string ; imageData : { } } } ) =>
89
88
name === data . fields . id && year in Object . keys ( data . fields . imageData ) ,
90
- ) . length == 0
89
+ )
91
90
) {
92
- year = Object . keys ( filteredData [ 0 ] . fields . imageData ) [ 0 ] ;
91
+ year = Object . keys ( filteredData ? .fields ? .imageData ) [ 0 ] ;
93
92
}
94
93
95
94
setImageData ( { name, year } ) ;
96
- setDescriptionInfo ( filteredData [ 0 ] . fields ) ;
95
+ filteredData && setDescriptionInfo ( filteredData ? .fields ) ;
97
96
98
97
// eslint-disable-next-line react-hooks/exhaustive-deps
99
- } , [ mapsData ] ) ;
98
+ } , [ ] ) ;
100
99
101
100
return (
102
101
< MapTemplate >
0 commit comments