gigafibre-fsm/apps/client/src/router/index.js
louispaulb 4693bcf60c feat: telephony UI, performance indexes, Twilio softphone, lazy-load invoices
- Add PostgreSQL performance indexes migration script (1000x faster queries)
  Sales Invoice: 1,248ms → 28ms, Payment Entry: 443ms → 31ms
  Indexes on customer/party columns for all major tables
- Disable 3CX poller (PBX_ENABLED flag, using Twilio instead)
- Add TelephonyPage: full CRUD UI for Routr/Fonoster resources
  (trunks, agents, credentials, numbers, domains, peers)
- Add PhoneModal + usePhone composable (Twilio WebRTC softphone)
- Lazy-load invoices/payments (initial 5, expand on demand)
- Parallelize all API calls in ClientDetailPage (no waterfall)
- Add targo-hub service (SSE relay, SMS, voice, telephony API)
- Customer portal: invoice detail, ticket detail, messages pages
- Remove dead Ollama nginx upstream

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 13:59:59 -04:00

23 lines
987 B
JavaScript

import { createRouter, createWebHashHistory } from 'vue-router'
const routes = [
{
path: '/',
component: () => import('layouts/PortalLayout.vue'),
children: [
{ path: '', name: 'dashboard', component: () => import('pages/DashboardPage.vue') },
{ path: 'invoices', name: 'invoices', component: () => import('pages/InvoicesPage.vue') },
{ path: 'invoices/:name', name: 'invoice-detail', component: () => import('pages/InvoiceDetailPage.vue') },
{ path: 'tickets', name: 'tickets', component: () => import('pages/TicketsPage.vue') },
{ path: 'tickets/:name', name: 'ticket-detail', component: () => import('pages/TicketDetailPage.vue') },
{ path: 'messages', name: 'messages', component: () => import('pages/MessagesPage.vue') },
{ path: 'me', name: 'account', component: () => import('pages/AccountPage.vue') },
],
},
]
export default createRouter({
history: createWebHashHistory(process.env.VUE_ROUTER_BASE),
routes,
})