"use client" import { useState, useEffect, useCallback } from "react" import Link from "next/link" type Mode = "login" | "register" function Logo() { return (
{/* Red slashes */}
{[0, 1, 2].map((i) => (
))}
{/* FORTUNE box */}
FORTUNE
{/* BETS text */} BETS
) } interface AuthModalProps { open: boolean defaultMode: Mode onClose: () => void } export function AuthModal({ open, defaultMode, onClose }: AuthModalProps) { const [mode, setMode] = useState(defaultMode) const [phone, setPhone] = useState("") const [password, setPassword] = useState("") const [repeatPassword, setRepeatPassword] = useState("") const [ageConfirmed, setAgeConfirmed] = useState(false) // Sync mode if parent changes defaultMode while open useEffect(() => { if (open) setMode(defaultMode) }, [defaultMode, open]) // Close on Escape const handleKey = useCallback( (e: KeyboardEvent) => { if (e.key === "Escape") onClose() }, [onClose] ) useEffect(() => { if (open) window.addEventListener("keydown", handleKey) return () => window.removeEventListener("keydown", handleKey) }, [open, handleKey]) if (!open) return null return (
e.stopPropagation()} > {/* Close button */} {/* Logo */}
{/* Title */}

{mode === "login" ? "LOGIN" : "REGISTER"}

{/* Form */}
{/* Phone Number */}
ET +251 setPhone(e.target.value)} className="flex-1 bg-white border border-l-0 border-gray-300 px-3 py-2 text-sm text-[#333] placeholder:text-gray-400 focus:outline-none focus:border-brand-primary" />
{/* Password */}
setPassword(e.target.value)} placeholder="Password" className="w-full bg-white border border-gray-300 px-3 py-2 text-sm text-[#333] placeholder:text-gray-400 focus:outline-none focus:border-brand-primary" />
{/* Repeat Password (register only) */} {mode === "register" && (
setRepeatPassword(e.target.value)} placeholder="Repeat Password" className="w-full bg-white border border-gray-300 px-3 py-2 text-sm text-[#333] placeholder:text-gray-400 focus:outline-none focus:border-brand-primary" />
)} {/* Age confirmation (register only) */} {mode === "register" && ( )} {/* Forgot password (login only) */} {mode === "login" && (
Forgot password?
)} {/* Submit button */} {/* Support link */}

Support

{/* Toggle mode */}

{mode === "login" ? ( <> Don't have an account?{" "} ) : ( <> Already have an account?{" "} )}

) }