51 lines
1.8 KiB
TypeScript
51 lines
1.8 KiB
TypeScript
import { ModuleClientParams } from "@erp/core/client";
|
|
import { lazy } from "react";
|
|
import { Outlet, RouteObject } from "react-router-dom";
|
|
|
|
// Lazy load components
|
|
const CustomerInvoicesLayout = lazy(() =>
|
|
import("./components").then((m) => ({ default: m.CustomerInvoicesLayout }))
|
|
);
|
|
|
|
const CustomerInvoicesList = lazy(() =>
|
|
import("./pages").then((m) => ({ default: m.CustomerInvoicesList }))
|
|
);
|
|
|
|
const CustomerInvoiceAdd = lazy(() =>
|
|
import("./pages").then((m) => ({ default: m.CustomerInvoiceCreate }))
|
|
);
|
|
const CustomerInvoiceUpdate = lazy(() =>
|
|
import("./pages").then((m) => ({ default: m.InvoiceUpdatePage }))
|
|
);
|
|
|
|
export const CustomerInvoiceRoutes = (params: ModuleClientParams): RouteObject[] => {
|
|
return [
|
|
{
|
|
path: "customer-invoices",
|
|
element: (
|
|
<CustomerInvoicesLayout>
|
|
<Outlet context={params} />
|
|
</CustomerInvoicesLayout>
|
|
),
|
|
children: [
|
|
{ path: "", index: true, element: <CustomerInvoicesList /> }, // index
|
|
{ path: "list", element: <CustomerInvoicesList /> },
|
|
{ path: "create", element: <CustomerInvoiceAdd /> },
|
|
{ path: ":id/edit", element: <CustomerInvoiceUpdate /> },
|
|
|
|
//
|
|
/*{ path: "create", element: <CustomerInvoicesList /> },
|
|
{ path: ":id", element: <CustomerInvoicesList /> },
|
|
{ path: ":id/edit", element: <CustomerInvoicesList /> },
|
|
{ path: ":id/delete", element: <CustomerInvoicesList /> },
|
|
{ path: ":id/view", element: <CustomerInvoicesList /> },
|
|
{ path: ":id/print", element: <CustomerInvoicesList /> },
|
|
{ path: ":id/email", element: <CustomerInvoicesList /> },
|
|
{ path: ":id/download", element: <CustomerInvoicesList /> },
|
|
{ path: ":id/duplicate", element: <CustomerInvoicesList /> },
|
|
{ path: ":id/preview", element: <CustomerInvoicesList /> },*/
|
|
],
|
|
},
|
|
];
|
|
};
|