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
38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
"use client";
|
|
|
|
import Link from "next/link";
|
|
import { useLocale } from "next-intl";
|
|
import { motion } from "framer-motion";
|
|
|
|
export default function NotFound() {
|
|
const locale = useLocale();
|
|
const isEs = locale === "es";
|
|
|
|
return (
|
|
<div className="min-h-[70vh] flex items-center justify-center px-4">
|
|
<motion.div
|
|
initial={{ opacity: 0, y: 20 }}
|
|
animate={{ opacity: 1, y: 0 }}
|
|
transition={{ duration: 0.6 }}
|
|
className="text-center max-w-lg"
|
|
>
|
|
<h1 className="text-8xl font-bold text-[#1a1a24] mb-4">404</h1>
|
|
<h2 className="text-2xl font-semibold text-[#f5f5f7] mb-4">
|
|
{isEs ? "Página no encontrada" : "Page Not Found"}
|
|
</h2>
|
|
<p className="text-[#a0a0a8] mb-8 leading-relaxed">
|
|
{isEs
|
|
? "La página que buscas no existe o ha sido movida."
|
|
: "The page you are looking for does not exist or has been moved."}
|
|
</p>
|
|
<Link
|
|
href={`/${locale}`}
|
|
className="inline-block px-8 py-3 bg-[#d4a574] text-[#0a0a0f] font-semibold rounded-xl hover:bg-[#e8c4a0] transition-colors"
|
|
>
|
|
{isEs ? "Volver al inicio" : "Go back home"}
|
|
</Link>
|
|
</motion.div>
|
|
</div>
|
|
);
|
|
}
|