| "use client"; | |
| import { useState } from "react"; | |
| import { useRouter } from "next/navigation"; | |
| export default function JoinPage() { | |
| const [inviteCode, setInviteCode] = useState(""); | |
| const router = useRouter(); | |
| const handleSubmit = (e: React.FormEvent) => { | |
| e.preventDefault(); | |
| if (!inviteCode) return; | |
| router.push(`/join/${inviteCode}`); | |
| }; | |
| return ( | |
| <div className="min-h-screen bg-gray-100 py-8"> | |
| <div className="container mx-auto px-4"> | |
| <div className="max-w-2xl mx-auto bg-white rounded-lg shadow-lg p-8"> | |
| <h1 className="text-3xl font-bold mb-8">Rejoindre une partie</h1> | |
| <form onSubmit={handleSubmit} className="space-y-6"> | |
| <div> | |
| <label className="block text-sm font-medium text-gray-700 mb-2"> | |
| Code d'invitation | |
| </label> | |
| <input | |
| type="text" | |
| value={inviteCode} | |
| onChange={(e) => setInviteCode(e.target.value)} | |
| className="w-full px-4 py-2 border rounded-lg" | |
| placeholder="Entrez le code d'invitation" | |
| required | |
| /> | |
| </div> | |
| <button | |
| type="submit" | |
| className="w-full px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700" | |
| > | |
| Continuer | |
| </button> | |
| </form> | |
| </div> | |
| </div> | |
| </div> | |
| ); | |
| } |