@@ -25,34 +25,36 @@ const timezones: Record<Server, string> = {
2525export default function Events ( props : Props & { location : string } ) {
2626 const [ now , setNow ] = useState ( ( ) => Date . now ( ) )
2727
28- const [ server , setServer ] = useState ( ( ) => {
29- if ( typeof window == "undefined" ) return "Europe"
28+ const [ server , setServer ] = useState ( undefined as Server | undefined )
3029
31- let server = localStorage . getItem ( "server" )
30+ const [ serverTimezone , setServerTimezone ] = useState ( "+08:00" )
31+ const [ showPast , setShowPast ] = useState ( false )
32+
33+ useEffect ( ( ) => {
34+ if ( typeof window == "undefined" ) return undefined
35+
36+ const server = localStorage . getItem ( "server" )
3237
33- if ( server && Object . keys ( timezones ) . includes ( server ) )
34- return server as Server
38+ if ( server && Object . keys ( timezones ) . includes ( server ) ) {
39+ setServer ( server as Server )
40+ return
41+ }
3542
3643 const clientOffset = - ( new Date ( ) . getTimezoneOffset ( ) / 60 )
3744
3845 if ( clientOffset > 5 )
39- server = "Asia"
46+ setServer ( "Asia" )
4047 else if ( clientOffset > - 2 || clientOffset < - 11 )
41- server = "Europe"
48+ setServer ( "Europe" )
4249 else
43- server = "North America"
44-
45- localStorage . setItem ( "server" , server )
46- return server as Server
47- } )
48-
49- const [ serverTimezone , setServerTimezone ] = useState ( "+08:00" )
50- const [ showPast , setShowPast ] = useState ( false )
51-
50+ setServer ( "North America" )
51+ } , [ ] )
5252
5353 useEffect ( ( ) => {
54- setServerTimezone ( timezones [ server ] )
55- localStorage . setItem ( "server" , server )
54+ if ( server ) {
55+ setServerTimezone ( timezones [ server ] )
56+ localStorage . setItem ( "server" , server )
57+ }
5658 } , [ server ] )
5759
5860 useEffect ( ( ) => {
0 commit comments