diff --git a/src/app/v/[token]/_layout.tsx b/src/app/v/[token]/_layout.tsx new file mode 100644 index 00000000..79813fd8 --- /dev/null +++ b/src/app/v/[token]/_layout.tsx @@ -0,0 +1,88 @@ +import { NavLink, Outlet, useLocation, useParams } from "react-router-dom"; +import { useVendorPortal } from "@/app/v/_components/vendor-portal-context"; +import { VendorPortalProvider } from "@/app/v/_components/vendor-portal-provider"; +import "@/app/v/_components/vendor-portal.css"; + +function VendorPortalHeader() { + const { vendor, status } = useVendorPortal(); + + return ( +
+ {error?.message || + "This link is invalid or has expired. Please contact your dispatcher for a new link."} +
+| PO # | +Dispatch # | +Status | +NTE | +Location | +Dispatched | +Scheduled | +Completed | +
|---|---|---|---|---|---|---|---|
| + {dispatch.poNumber || "—"} + | +{dispatch.dispatchNumber} | ++ + {dispatch.status} + + | +{formatMoney(dispatch.nteAmount)} | ++ {dispatch.locationName || "—"} + {dispatch.locationCity ? ` · ${dispatch.locationCity}` : ""} + {dispatch.locationState ? `, ${dispatch.locationState}` : ""} + | ++ {dispatch.dispatchedAt + ? formatVendorPortalDateTime(dispatch.dispatchedAt) + : "—"} + | +{formatDate(dispatch.scheduledDate)} | +{formatDate(dispatch.completedDate)} | +