Merge branch 'dev' into freight/nati-2

This commit is contained in:
Nathnael
2026-08-05 13:27:10 +00:00
29 changed files with 709 additions and 35 deletions

View File

@@ -115,6 +115,7 @@ import TrainScheduleV2DetailPage from "./pages/trainScheduling/TrainScheduleV2De
import TrainScheduleTrackPage from "./pages/trainScheduling/TrainScheduleTrackPage";
import TrainSchedulingGlobalRulesPage from "./pages/trainScheduling/TrainSchedulingGlobalRulesPage";
import TradeAccessPage from "./pages/configuration/TradeAccessPage";
import ExchangeRateSettingsCard from "./pages/settings/ExchangeRateSettingsCard";
import ContractValidityPeriodsPage from "./pages/configuration/ContractValidityPeriodsPage";
import FirstMilePage from "./pages/operations/FirstMilePage";
import LastMilePage from "./pages/operations/LastMilePage";
@@ -597,6 +598,11 @@ const buildSidebarSections = (demoItems: SidebarItem[]): SidebarSection[] => [
href: "/dashboard/configuration/trade-access",
permission: FREIGHT_PERMS.admin,
},
{
label: "Exchange rate",
href: "/dashboard/configuration/exchange-rate",
permission: FREIGHT_PERMS.admin,
},
],
},
{
@@ -1628,6 +1634,16 @@ const App = () => {
</RequirePermission>
}
/>
<Route
path="configuration/exchange-rate"
element={
<RequirePermission permission={FREIGHT_PERMS.admin}>
<div className="p-4">
<ExchangeRateSettingsCard />
</div>
</RequirePermission>
}
/>
{/* <Route
path="configuration/contract-validity-periods"
element={

View File

@@ -249,6 +249,7 @@ const INVOICE_STATUS_COLOR: Record<Freight.InvoiceStatus, string> = {
DRAFT: "gray",
ISSUED: "cyan",
PENDING: "yellow",
PAYMENT_PROCESSING: "indigo",
PARTIALLY_PAID: "orange",
PAID: "edr-green",
OVERDUE: "red",

View File

@@ -14,6 +14,7 @@ import { openPdfBlob } from './pdf';
const INVOICE_STATUS_COLOR: Record<WarehouseInvoiceStatus, string> = {
DRAFT: 'gray',
ISSUED: 'orange',
PAYMENT_PROCESSING: 'indigo',
PARTIALLY_PAID: 'yellow',
PAID: 'edr-green',
CANCELLED: 'gray',

View File

@@ -33,7 +33,6 @@ import {
AlertDialogTitle,
} from "@/shared/common/ui/alert-dialog";
import { toast } from "sonner";
import ExchangeRateSettingsCard from "./settings/ExchangeRateSettingsCard";
export default function SettingsPage() {
const [createDialogOpen, setCreateDialogOpen] = useState(false);
@@ -78,8 +77,6 @@ export default function SettingsPage() {
return (
<div className="p-6 space-y-6">
<ExchangeRateSettingsCard />
<Card className="shadow-lg border-gray-200 dark:border-gray-700">
<CardHeader>
<CardTitle className="text-xl font-semibold">

View File

@@ -183,6 +183,7 @@ export default function InvoicesPage() {
data={[
{ label: "All", value: "all" },
{ label: "Pending", value: "PENDING" },
{ label: "Payment processing", value: "PAYMENT_PROCESSING" },
{ label: "Paid", value: "PAID" },
{ label: "Overdue", value: "OVERDUE" },
]}

View File

@@ -79,6 +79,7 @@ const INVOICE_STATUS_META: Record<string, { label: string; color: string }> = {
PAID: { label: "Paid", color: "green" },
PARTIALLY_PAID: { label: "Partially Paid", color: "teal" },
PENDING: { label: "Pending", color: "yellow" },
PAYMENT_PROCESSING: { label: "Payment Processing", color: "indigo" },
UNPAID: { label: "Unpaid", color: "yellow" },
OPEN: { label: "Open", color: "yellow" },
ISSUED: { label: "Issued", color: "blue" },

View File

@@ -86,6 +86,7 @@ const INVOICE_STATUS_META: Record<string, { label: string; color: string }> = {
PAID: { label: "Paid", color: "green" },
PARTIALLY_PAID: { label: "Partially Paid", color: "teal" },
PENDING: { label: "Pending", color: "yellow" },
PAYMENT_PROCESSING: { label: "Payment Processing", color: "indigo" },
UNPAID: { label: "Unpaid", color: "yellow" },
OPEN: { label: "Open", color: "yellow" },
ISSUED: { label: "Issued", color: "blue" },

View File

@@ -75,6 +75,7 @@ const CONTRACT_STATUSES = [
const INVOICE_STATUSES = [
"ISSUED",
"PENDING",
"PAYMENT_PROCESSING",
"PARTIALLY_PAID",
"PAID",
"OVERDUE",

View File

@@ -42,6 +42,7 @@ import { extractErrorMessage } from '@/components/warehouses/options';
const STATUS_COLOR: Record<WarehouseInvoiceStatus, string> = {
DRAFT: 'gray',
ISSUED: 'orange',
PAYMENT_PROCESSING: 'indigo',
PARTIALLY_PAID: 'yellow',
PAID: 'edr-green',
CANCELLED: 'gray',

View File

@@ -907,6 +907,7 @@ export interface AllocationCriteria {
export const WAREHOUSE_INVOICE_STATUSES = [
'DRAFT',
'ISSUED',
'PAYMENT_PROCESSING',
'PARTIALLY_PAID',
'PAID',
'CANCELLED',