42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
"use client";
|
|
|
|
import React from "react";
|
|
import { t } from "@/content/locales";
|
|
|
|
interface GameOverScreenProps {
|
|
credits: number;
|
|
onRestart: () => void;
|
|
}
|
|
|
|
export default function GameOverScreen({
|
|
credits,
|
|
onRestart,
|
|
}: GameOverScreenProps) {
|
|
return (
|
|
<div className="fixed inset-0 z-[100] flex items-center justify-center bg-black/90 backdrop-blur-xl animate-in fade-in duration-1000">
|
|
<div className="text-center space-y-6 p-12 border-2 border-red-600 bg-red-950/20 rounded-lg shadow-[0_0_50px_rgba(220,38,38,0.5)]">
|
|
<h1 className="text-6xl font-black text-red-600 tracking-tighter uppercase italic">
|
|
{t.GAME_OVER.TITLE}
|
|
</h1>
|
|
<p className="text-gray-400 font-mono">{t.GAME_OVER.SUBTITLE}</p>
|
|
|
|
<div className="py-4">
|
|
<p className="text-sm text-gray-500 uppercase tracking-widest">
|
|
{t.GAME_OVER.SCORE_LABEL}
|
|
</p>
|
|
<p className="text-3xl font-bold text-yellow-500">
|
|
{credits.toLocaleString()} Credits
|
|
</p>
|
|
</div>
|
|
|
|
<button
|
|
onClick={onRestart}
|
|
className="px-8 py-4 bg-red-600 hover:bg-red-700 text-white font-bold uppercase tracking-widest transition-all transform hover:scale-105 active:scale-95 shadow-[0_0_20px_rgba(220,38,38,0.4)]"
|
|
>
|
|
{t.GAME_OVER.RESTART_BUTTON}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|