'use client' import { useState } from 'react' import { useRouter } from 'next/navigation' import Link from 'next/link' import { registerUser } from '@/app/actions' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { UserPlus, KeyRound, User, Loader2, BadgeCheck, Eye, EyeOff } from 'lucide-react' export default function RegisterPage() { const router = useRouter() const [loading, setLoading] = useState(false) const [error, setError] = useState('') const [showPassword, setShowPassword] = useState(false) const [showConfirm, setShowConfirm] = useState(false) async function handleSubmit(e: React.FormEvent) { e.preventDefault() setLoading(true) setError('') const formData = new FormData(e.currentTarget) const name = formData.get('name') as string const username = (formData.get('username') as string).trim() const password = formData.get('password') as string const confirm = formData.get('confirm') as string if (!name || !username || !password || !confirm) { setError('Semua field wajib diisi') setLoading(false) return } if (password !== confirm) { setError('Password dan Konfirmasi Password tidak cocok') setLoading(false) return } if (password.length < 6) { setError('Password minimal 6 karakter') setLoading(false) return } const res = await registerUser(name, username, password) if (res.success) { const params = new URLSearchParams(window.location.search) const callbackUrl = params.get('callbackUrl') || '/' window.location.href = callbackUrl // Force hard reload to update context/middleware } else { setError(res.error || 'Gagal mendaftar') setLoading(false) } } return (
{/* Elegant Ambient Background */}
{/* Left Side: Branding (Hidden on Mobile) */}

Mulai Perjalanan
Anda di TitipIn

Buat akun secara gratis dan nikmati kemudahan mengelola PO jasa titip tanpa ribet.

Aman, Cepat, dan
Mudah digunakan.

{/* Right Side: Form */}

Daftar TitipIn

Buat Akun Baru

Lengkapi form di bawah untuk membuat akun baru

{error && (
{error}
)}

Sudah punya akun?{' '}

© {new Date().getFullYear()} TitipIn - Sistem Titip Pesanan by firmanramdhani

) }