'use client' import { useState } from 'react' import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" import { JefflixLogo } from "@/components/jefflix-logo" import { UserPlus, CheckCircle, AlertCircle, ArrowLeft } from "lucide-react" import Link from 'next/link' export default function RequestAccessPage() { const [formData, setFormData] = useState({ name: '', email: '', reason: '', }) const [status, setStatus] = useState<'idle' | 'loading' | 'success' | 'error'>('idle') const [errorMessage, setErrorMessage] = useState('') const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setStatus('loading') setErrorMessage('') try { const response = await fetch('/api/request-access', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(formData), }) const data = await response.json() if (!response.ok) { throw new Error(data.error || 'Failed to submit request') } setStatus('success') } catch (error) { setStatus('error') setErrorMessage(error instanceof Error ? error.message : 'Something went wrong') } } if (status === 'success') { return (

Request Submitted!

Your access request has been sent. You'll receive an email once your account is ready.

This usually happens within 24-48 hours.

) } return (
{/* Header */}
{/* Main Content */}

Request Access

Jefflix is a community media server. To protect the community and ensure quality access, we require approval for new accounts.

Required for Live Sports & Premium Content
setFormData({ ...formData, name: e.target.value })} className="w-full px-4 py-3 rounded-lg border border-border bg-background focus:outline-none focus:ring-2 focus:ring-orange-500" placeholder="Enter your name" />
setFormData({ ...formData, email: e.target.value })} className="w-full px-4 py-3 rounded-lg border border-border bg-background focus:outline-none focus:ring-2 focus:ring-orange-500" placeholder="your@email.com" />

We'll send your login details to this address