move fetch to useEffect
All checks were successful
Deploy to Cloudflare Pages / deploy (push) Successful in 6m25s

This commit is contained in:
2026-03-04 22:40:33 +01:00
parent b0b8968fb2
commit df8ebbfd47
2 changed files with 12 additions and 6 deletions

View File

@@ -1,12 +1,18 @@
"use client";
import { useEffect, useState } from "react";
import { fetchLeaderboard } from "@/lib/api";
import { defaultAppData } from "@/lib/defaultData";
import ClientPage from "./ClientPage";
export default async function Page() {
const leaderboardData = await fetchLeaderboard();
const initialAppData = leaderboardData || defaultAppData;
export default function Page() {
const [appData, setAppData] = useState(defaultAppData);
return <ClientPage initialAppData={initialAppData} />;
useEffect(() => {
fetchLeaderboard().then((data) => {
setAppData(data || defaultAppData);
});
}, []);
return <ClientPage initialAppData={appData} />;
}

View File

@@ -2,8 +2,8 @@ import { AppData } from './types';
export async function fetchLeaderboard(): Promise<AppData | null> {
const API_BASE = process.env.NEXT_PUBLIC_API_BASE || '';
const SERVER_ID = process.env.SERVER_ID || '';
const ACCESS_TOKEN = process.env.ACCESS_TOKEN || '';
const SERVER_ID = process.env.NEXT_PUBLIC_SERVER_ID || '';
const ACCESS_TOKEN = process.env.NEXT_PUBLIC_ACCESS_TOKEN || '';
if (!API_BASE || !SERVER_ID || !ACCESS_TOKEN) {
console.warn('Missing API configuration');