Moved to next js ssr (with fixes)

This commit is contained in:
anibus
2026-08-15 18:42:06 +03:00
parent 2184f1642c
commit 23bfad8956
21 changed files with 1473 additions and 1659 deletions
+13 -3
View File
@@ -1,6 +1,7 @@
import type { Metadata } from 'next';
import ModPageClient from '@/components/pages/ModPageClient';
import { getMod } from '@/lib/api-server';
import { getMod, getUnitsForMod, getBuildingsForMod } from '@/lib/api-server';
import { IRaceBuildings } from '@/src/types/IBuildingShort';
export const dynamic = 'force-dynamic';
@@ -28,6 +29,15 @@ export async function generateMetadata({ params }: Props): Promise<Metadata> {
};
}
export default function ModPage() {
return <ModPageClient />;
export default async function ModPage({ params }: Props) {
const [mod, racesUnits] = await Promise.all([
getMod(params.modId),
getUnitsForMod(params.modId),
]);
const units = racesUnits ?? [];
let racesBuildings: IRaceBuildings[] = [];
if (units.length <= 10) {
racesBuildings = (await getBuildingsForMod(params.modId)) ?? [];
}
return <ModPageClient initialMod={mod} racesUnits={units} racesBuildings={racesBuildings} />;
}
@@ -1,6 +1,8 @@
import type { Metadata } from 'next';
import BuildingPageClient from '@/components/pages/BuildingPageClient';
import { getBuilding, getMod } from '@/lib/api-server';
import { IBuilding } from '@/src/types/IBuilding';
import { IMod } from '@/src/types/Imod';
export const dynamic = 'force-dynamic';
@@ -32,6 +34,16 @@ export async function generateMetadata({ params }: Props): Promise<Metadata> {
};
}
export default function BuildingPage() {
return <BuildingPageClient />;
export default async function BuildingPage({ params }: Props) {
const [mod, building] = await Promise.all([
getMod(params.modId),
getBuilding(params.buildingId),
]);
return (
<BuildingPageClient
key={params.buildingId}
initialBuilding={building as IBuilding | null}
initialMod={mod as IMod | null}
/>
);
}
+16 -3
View File
@@ -1,6 +1,6 @@
import type { Metadata } from 'next';
import RacePageClient from '@/components/pages/RacePageClient';
import { getMod, getRace } from '@/lib/api-server';
import { getMod, getRace, getRaceUnits, getRaceBuildings } from '@/lib/api-server';
export const dynamic = 'force-dynamic';
@@ -28,6 +28,19 @@ export async function generateMetadata({ params }: Props): Promise<Metadata> {
};
}
export default function RacePage() {
return <RacePageClient />;
export default async function RacePage({ params }: Props) {
const [mod, race, raceUnits, raceBuildings] = await Promise.all([
getMod(params.modId),
getRace(params.raceId),
getRaceUnits(params.modId, params.raceId),
getRaceBuildings(params.modId, params.raceId),
]);
return (
<RacePageClient
initialMod={mod}
initialRace={race}
raceUnits={raceUnits}
raceBuildings={raceBuildings}
/>
);
}
@@ -1,6 +1,8 @@
import type { Metadata } from 'next';
import UnitPageClient from '@/components/pages/UnitPageClient';
import { getMod, getUnit } from '@/lib/api-server';
import { IUnit } from '@/src/types/IUnit';
import { IMod } from '@/src/types/Imod';
export const dynamic = 'force-dynamic';
@@ -30,6 +32,16 @@ export async function generateMetadata({ params }: Props): Promise<Metadata> {
};
}
export default function UnitPage() {
return <UnitPageClient />;
export default async function UnitPage({ params }: Props) {
const [mod, unit] = await Promise.all([
getMod(params.modId),
getUnit(params.unitId),
]);
return (
<UnitPageClient
key={params.unitId}
initialUnit={unit as IUnit | null}
initialMod={mod as IMod | null}
/>
);
}