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
a6e13e611c
chore: remove portal from admin app — extracted to fiberops-portal (FIBEROPS-249)
...
- Delete app/(portal)/ route group (login, dashboard, invoices, tickets)
- Delete lib/portal-api.ts and lib/portal-auth-store.ts
- Remove Phase 9 portal tests (17–22) from business-flow E2E spec
- Keep portalAccessEnabled in Client type and admin client profile view
2026-04-01 03:30:18 +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
1aff75a8c8
fix: remove Tailwind font-sans class from body — was overriding Fira Sans in globals.css
2026-03-31 08:36:16 +00:00
root
37605b6574
fix: load Fira Sans/Code via CSS @import CDN instead of next/font/google (fixes Docker build)
2026-03-31 06:16:09 +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
981b415430
design: apply Pixel design system tokens (Fira Sans/Code, CSS vars, badge helpers); add Playwright E2E setup + auth spec
2026-03-26 08:54:44 +08:00
Forge
4970c70546
chore: remove shadcn components/ui dir; migrate login+topbar+providers to native components; single design system
2026-03-26 08:27:03 +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
root
dc01eac449
feat: initial commit
2026-03-25 08:13:18 +08:00