diff --git a/.audit-screenshots/01-companies-list-desktop.png b/.audit-screenshots/01-companies-list-desktop.png new file mode 100644 index 0000000..94b89e5 Binary files /dev/null and b/.audit-screenshots/01-companies-list-desktop.png differ diff --git a/.audit-screenshots/02-companies-form-desktop.png b/.audit-screenshots/02-companies-form-desktop.png new file mode 100644 index 0000000..a362c8f Binary files /dev/null and b/.audit-screenshots/02-companies-form-desktop.png differ diff --git a/.audit-screenshots/03-companies-list-mobile.png b/.audit-screenshots/03-companies-list-mobile.png new file mode 100644 index 0000000..e72eb1b Binary files /dev/null and b/.audit-screenshots/03-companies-list-mobile.png differ diff --git a/.audit-screenshots/04-companies-form-mobile.png b/.audit-screenshots/04-companies-form-mobile.png new file mode 100644 index 0000000..ef60006 Binary files /dev/null and b/.audit-screenshots/04-companies-form-mobile.png differ diff --git a/.audit-screenshots/05-customers-list-desktop.png b/.audit-screenshots/05-customers-list-desktop.png new file mode 100644 index 0000000..db6e6ac Binary files /dev/null and b/.audit-screenshots/05-customers-list-desktop.png differ diff --git a/.audit-screenshots/06-customers-form-desktop.png b/.audit-screenshots/06-customers-form-desktop.png new file mode 100644 index 0000000..2d0a700 Binary files /dev/null and b/.audit-screenshots/06-customers-form-desktop.png differ diff --git a/.audit-screenshots/07-customers-list-mobile.png b/.audit-screenshots/07-customers-list-mobile.png new file mode 100644 index 0000000..86f5d6f Binary files /dev/null and b/.audit-screenshots/07-customers-list-mobile.png differ diff --git a/.audit-screenshots/08-customers-form-mobile.png b/.audit-screenshots/08-customers-form-mobile.png new file mode 100644 index 0000000..955a935 Binary files /dev/null and b/.audit-screenshots/08-customers-form-mobile.png differ diff --git a/.audit-screenshots/09-suppliers-list-desktop.png b/.audit-screenshots/09-suppliers-list-desktop.png new file mode 100644 index 0000000..2dd0d56 Binary files /dev/null and b/.audit-screenshots/09-suppliers-list-desktop.png differ diff --git a/.audit-screenshots/10-suppliers-form-desktop.png b/.audit-screenshots/10-suppliers-form-desktop.png new file mode 100644 index 0000000..1a32639 Binary files /dev/null and b/.audit-screenshots/10-suppliers-form-desktop.png differ diff --git a/.audit-screenshots/11-suppliers-list-mobile.png b/.audit-screenshots/11-suppliers-list-mobile.png new file mode 100644 index 0000000..4cfa910 Binary files /dev/null and b/.audit-screenshots/11-suppliers-list-mobile.png differ diff --git a/.audit-screenshots/12-suppliers-form-mobile.png b/.audit-screenshots/12-suppliers-form-mobile.png new file mode 100644 index 0000000..b43430c Binary files /dev/null and b/.audit-screenshots/12-suppliers-form-mobile.png differ diff --git a/.audit-screenshots/13-quotes-list-desktop.png b/.audit-screenshots/13-quotes-list-desktop.png new file mode 100644 index 0000000..9e02720 Binary files /dev/null and b/.audit-screenshots/13-quotes-list-desktop.png differ diff --git a/.audit-screenshots/14-quotes-newquote-desktop.png b/.audit-screenshots/14-quotes-newquote-desktop.png new file mode 100644 index 0000000..4ca0009 Binary files /dev/null and b/.audit-screenshots/14-quotes-newquote-desktop.png differ diff --git a/.audit-screenshots/15-quotes-newquote-with-item-desktop.png b/.audit-screenshots/15-quotes-newquote-with-item-desktop.png new file mode 100644 index 0000000..00d3d27 Binary files /dev/null and b/.audit-screenshots/15-quotes-newquote-with-item-desktop.png differ diff --git a/.audit-screenshots/16-quotes-list-mobile.png b/.audit-screenshots/16-quotes-list-mobile.png new file mode 100644 index 0000000..7e920e4 Binary files /dev/null and b/.audit-screenshots/16-quotes-list-mobile.png differ diff --git a/.audit-screenshots/17-quotes-newquote-mobile.png b/.audit-screenshots/17-quotes-newquote-mobile.png new file mode 100644 index 0000000..47c2d02 Binary files /dev/null and b/.audit-screenshots/17-quotes-newquote-mobile.png differ diff --git a/.audit-screenshots/18-quote-detail-desktop.png b/.audit-screenshots/18-quote-detail-desktop.png new file mode 100644 index 0000000..cc1e1f3 Binary files /dev/null and b/.audit-screenshots/18-quote-detail-desktop.png differ diff --git a/.audit-screenshots/19-quote-detail-mobile.png b/.audit-screenshots/19-quote-detail-mobile.png new file mode 100644 index 0000000..dece4a3 Binary files /dev/null and b/.audit-screenshots/19-quote-detail-mobile.png differ diff --git a/.audit-screenshots/19b-quote-detail-mobile-scrolled.png b/.audit-screenshots/19b-quote-detail-mobile-scrolled.png new file mode 100644 index 0000000..dece4a3 Binary files /dev/null and b/.audit-screenshots/19b-quote-detail-mobile-scrolled.png differ diff --git a/.audit-screenshots/19c-quote-detail-mobile-items.png b/.audit-screenshots/19c-quote-detail-mobile-items.png new file mode 100644 index 0000000..56fd00e Binary files /dev/null and b/.audit-screenshots/19c-quote-detail-mobile-items.png differ diff --git a/.audit-screenshots/19d-quote-detail-mobile-fresh.png b/.audit-screenshots/19d-quote-detail-mobile-fresh.png new file mode 100644 index 0000000..dece4a3 Binary files /dev/null and b/.audit-screenshots/19d-quote-detail-mobile-fresh.png differ diff --git a/.audit-screenshots/19e-quote-detail-mobile-scrolled.png b/.audit-screenshots/19e-quote-detail-mobile-scrolled.png new file mode 100644 index 0000000..dece4a3 Binary files /dev/null and b/.audit-screenshots/19e-quote-detail-mobile-scrolled.png differ diff --git a/.audit-screenshots/19f-quote-detail-mobile-table.png b/.audit-screenshots/19f-quote-detail-mobile-table.png new file mode 100644 index 0000000..b48c697 Binary files /dev/null and b/.audit-screenshots/19f-quote-detail-mobile-table.png differ diff --git a/.audit-screenshots/20-quotes-newquote-with-item-mobile.png b/.audit-screenshots/20-quotes-newquote-with-item-mobile.png new file mode 100644 index 0000000..03e4284 Binary files /dev/null and b/.audit-screenshots/20-quotes-newquote-with-item-mobile.png differ diff --git a/.audit-screenshots/fix-01-companies-form-mobile.png b/.audit-screenshots/fix-01-companies-form-mobile.png new file mode 100644 index 0000000..9b60ac4 Binary files /dev/null and b/.audit-screenshots/fix-01-companies-form-mobile.png differ diff --git a/.audit-screenshots/fix-02-customers-form-mobile.png b/.audit-screenshots/fix-02-customers-form-mobile.png new file mode 100644 index 0000000..4052dcb Binary files /dev/null and b/.audit-screenshots/fix-02-customers-form-mobile.png differ diff --git a/.audit-screenshots/fix-03-suppliers-form-mobile.png b/.audit-screenshots/fix-03-suppliers-form-mobile.png new file mode 100644 index 0000000..2b61111 Binary files /dev/null and b/.audit-screenshots/fix-03-suppliers-form-mobile.png differ diff --git a/.audit-screenshots/fix-04-quotes-list-mobile.png b/.audit-screenshots/fix-04-quotes-list-mobile.png new file mode 100644 index 0000000..6e6cfee Binary files /dev/null and b/.audit-screenshots/fix-04-quotes-list-mobile.png differ diff --git a/.audit-screenshots/fix-05-companies-form-desktop.png b/.audit-screenshots/fix-05-companies-form-desktop.png new file mode 100644 index 0000000..13fb564 Binary files /dev/null and b/.audit-screenshots/fix-05-companies-form-desktop.png differ diff --git a/.audit-screenshots/fix-06-quotes-list-desktop.png b/.audit-screenshots/fix-06-quotes-list-desktop.png new file mode 100644 index 0000000..6a2a446 Binary files /dev/null and b/.audit-screenshots/fix-06-quotes-list-desktop.png differ diff --git a/.audit-screenshots/fix-07-suppliers-form-desktop.png b/.audit-screenshots/fix-07-suppliers-form-desktop.png new file mode 100644 index 0000000..e40ba3f Binary files /dev/null and b/.audit-screenshots/fix-07-suppliers-form-desktop.png differ diff --git a/src/app/(app)/quotes/page.tsx b/src/app/(app)/quotes/page.tsx index fa594b6..d427111 100644 --- a/src/app/(app)/quotes/page.tsx +++ b/src/app/(app)/quotes/page.tsx @@ -879,7 +879,7 @@ export default function QuotesPage() { item.status === "new" || (item.status === "claimed" && item.claimed_by === currentUserId); return ( - router.push(`/quotes/${item.id}`)}> + router.push(`/quotes/${item.id}`)}>
diff --git a/src/components/company-form.tsx b/src/components/company-form.tsx index 93a2722..0e4386a 100644 --- a/src/components/company-form.tsx +++ b/src/components/company-form.tsx @@ -234,7 +234,7 @@ export function CompanyForm({ open, onOpenChange, company, onSaved }: CompanyFor return ( - +
@@ -249,95 +249,97 @@ export function CompanyForm({ open, onOpenChange, company, onSaved }: CompanyFor
-
- - setForm({ ...form, company: e.target.value })} - required - placeholder="e.g. Acme Corp" - className="h-9" - aria-invalid={duplicateMatches.length > 0} - /> - -
- - - -
- - setForm({ ...form, address: e.target.value })} - placeholder="Physical or postal address" - className="h-9" - /> -
- - - -
+
- + setForm({ ...form, company_email: e.target.value })} - type="email" - placeholder="accounts@acme.co.za" + value={form.company} + onChange={(e) => setForm({ ...form, company: e.target.value })} + required + placeholder="e.g. Acme Corp" + className="h-9" + aria-invalid={duplicateMatches.length > 0} + /> + +
+
+ + setForm({ ...form, vendor: e.target.value })} + placeholder="e.g. for mines or organizations" + className="h-9" + /> +
+
+ + + +
+

Location

+
+ + setForm({ ...form, address: e.target.value })} + placeholder="Physical or postal address" className="h-9" />
- - setForm({ ...form, company_tel: e.target.value })} - placeholder="e.g. 011 555 0100" - className="h-9" - /> + +
+ setForm({ ...form, lat: e.target.value })} + type="number" + step="any" + placeholder="Latitude" + className="h-9" + aria-label="Latitude" + /> + setForm({ ...form, lon: e.target.value })} + type="number" + step="any" + placeholder="Longitude" + className="h-9" + aria-label="Longitude" + /> +
+

+ Leave both blank if unknown. Used later for routing / + delivery. Example: -26.2041, 28.0473 (Johannesburg). +

-
- - setForm({ ...form, vendor: e.target.value })} - placeholder="e.g. for mines or organizations" - className="h-9" - /> -
- - - -
- -
- setForm({ ...form, lat: e.target.value })} - type="number" - step="any" - placeholder="Latitude" - className="h-9" - aria-label="Latitude" - /> - setForm({ ...form, lon: e.target.value })} - type="number" - step="any" - placeholder="Longitude" - className="h-9" - aria-label="Longitude" - /> +
+

Contact

+
+
+ + setForm({ ...form, company_email: e.target.value })} + type="email" + placeholder="accounts@acme.co.za" + className="h-9" + /> +
+
+ + setForm({ ...form, company_tel: e.target.value })} + placeholder="e.g. 011 555 0100" + className="h-9" + /> +
-

- Leave both blank if unknown. Used later for routing / - delivery. Example: -26.2041, 28.0473 (Johannesburg). -

diff --git a/src/components/customer-form.tsx b/src/components/customer-form.tsx index 12317ed..09708af 100644 --- a/src/components/customer-form.tsx +++ b/src/components/customer-form.tsx @@ -271,7 +271,7 @@ export function CustomerForm({ open, onOpenChange, customer, onSaved }: Customer return ( <> - +
diff --git a/src/components/data-table.tsx b/src/components/data-table.tsx index be6ffa4..20b8c4d 100644 --- a/src/components/data-table.tsx +++ b/src/components/data-table.tsx @@ -264,8 +264,9 @@ export function DataTable({
diff --git a/src/components/supplier-form.tsx b/src/components/supplier-form.tsx index 76975b5..cb738ee 100644 --- a/src/components/supplier-form.tsx +++ b/src/components/supplier-form.tsx @@ -185,7 +185,7 @@ export function SupplierForm({ open, onOpenChange, supplier, onSaved }: Supplier return ( <> - +
diff --git a/src/components/ui/sheet.tsx b/src/components/ui/sheet.tsx index f887b9a..ddbad62 100644 --- a/src/components/ui/sheet.tsx +++ b/src/components/ui/sheet.tsx @@ -53,7 +53,7 @@ function SheetContent({ data-slot="sheet-content" data-side={side} className={cn( - "fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm", + "fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-full data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-full data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:w-3/4 data-[side=right]:sm:w-3/4 data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm", className )} {...props}