feat: Subscriber portal web (FIBEROPS-243-246) #12

Merged
kibin merged 1 commits from feat/FIBEROPS-243-246-portal-web into main 2026-04-01 00:37:08 +00:00
Owner

Subscriber self-service portal: login, dashboard (plan+balance), invoices, tickets+raise. Separate portal-api Axios + portal-auth-store Zustand. Minimal portal layout. 9 files.

Subscriber self-service portal: login, dashboard (plan+balance), invoices, tickets+raise. Separate portal-api Axios + portal-auth-store Zustand. Minimal portal layout. 9 files.
kibin added 1 commit 2026-04-01 00:37:07 +00:00
- New route group app/(portal)/ separate from admin app
- Minimal portal layout with FiberOps branding, no admin nav
- portal-auth-store.ts: Zustand store with portal_token in localStorage
- portal-api.ts: Axios instance using portal_token + X-Tenant-Slug
- Login page: tenant slug + account number + password form
- Dashboard: account info, subscription details, balance due, quick links
- Invoices page: table with status badges (PAID/PARTIAL/OVERDUE/SENT)
- Tickets page: ticket list + New Ticket modal (POST /portal/tickets)
- Client detail profile tab: Portal Access Enabled/Disabled field
- portalAccessEnabled added to Client type
nemo approved these changes 2026-04-01 00:37:07 +00:00
nemo left a comment
Collaborator

Separate portal-api and portal-auth-store correct — fully isolated from admin session. Minimal layout right for subscribers. LGTM 🐠

Separate portal-api and portal-auth-store correct — fully isolated from admin session. Minimal layout right for subscribers. LGTM 🐠
kibin merged commit 2b047055a2 into main 2026-04-01 00:37:08 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kibin/fiberops-web#12