Some checks failed
Deploy Multi-VM / Deploy VM Web (push) Has been cancelled
Deploy Multi-VM / Deploy VM Auth (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.fusionfall.yml, VM_FUSIONFALL_HOST, VM_FUSIONFALL_SSH_KEY, VM_FUSIONFALL_USER, fusionfall) (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.maple2.yml, VM_MAPLE2_HOST, VM_MAPLE2_SSH_KEY, VM_MAPLE2_USER, maple2) (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.minecraft.yml, VM_MINECRAFT_HOST, VM_MINECRAFT_SSH_KEY, VM_MINECRAFT_USER, minecraft) (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.retro.yml, VM_RETRO_HOST, VM_RETRO_SSH_KEY, VM_RETRO_USER, retro) (push) Has been cancelled
- Redesign all internal pages to warm/gold aesthetic (catalog, game detail, documentary, about, donate, community, guides, contact, server-status, login, profile, admin, not-found) - Add real cover images for all 4 games via Strapi CMS with getImageUrl helper - Integrate NextAuth v5 with Authentik OIDC authentication - Add new public pages: community, guides, contact, server-status - Add new protected pages: login, profile, admin dashboard - Remove legacy AFC/MercadoPago system entirely - Add Docker Compose split files for service isolation (main, auth, fusionfall, nier) - Add OpenFusion VM deployment configs (config.vm.ini, systemd service, README-VM) - Add NieR Reincarnation server guide and desktop client guide - Add architecture docs for multi-VM deployment - Add healthcheck, SSE, contact, newsletter, admin API routes - Add reusable UI components, skeleton loaders, activity feed, bookmark system - Update deployment and game server documentation
31 lines
808 B
TypeScript
31 lines
808 B
TypeScript
import { redirect } from "next/navigation";
|
|
import { auth } from "@/lib/auth";
|
|
import { getMessages } from "next-intl/server";
|
|
import { NextIntlClientProvider } from "next-intl";
|
|
import { ProfileCard } from "@/components/auth/ProfileCard";
|
|
|
|
export default async function ProfilePage({
|
|
params,
|
|
}: {
|
|
params: Promise<{ locale: string }>;
|
|
}) {
|
|
const { locale } = await params;
|
|
const session = await auth();
|
|
|
|
if (!session?.user) {
|
|
redirect(`/${locale}/login`);
|
|
}
|
|
|
|
const messages = await getMessages();
|
|
|
|
return (
|
|
<NextIntlClientProvider messages={messages} locale={locale}>
|
|
<div className="min-h-screen bg-[#0a0a0f] px-4 py-12">
|
|
<div className="max-w-2xl mx-auto">
|
|
<ProfileCard user={session.user} />
|
|
</div>
|
|
</div>
|
|
</NextIntlClientProvider>
|
|
);
|
|
}
|