Login
Fitur Login memungkinkan pengguna yang sudah terdaftar untuk masuk ke dalam sistem ejourney eGrader.
Alur Pengguna
- Pengguna mengakses halaman Login (
/auth/login). - Pengguna memasukkan Email dan Password.
- Sistem memvalidasi input.
- Jika valid, sistem mengirim permintaan login ke server.
- Jika berhasil:
- Token akses disimpan (biasanya di cookie/local storage).
- Pengguna diarahkan ke halaman Dashboard.
- Jika gagal:
- Pesan error ditampilkan.
- Jika akun belum diverifikasi, pengguna diberi opsi untuk mengirim ulang email verifikasi.
Validasi Input
Validasi dilakukan menggunakan Zod schema. Berikut aturannya:
| Field | Tipe | Aturan Validasi | Pesan Error |
|---|---|---|---|
string | Format email yang valid | "Email is required" / Format tidak valid | |
| Password | string | Min. 8 karakter | "Password must be at least 8 characters" |
| Harus ada huruf besar | "Password must contain at least one uppercase letter..." | ||
| Harus ada angka | |||
| Harus ada karakter spesial |
Teknis
Schema validasi didefinisikan di src/schemas/auth.ts.
Penanganan Error
- Unverified Email: Jika server mengembalikan kode error
unverified_email, sistem akan menampilkan pesan khusus dan tombol untuk mengirim ulang verifikasi. - Credential Salah: Menampilkan pesan error umum atau spesifik dari server.
Komponen Terkait
- Halaman:
src/app/auth/login/page.tsx - Schema:
src/schemas/auth.ts - Query/Mutation:
useLogin,useResendVerificationdisrc/queries/auth.ts