Skip to content

[Task]: URL Route Architecture Refactor untuk Portal Admin dan Mitra (apps/web) #35

Closed

Description

@Oktavian19

Goal & Scope

  • Problem: Navigasi modul di portal Admin (/admin) dan Mitra (/mitra) saat ini dikendalikan oleh local useState. Saat halaman web di-refresh, pengguna selalu terlompat kembali ke halaman awal dashboard bawaan dan kehilangan filter/tab aktif.
  • Scope:
    • Menerapkan React Router nested sub-routes (createBrowserRouter + <Outlet />):
      • Admin: /admin/dashboard, /admin/psychologists, /admin/partners, /admin/referrals, /admin/users-coins, /admin/content-config.
      • Mitra: /mitra/psychologists, /mitra/referrals, /mitra/profile.
    • Mengintegrasikan URL query parameters untuk state filter & sub-tab (contoh: /admin/partners?status=pending, /admin/users-coins?tab=coins).
    • Menjaga sesi otentikasi login tetap stabil saat navigasi antar rute maupun saat refresh browser.
  • Out of Scope: Perubahan arsitektur di luar aplikasi web (apps/web).

Acceptance Criteria

  • Berpindah modul Admin atau Mitra memperbarui path URL secara instan tanpa reload halaman penuh.
  • Saat halaman di-refresh pada sub-modul tertentu (misal: /admin/partners?status=pending), posisi tampilan dan filter tetap persisten.
  • Tombol Back dan Forward pada browser bekerja sesuai riwayat navigasi pengguna.
  • Rute default /admin otomatis mengarahkan (redirect) ke /admin/dashboard, dan /mitra ke rute utama mitra.
  • Lulus pengujian build (pnpm build) tanpa error.

Technical Notes & Architecture

  • Menggunakan React Router 8 (createBrowserRouter, NavLink, useSearchParams, <Outlet />).
  • File target: apps/web/src/App.tsx, apps/web/src/pages/AdminDashboardPage.tsx, apps/web/src/pages/PartnerDashboardPage.tsx.

Definition of Done

  • Branch mematuhi konvensi {type}/{issue}-{slug}.
  • Verifikasi refresh pada seluruh modul Admin dan Mitra berjalan normal.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

refactorCode refactoring

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions