move fetch to useEffect
All checks were successful
Deploy to Cloudflare Pages / deploy (push) Successful in 6m25s
All checks were successful
Deploy to Cloudflare Pages / deploy (push) Successful in 6m25s
This commit is contained in:
@@ -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} />;
|
||||
}
|
||||
|
||||
@@ -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');
|
||||
|
||||
Reference in New Issue
Block a user