@@ -19,7 +19,8 @@ function LogoBlock() {
1919 const [ filteredList , setFilteredList ] = useState ( [ ] ) ;
2020 const [ sortOrder , setSortOrder ] = useState ( null ) ;
2121 const [ showSortMenu , setShowSortMenu ] = useState ( false ) ;
22- const [ unit , setUnit ] = useState ( window . temperatureUnit || 'C' ) ;
22+ // Fix: Initialize with 'C' and update in useEffect
23+ const [ unit , setUnit ] = useState ( 'C' ) ;
2324 const [ showFilterModal , setShowFilterModal ] = useState ( false ) ;
2425 const [ tempFilter , setTempFilter ] = useState ( { min : '' , max : '' } ) ;
2526
@@ -152,15 +153,27 @@ const resetTempFilter = () => {
152153 setShowSuggestions ( false ) ;
153154 } ;
154155
156+ // Update the useEffect that handles unit changes
155157 useEffect ( ( ) => {
156158 const handleUnitChange = ( ) => {
157- setUnit ( window . temperatureUnit || 'C' ) ;
159+ // Check if window exists before accessing it
160+ if ( typeof window !== 'undefined' ) {
161+ setUnit ( window . temperatureUnit || 'C' ) ;
162+ }
158163 } ;
159- window . addEventListener ( 'unitchange' , handleUnitChange ) ;
160- // initialize on mount
164+
165+ // Initialize on mount
161166 handleUnitChange ( ) ;
167+
168+ // Add event listener
169+ if ( typeof window !== 'undefined' ) {
170+ window . addEventListener ( 'unitchange' , handleUnitChange ) ;
171+ }
172+
162173 return ( ) => {
163- window . removeEventListener ( 'unitchange' , handleUnitChange ) ;
174+ if ( typeof window !== 'undefined' ) {
175+ window . removeEventListener ( 'unitchange' , handleUnitChange ) ;
176+ }
164177 } ;
165178 } , [ ] ) ;
166179
@@ -435,7 +448,8 @@ const resetTempFilter = () => {
435448 lineHeight : 1.4 ,
436449 transition : 'color 0.3s ease'
437450 } } >
438- { item . siteName }
451+ { /* Display "User Point" for user-generated points, otherwise use siteName */ }
452+ { item . isUserPoint ? 'User Point' : ( item . siteName || 'User Point' ) }
439453 </ h2 >
440454 < p style = { {
441455 fontSize : '0.75rem' ,
@@ -445,14 +459,25 @@ const resetTempFilter = () => {
445459 : 'rgba(0,0,0,0.6)'
446460 } } >
447461 { item . timestamp
448- ? new Date (
449- // drop the "Z" so this is parsed as local midnight
450- item . timestamp . replace ( ' ' , 'T' )
451- ) . toLocaleDateString ( 'en-US' , {
452- day : 'numeric' ,
453- month : 'short' ,
454- year : 'numeric'
455- } )
462+ ? ( ( ) => {
463+ // Handle different timestamp formats
464+ let date ;
465+ if ( item . isUserPoint ) {
466+ // For user points, timestamp is from updatedAt (ISO string)
467+ date = new Date ( item . timestamp ) ;
468+ } else {
469+ // For official data, timestamp might be in different format
470+ date = new Date ( item . timestamp . replace ( ' ' , 'T' ) ) ;
471+ }
472+
473+ return date . toLocaleDateString ( 'en-US' , {
474+ day : 'numeric' ,
475+ month : 'short' ,
476+ year : 'numeric' ,
477+ hour : item . isUserPoint ? '2-digit' : undefined ,
478+ minute : item . isUserPoint ? '2-digit' : undefined
479+ } ) ;
480+ } ) ( )
456481 : '—' }
457482 </ p >
458483 </ div >
0 commit comments