Skip to content

Commit e18cedb

Browse files
committed
Change server check
1 parent 75a10cf commit e18cedb

1 file changed

Lines changed: 26 additions & 22 deletions

File tree

pages/events.tsx

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,26 +25,30 @@ const timezones: Record<Server, string> = {
2525
export default function Events(props: Props & { location: string }) {
2626
const [now, setNow] = useState(() => Date.now())
2727

28-
const [server, setServer] = useState("Europe" as Server)
29-
const [serverTimezone, setServerTimezone] = useState("+08:00")
30-
31-
const [showPast, setShowPast] = useState(false)
28+
const [server, setServer] = useState(() => {
29+
if (typeof window == "undefined") return "Europe"
3230

33-
useEffect(() => {
34-
const server = localStorage.getItem("server")
31+
let server = localStorage.getItem("server")
3532

3633
if (server && Object.keys(timezones).includes(server))
37-
setServer(server as Server)
38-
else {
39-
const clientOffset = new Date().getTimezoneOffset() / 60
40-
if (clientOffset > 5)
41-
setServer("Asia")
42-
else if (clientOffset > -2 || clientOffset < -11)
43-
setServer("Europe")
44-
else
45-
setServer("North America")
46-
}
47-
}, [])
34+
return server as Server
35+
36+
const clientOffset = new Date().getTimezoneOffset() / 60
37+
38+
if (clientOffset > 5)
39+
server = "Asia"
40+
else if (clientOffset > -2 || clientOffset < -11)
41+
server = "Europe"
42+
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+
4852

4953
useEffect(() => {
5054
setServerTimezone(timezones[server])
@@ -66,10 +70,10 @@ export default function Events(props: Props & { location: string }) {
6670
const end = getEndTime(e, serverTimezone)
6771

6872
return start && start.getTime() <= now &&
69-
(
70-
(end && end.getTime() >= now) ||
71-
(!end && e.reminder == "daily")
72-
)
73+
(
74+
(end && end.getTime() >= now) ||
75+
(!end && e.reminder == "daily")
76+
)
7377
}).sort((a, b) => {
7478
const endA = getEndTime(a, serverTimezone)
7579
const endB = getEndTime(b, serverTimezone)
@@ -158,7 +162,7 @@ export default function Events(props: Props & { location: string }) {
158162
function EventCard({ e, className, now, serverTimezone, hoverClass = "" }: { e: GenshinEvent, className: string, hoverClass?: string, now: number, serverTimezone: string }) {
159163
const start = getStartTime(e, serverTimezone)
160164
const end = getEndTime(e, serverTimezone)
161-
const child = <div className={`text-center max-w-md w-full rounded-xl pb-1 ${className} ${e.link ? `${hoverClass} transition`:""}`}>
165+
const child = <div className={`text-center max-w-md w-full rounded-xl pb-1 ${className} ${e.link ? `${hoverClass} transition` : ""}`}>
162166
<div className={`${styles.mask} w-full`}>
163167
<img loading="lazy" className="rounded-t-xl" src={e.img ?? "/img/Event_No_Img.png"} width={448} alt={e.name} />
164168
</div>

0 commit comments

Comments
 (0)