'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 (
Your access request has been sent. You'll receive an email once your account is ready.
This usually happens within 24-48 hours.
Jefflix is a community media server. To protect the community and ensure quality access, we require approval for new accounts.
Both sites can be installed as apps on your phone's home screen. On a smart TV, use the Jellyfin app and connect to movies.jefflix.lol.