diff --git a/apps/edr-freight-web/portal/index.css b/apps/edr-freight-web/portal/index.css index 4909e33bd..aa14f97fe 100644 --- a/apps/edr-freight-web/portal/index.css +++ b/apps/edr-freight-web/portal/index.css @@ -1,2 +1,33 @@ @import "tailwindcss"; @import "@edr/ui-common/theme.css" layer(theme); + +/* Bridge the central Mantine theme into Tailwind. Mantine (createTheme) is the + single source of truth; these just alias its generated CSS variables so + `bg-edr-*`, `text-edr-*`, `border-edr-*` utilities resolve to the same tokens. */ +@theme { + --color-edr-primary: var(--mantine-color-edr-green-5); + --color-edr-primary-dark: var(--mantine-color-edr-green-7); + --color-edr-bg: var(--mantine-color-edr-bg-6); + --color-edr-card: var(--mantine-color-edr-card-6); + --color-edr-border: var(--mantine-color-edr-border-6); + --color-edr-divider: var(--mantine-color-edr-divider-6); + --color-edr-text: var(--mantine-color-edr-text-6); + --color-edr-muted: var(--mantine-color-edr-muted-6); + --color-edr-soft: var(--mantine-color-edr-soft-6); + --color-edr-ink: var(--mantine-color-edr-ink-6); + --color-edr-accent: var(--mantine-color-edr-accent-6); + + --color-edr-amber-soft: var(--mantine-color-edr-amber-soft-6); + --color-edr-amber-text: var(--mantine-color-edr-amber-text-6); + --color-edr-blue: var(--mantine-color-edr-blue-6); + --color-edr-blue-soft: var(--mantine-color-edr-blue-soft-6); + --color-edr-blue-dot: var(--mantine-color-edr-blue-dot-6); + --color-edr-red: var(--mantine-color-edr-red-6); + --color-edr-red-soft: var(--mantine-color-edr-red-soft-6); + --color-edr-slate: var(--mantine-color-edr-slate-6); + --color-edr-slate-soft: var(--mantine-color-edr-slate-soft-6); + --color-edr-slate-soft2: var(--mantine-color-edr-slate-soft2-6); + --color-edr-step: var(--mantine-color-edr-step-6); + --color-edr-step-idle: var(--mantine-color-edr-step-idle-6); + --color-edr-conn-idle: var(--mantine-color-edr-conn-idle-6); +} diff --git a/apps/edr-freight-web/portal/index.html b/apps/edr-freight-web/portal/index.html index 2233dc861..42bfe97d3 100644 --- a/apps/edr-freight-web/portal/index.html +++ b/apps/edr-freight-web/portal/index.html @@ -5,6 +5,12 @@
+
+
+ {/* Diagonal green overlay: lower-left → upper-right cut */}
+ - Railway Logistics Platform -
-- {left.description} -
-
+
+
Upload your documents
-- To enable all account features, please upload your Business - License, TIN Certificate, and National ID / Passport. -
- - Upload now - -Welcome back
-
-
- No shipments currently in transit. -
+ {bookingsQuery.isPending ? ( +
- {shipment.originStation}
-
- You haven't booked any freight yet. -
- ) : ( -| Reference | -Route | -Cargo | -Date | -Status | -
|---|---|---|---|---|
| - {booking.reference} - | -- {booking.originYard?.label ?? booking.originYard?.code ?? "—"} → {booking.destinationYard?.label ?? booking.destinationYard?.code ?? "—"} - | -- {booking.freightType === "CONTAINER" ? "Container" : booking.freightType} - | -- {format(new Date(booking.createdAt), "MMM d, yyyy HH:mm")} - | -
- |
-
- No invoices yet. -
+- {formatCurrency(invoice.amount, invoice.currency)} -
-
-
{label}
-{value}
-- {step === "company" && - `Step 1 of ${totalSteps} — Company Information`} - {step === "personnel" && - `Step 2 of ${totalSteps} — Personnel Details`} - {step === "poa" && - `Step 3 of ${totalSteps} — Power of Attorney (Optional)`} - {step === "documents" && - `Step 4 of ${totalSteps} — Upload Documents (Optional)`} - {step === "confirm" && `Step 5 of ${totalSteps} — Review & Confirm`} -
-- {step === "company" && `Step 1 of ${totalSteps} — Company Information`} - {step === "representative" && `Step 2 of ${totalSteps} — Representative Details`} - {step === "documents" && `Step 3 of ${totalSteps} — Upload Documents (Optional)`} - {step === "confirm" && `Step 4 of ${totalSteps} — Review & Confirm`} -
-
+
+
- Confirm the company details below before saving. -
-- {step === "company" && - `Step 1 of ${totalSteps} — Company Information`} - {step === "personnel" && - `Step 2 of ${totalSteps} — Personnel Details`} - {step === "poa" && - `Step 3 of ${totalSteps} — Power of Attorney (Optional)`} - {step === "documents" && - `Step 4 of ${totalSteps} — Upload Documents (Optional)`} - {step === "confirm" && `Step 5 of ${totalSteps} — Review & Confirm`} -
-- Power of Attorney details are optional. Fill them in if you have - them, or skip to continue. -
- -
+
- Confirm the company details below before saving. -
-- Enter your credentials to access your portal -
-
- Don't have an account?{" "}
+
+
{card.label}
-- {card.description} -
-- Create a secure password for your account. -
-- Register to access EDR Freight services. -
-
- Already have an account?
- {step === "vehicle" && `Step 1 of ${totalSteps} — Vehicle Information`} - {step === "documents" && `Step 2 of ${totalSteps} — Upload Documents (Optional)`} - {step === "confirm" && `Step 3 of ${totalSteps} — Review & Confirm`} -
-Enter the 6-digit code sent to:
-{maskedPhone}
-Enter the OTP sent to your phone
- )} - {otpValue.length}/6 -
- Didn't receive the code?
- Loading booking details… -
-- {error instanceof Error - ? error.message - : "An unexpected error occurred."} -
-- {booking.status === "CHANGES_REQUESTED" - ? "Staff has requested changes. Please review, update, and resubmit." - : "Complete the steps below to submit your booking request."} -
-Changes Requested by Staff
-{booking.latestChangeRequestNote}
-Document upload failed
-- {uploadMutation.error instanceof Error - ? uploadMutation.error.message - : "An unexpected error occurred."} -
-Submission failed
-- {submitMutation.error instanceof Error - ? submitMutation.error.message - : "An unexpected error occurred."} -
-Cancel failed
-- {cancelMutation.error instanceof Error - ? cancelMutation.error.message - : "An unexpected error occurred."} -
-| Description | -- Amount - | -
|---|---|
| - {item.description} - | -- {item.amount.toLocaleString()} {item.currency} - | -
| - Total Estimated Cost - | -- {pricing.totalAmount.toLocaleString()}{" "} - {pricing.currency} - | -
- Pricing will be calculated after submission. -
- )} -{docError}
-
- To update your company information, go to{" "}
-
-
- Cancelling will terminate this booking request and cannot be - undone. -
- -| Description | -Amount | -
|---|---|
| {item.description} | -- {item.amount.toLocaleString()} {item.currency} - | -
| Total Estimated Cost | -- {pricing.totalAmount.toLocaleString()} {pricing.currency} - | -
- {file.name} -
-- {file.code.replace(/_/g, " ")} -
-- {statusConfig.description} -
-- Est. Waiting -
-- 1-2 Working Days -
-- {booking.lastMileEnabled && booking.lastMileDeliveryAddress - ? booking.lastMileDeliveryAddress - : "Not requested"} -
-| Type | -- Quantity - | -- VGM (Tons) - | -
|---|---|---|
| - {c.type} - | -- {c.qty} Units - | -- {c.vgm}t - | -
- Cargo Description -
-- "{booking.freightSubtype}" -
-- Financial Terms -
-
-
- No additional information provided. -
- )} -{c.title}
-{c.description}
-- {label} -
-{station}
-- {label} -
-{value ?? "—"}
-- Update the booking details below. All changes are saved together. -
+Failed to save changes
-- {updateMutation.error instanceof Error - ? updateMutation.error.message - : "An unexpected error occurred. Please try again."} -
-- New contract or renewal of an existing one. -
-- Select the service combination and configure trucking options. -
-First Mile - Pick-up
-- Truck pick-up from your premises to the origin rail yard. -
-Last Mile - Delivery
-- Truck delivery from the destination rail yard to the final address. -
-Customs Clearing Service
-- EDR handles customs documentation and clearance on your behalf. -
-- Select the origin and destination yards. -
-Hazardous Material
-- Applies a Hazard Surcharge to the final bill. -
-Refrigerated Cargo
-- Temperature-controlled transport applies a Refrigerator Surcharge. -
-- Define your cargo type, weight, and container configuration. -
-Allow Consolidation
-- Combine shipments to optimize costs. -
-- Containers -
-- Container {index + 1} -
- {fields.length > 1 && ( -Unpaired 20ft Container
-- One 20ft container occupies only half a wagon. The wagon - will depart once a co-loader is found to fill the - remaining slot, which{" "} - may delay departure beyond the standard - lead time. -
-- Add any special instructions and confirm the changes. -
-{booking.reference}
-{booking.scheduledDate ?? booking.createdAt}
-{b.freightType === "BULK" ? "Bulk" : "Break Bulk"}
-- {containerType && containerCount > 0 ? `${containerCount} × ${containerType} · ` : ""}{b.cargoTotalWeightVgm}t -
-- View and manage your freight booking requests. -
-Total Bookings
-Active Bookings
-Pending Approval
-- {searchTerm ? "No bookings match your current search filter." : "You haven't requested any bookings yet."} -
-Failed to save draft
-+
+
{description}
+