Commit Graph

45 Commits

Author SHA1 Message Date
3fd1091ebc feat(259): reports tabs overview+collections+tickets, CSV export 2026-04-01 07:59:32 +00:00
272a543425 feat(258): add Convert to Client button on leads 2026-04-01 07:59:29 +00:00
0d35d18b36 feat(257,253): revert status, assign-to-me, map pin, activate client 2026-04-01 07:59:26 +00:00
f22c8d9b71 feat(261): areas edit+archive, users reset-password + multi-role 2026-04-01 07:55:51 +00:00
d16b96920f feat(262): user profile page with edit info + reset password 2026-04-01 07:55:41 +00:00
10fc6285dd feat(260): add date range, entity type, action type filters 2026-04-01 07:54:59 +00:00
3b7057a294 feat(257): add Revert Status + Assigned to me filter 2026-04-01 07:54:56 +00:00
b212bb1d36 feat(252): add View Tickets/Invoices/Payments buttons to client profile 2026-04-01 07:54:31 +00:00
95bbb198b5 feat(251): filter plan dropdown by billing type, hide archived plans 2026-04-01 07:54:27 +00:00
10531338d0 feat(250): add Active/Archived tab toggle to Plans page 2026-04-01 07:54:25 +00:00
34549fc4b6 fix(254): invoice modal scrollable with sticky footer buttons (#25) 2026-04-01 07:53:26 +00:00
ef6b6a3ad4 fix: force-dynamic on app layout to skip SSR static gen for all pages 2026-04-01 04:49:20 +00:00
8a31ca0199 fix: force-dynamic on recharts pages to prevent SSR static export failure 2026-04-01 04:39:54 +00:00
eaa03c69e0 feat: Subscriber portal web — login, dashboard, invoices, tickets (FIBEROPS-243-246)
- 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
2026-04-01 00:36:10 +00:00
b719d87e1b feat: Accounting web module — COA, journals, expenses, accounts, reports + nav (FIBEROPS-234-239)
- Chart of Accounts (FIBEROPS-234): type-filtered table, add/seed/toggle-active
- Journal Entries (FIBEROPS-235): double-entry form with debit=credit validation, read-only view modal
- Expenses (FIBEROPS-236): date-range filtered table, record expense against expense accounts
- Company Accounts + Transfers (FIBEROPS-237): balance cards, add account modal, transfer modal, transfers table
- Financial Reports (FIBEROPS-238): Trial Balance, P&L, Balance Sheet, Cash Flow with date pickers
- Sidebar nav entry (FIBEROPS-239): Accounting link with BookOpen icon, placed between Reports and Settings
- AccountingNav horizontal sub-nav component shared across all accounting pages
- New types: Account, JournalEntry, Expense, CompanyAccount, Transfer and report types added to src/types/index.ts
2026-03-31 23:35:29 +00:00
b1e2219391 fix: Settings Areas & Zones button spacing (FIBEROPS-59) 2026-03-31 13:14:08 +00:00
root
557a2791d3 feat: client activation flow — prepaid & postpaid step-by-step wizard (FIBEROPS-227) 2026-03-31 09:43:03 +00:00
root
7c2ab351a8 fix: settings plans fetch includeInactive=true to show all plans 2026-03-31 06:02:21 +00:00
root
a77759cc97 fix: remittances totalAmount+clientId (FIBEROPS-221), create client URL (FIBEROPS-222), tickets /messages (FIBEROPS-224) 2026-03-31 04:15:33 +00:00
root
cf369b2da6 fix(m6): remittances — totalAmount field fix, add data-testid, upgrade E2E spec 2026-03-31 02:22:43 +00:00
root
512b9ef830 fix(m5): add data-testid to payment rows; upgrade E2E spec with proper selectors 2026-03-31 02:18:52 +00:00
root
b0c68ae562 fix(m4): plans page - correct API fields (speedDownMbps/speedUpMbps/monthlyPrice) 2026-03-26 10:11:16 +00:00
root
eebdf21505 fix(m4): plans page — correct API field names (speedDownMbps/speedUpMbps/monthlyPrice), plain array response; fix E2E tests 2026-03-26 10:09:47 +00:00
root
bd006aca15 fix(m4): plans module audit fixes + E2E tests 2026-03-26 09:54:01 +00:00
root
50fd7e39fc fix(m2-m3): data-testid on new-client+add-client btns; fix client subscriptions API response shape; update E2E specs 2026-03-26 09:15:25 +00:00
root
8b0a1ec3a7 feat(settings): add edit plan modal — name/type/speed/price inline edit (M9.4) 2026-03-26 07:19:09 +00:00
Forge
ea3a076461 chore: replace orphaned tasks/subscriptions/users pages with redirects 2026-03-26 09:56:12 +08:00
Forge
4510d0f6a4 fix(e2e): resilient auth helper — handle zustand hydration delay, flexible selectors, longer timeout; add isError to invoices 2026-03-26 09:55:08 +08:00
Forge
9d107ece2f fix(M3-M11): clients meta pagination, client detail types, sidebar icon imports, payments error state; add E2E specs for all modules 2026-03-26 09:41:15 +08:00
Forge
562ff9e9b6 fix(dashboard): error state, role-gate revenue/chart to ADMIN, remove tasks card, skeleton loaders; add dashboard.spec.ts 2026-03-26 09:22:04 +08:00
Forge
e6ccda70d2 chore: remove orphaned shadcn settings sub-pages (wrong design system); design rules added to FORGE_NOTES 2026-03-26 07:57:56 +08:00
Forge
ac0222fbf9 fix: remove Tasks from sidebar, rebuild Reports with KPIs+charts+tables, fix Settings (billing gracePeriod, Users CRUD with create+role+toggle) 2026-03-25 21:45:11 +08:00
Forge
8ae1e14aee feat: full CRUD on all pages — clients (add+navigate), client detail (payments tab+pay), invoices (detail+pay+void), payments (detail view), remittances (submit flow), tickets (detail+comments+create), leads (add+status update) 2026-03-25 21:40:30 +08:00
Forge
05ed524e47 fix: tasks endpoint→manual-tasks, add Leads page, add Leads to sidebar, fix field names 2026-03-25 16:19:04 +08:00
Forge
380a83283b restore: tasks, users, settings, dashboard — all original pages recovered from old Docker image 2026-03-25 16:16:51 +08:00
Forge
2b385ba866 restore: old src/ components, subscriptions, audit-log, client detail pages; fix tsconfig @/* paths; merge api.ts 2026-03-25 16:15:17 +08:00
Forge
6565590eb3 fix: SSR crash — QueryClient in useState, mounted guard for auth hydration 2026-03-25 15:47:20 +08:00
Forge
56482bf66a feat: Settings Users page with toggle active 2026-03-25 08:41:51 +08:00
Forge
d3792d19eb feat: Tickets + Reports pages with real data and charts 2026-03-25 08:41:24 +08:00
Forge
71f87a11be feat: settings pages — users table, areas/zones cards 2026-03-25 08:41:10 +08:00
Forge
b162f443e5 feat: Invoices + Payments pages with real API tables 2026-03-25 08:40:08 +08:00
Forge
cf2869a69a feat: remittances web page with status badges and collector info 2026-03-25 08:40:03 +08:00
Forge
5ba7d1d13f feat: real dashboard + clients table with API integration 2026-03-25 08:38:54 +08:00
Forge
142c0d1497 feat: real data-fetching pages — clients, invoices, payments, tickets, reports with charts 2026-03-25 08:37:46 +08:00
Forge
310a9453de feat: Next.js 14 web admin scaffold — auth, sidebar, dashboard, placeholders 2026-03-25 08:23:25 +08:00