+
+
|
Invoice
|
- Site |
- Period |
+ Site |
+ Period |
Lines |
- Revenue ex VAT |
- VAT |
- Total incl VAT |
+ Revenue ex VAT |
+ VAT |
+ Total |
Status |
@@ -113,6 +114,7 @@ export function InvoiceList({
+
>
);
@@ -157,7 +159,7 @@ function InvoiceRow({
-
+ |
{invoice.site ? (
@@ -167,14 +169,16 @@ function InvoiceRow({
—
)}
|
-
+ |
{invoice.period_from.slice(0, 10)} → {invoice.period_to.slice(0, 10)}
|
- {lineCount} |
-
+ |
+ {lineCount}
+ |
+
{ZAR2(invoice.total_excl)}
|
-
+ |
{ZAR2(invoice.vat)}
|
diff --git a/components/InvoiceTable.tsx b/components/InvoiceTable.tsx
index 92f772c..538efda 100644
--- a/components/InvoiceTable.tsx
+++ b/components/InvoiceTable.tsx
@@ -2,19 +2,9 @@ import type { Asset, BookedLine, Invoice } from "@/lib/data";
import { ZAR2 } from "@/lib/utils";
import { AlertTriangle, CheckCircle2 } from "lucide-react";
import { BookingSelect } from "@/components/BookingSelect";
+import { ScrollFade } from "@/components/ScrollFade";
import { InvoiceUploader, AttachedDocument } from "@/components/InvoiceUploader";
-// Right-edge fade so a horizontally scrollable table reads as scrollable on touch.
-// pointer-events-none so it never swallows a tap on the row underneath.
-function ScrollFade() {
- return (
-
- );
-}
-
export function InvoiceSummary({
invoice,
lines,
diff --git a/components/ScrollFade.tsx b/components/ScrollFade.tsx
new file mode 100644
index 0000000..1f6f300
--- /dev/null
+++ b/components/ScrollFade.tsx
@@ -0,0 +1,10 @@
+// Right-edge fade telling you a wide table scrolls sideways.
+// pointer-events-none so it never swallows a tap on the row underneath.
+export function ScrollFade({ className = "" }: { className?: string }) {
+ return (
+
+ );
+}
\ No newline at end of file
|