From 8c0f67ca351778405279f7e225ee8dae654033f9 Mon Sep 17 00:00:00 2001 From: Blake Matthes Date: Thu, 20 Nov 2025 19:47:52 -0600 Subject: [PATCH] refactor(forklifts): more refactoring to improve during production --- .../forklifts/routes/invoices/addInvoice.ts | 1 + .../pkg/db/schema/forkliftLeasesInvoice.ts | 2 +- app/src/pkg/db/schema/leaseInvoices.ts | 1 + .../src/lib/formStuff/components/TextArea.tsx | 28 +++++++++++++++++++ frontend/src/lib/formStuff/index.tsx | 2 ++ .../_forklifts/-components/NewForklift.tsx | 3 ++ .../_forklifts/-components/NewInvoice.tsx | 11 ++++++++ .../_app/_forklifts/forklifts/invoices.tsx | 21 ++++++++++++++ 8 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 frontend/src/lib/formStuff/components/TextArea.tsx diff --git a/app/src/internal/forklifts/routes/invoices/addInvoice.ts b/app/src/internal/forklifts/routes/invoices/addInvoice.ts index ab2217b..5754027 100644 --- a/app/src/internal/forklifts/routes/invoices/addInvoice.ts +++ b/app/src/internal/forklifts/routes/invoices/addInvoice.ts @@ -28,6 +28,7 @@ router.post("/", async (req: Request, res: Response) => { companyId: req.body.companyId, invoiceNumber: req.body.invoiceNumber, invoiceDate: req.body.invoiceDate, + comment: req.body.comment, uploadedBy: req.body.uploadedBy, totalAmount: req.body.totalAmount, }); diff --git a/app/src/pkg/db/schema/forkliftLeasesInvoice.ts b/app/src/pkg/db/schema/forkliftLeasesInvoice.ts index cbb4148..0b12e16 100644 --- a/app/src/pkg/db/schema/forkliftLeasesInvoice.ts +++ b/app/src/pkg/db/schema/forkliftLeasesInvoice.ts @@ -1,4 +1,4 @@ -import { numeric, pgTable, serial, uuid } from "drizzle-orm/pg-core"; +import { numeric, pgTable, serial, text, uuid } from "drizzle-orm/pg-core"; import { createInsertSchema } from "drizzle-zod"; import { forklifts } from "./forklifts.js"; import { leaseInvoices } from "./leaseInvoices.js"; diff --git a/app/src/pkg/db/schema/leaseInvoices.ts b/app/src/pkg/db/schema/leaseInvoices.ts index c77d89c..2b9dc0d 100644 --- a/app/src/pkg/db/schema/leaseInvoices.ts +++ b/app/src/pkg/db/schema/leaseInvoices.ts @@ -17,6 +17,7 @@ export const leaseInvoices = pgTable("lease_invoices", { invoiceNumber: text("invoice_number").unique().notNull(), invoiceDate: date("invoice_date").notNull(), totalAmount: numeric("total_amount"), + comment: text("comment"), add_date: timestamp("add_date"), uploadedBy: text("uploaded_by"), }); diff --git a/frontend/src/lib/formStuff/components/TextArea.tsx b/frontend/src/lib/formStuff/components/TextArea.tsx new file mode 100644 index 0000000..f3cb035 --- /dev/null +++ b/frontend/src/lib/formStuff/components/TextArea.tsx @@ -0,0 +1,28 @@ +import { Textarea } from "@/components/ui/textarea"; +import { Label } from "../../../components/ui/label"; +import { useFieldContext } from ".."; +import { FieldErrors } from "./FieldErrors"; + +type InputFieldProps = { + label: string; + placeHolder: string; + required: boolean; +}; +export const TextArea = ({ label, placeHolder, required }: InputFieldProps) => { + const field = useFieldContext(); + + return ( +
+ +