feat: Implement Invoice editor to create or modify invoices

This commit is contained in:
dhinesh-m24
2026-02-09 17:06:48 +05:30
parent cad0662478
commit 70d5dd1061
3 changed files with 1324 additions and 4 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -22,7 +22,7 @@ import { dataConnect } from "@/features/auth/firebase";
import DashboardLayout from "@/features/layouts/DashboardLayout"; import DashboardLayout from "@/features/layouts/DashboardLayout";
import type { RootState } from "@/store/store"; import type { RootState } from "@/store/store";
import { format, isWithinInterval, parseISO } from "date-fns"; import { format, isWithinInterval, parseISO } from "date-fns";
import { FileText, Plus, Search } from "lucide-react"; import { FileText, Plus, Search, SquarePen } from "lucide-react";
import { useMemo, useState } from "react"; import { useMemo, useState } from "react";
import { useSelector } from "react-redux"; import { useSelector } from "react-redux";
import { useNavigate } from "react-router-dom"; import { useNavigate } from "react-router-dom";
@@ -274,7 +274,7 @@ export default function InvoiceList() {
navigate(`/invoices/${invoice.id}/edit`); navigate(`/invoices/${invoice.id}/edit`);
}} }}
> >
<FileText className="h-4 w-4" /> <SquarePen className="h-4 w-4" />
</Button> </Button>
</TableCell> </TableCell>
</TableRow> </TableRow>

View File

@@ -26,7 +26,7 @@ import StaffAvailability from './features/operations/availability/StaffAvailabil
import TaskBoard from './features/operations/tasks/TaskBoard'; import TaskBoard from './features/operations/tasks/TaskBoard';
import InvoiceList from './features/finance/invoices/InvoiceList'; import InvoiceList from './features/finance/invoices/InvoiceList';
import InvoiceDetail from './features/finance/invoices/InvoiceDetail'; import InvoiceDetail from './features/finance/invoices/InvoiceDetail';
import InvoiceEditor from './features/finance/invoices/InvoiceEditor';
/** /**
* AppRoutes Component * AppRoutes Component
@@ -118,6 +118,8 @@ const AppRoutes: React.FC = () => {
{/* Finance Routes */} {/* Finance Routes */}
<Route path="/invoices" element={<InvoiceList />} /> <Route path="/invoices" element={<InvoiceList />} />
<Route path="/invoices/:id" element={<InvoiceDetail />} /> <Route path="/invoices/:id" element={<InvoiceDetail />} />
<Route path="/invoices/:id/edit" element={<InvoiceEditor />} />
<Route path="/invoices/new" element={<InvoiceEditor />} />
</Route> </Route>
<Route path="*" element={<Navigate to="/login" replace />} /> <Route path="*" element={<Navigate to="/login" replace />} />