diff --git a/src/app/api/contracts/route.js b/src/app/api/contracts/route.js index 796ac4e..17b7579 100644 --- a/src/app/api/contracts/route.js +++ b/src/app/api/contracts/route.js @@ -10,6 +10,7 @@ async function getContractsHandler() { contract_id, contract_number, contract_name, + customer_contract_number, customer, investor, date_signed, diff --git a/src/app/contracts/page.js b/src/app/contracts/page.js index a34ffb4..f34a0cd 100644 --- a/src/app/contracts/page.js +++ b/src/app/contracts/page.js @@ -19,8 +19,8 @@ export default function ContractsMainPage() { const [loading, setLoading] = useState(true); const [searchTerm, setSearchTerm] = useState(""); const [filteredContracts, setFilteredContracts] = useState([]); - const [sortBy, setSortBy] = useState("contract_number"); - const [sortOrder, setSortOrder] = useState("asc"); + const [sortBy, setSortBy] = useState("date_signed"); + const [sortOrder, setSortOrder] = useState("desc"); const [statusFilter, setStatusFilter] = useState("all"); useEffect(() => { @@ -53,6 +53,9 @@ export default function ContractsMainPage() { contract.contract_name ?.toLowerCase() .includes(searchTerm.toLowerCase()) || + contract.customer_contract_number + ?.toLowerCase() + .includes(searchTerm.toLowerCase()) || contract.customer?.toLowerCase().includes(searchTerm.toLowerCase()) || contract.investor?.toLowerCase().includes(searchTerm.toLowerCase()) ); @@ -64,9 +67,9 @@ export default function ContractsMainPage() { filtered = filtered.filter((contract) => { if (statusFilter === "active" && contract.finish_date) { return new Date(contract.finish_date) >= currentDate; - } else if (statusFilter === "completed" && contract.finish_date) { + } else if (statusFilter === "expired" && contract.finish_date) { return new Date(contract.finish_date) < currentDate; - } else if (statusFilter === "no_end_date") { + } else if (statusFilter === "ongoing") { return !contract.finish_date; } return true; @@ -117,27 +120,27 @@ export default function ContractsMainPage() { const active = contracts.filter( (c) => !c.finish_date || new Date(c.finish_date) >= currentDate ).length; - const completed = contracts.filter( + const expired = contracts.filter( (c) => c.finish_date && new Date(c.finish_date) < currentDate ).length; const withoutEndDate = contracts.filter((c) => !c.finish_date).length; - return { total, active, completed, withoutEndDate }; + return { total, active, expired, withoutEndDate }; }; const getContractStatus = (contract) => { if (!contract.finish_date) return "ongoing"; const currentDate = new Date(); const finishDate = new Date(contract.finish_date); - return finishDate >= currentDate ? "active" : "completed"; + return finishDate >= currentDate ? "active" : "expired"; }; const getStatusBadge = (status) => { switch (status) { case "active": return {t('contracts.active')}; - case "completed": - return {t('common.completed')}; + case "expired": + return {t('contracts.expired')}; case "ongoing": return {t('contracts.withoutEndDate')}; default: @@ -209,8 +212,8 @@ export default function ContractsMainPage() { options: [ { value: "all", label: "Wszystkie" }, { value: "active", label: "Aktywne" }, - { value: "completed", label: "Zakończone" }, - { value: "no_end_date", label: "Bez daty końca" }, + { value: "expired", label: "Przeterminowane" }, + { value: "ongoing", label: "W trakcie" }, ], }, { @@ -221,7 +224,7 @@ export default function ContractsMainPage() { { value: "contract_number", label: "Numer umowy" }, { value: "contract_name", label: "Nazwa umowy" }, { value: "customer", label: "Klient" }, - { value: "start_date", label: "Data rozpoczęcia" }, + { value: "date_signed", label: "Data podpisania" }, { value: "finish_date", label: "Data zakończenia" }, ], }, @@ -338,9 +341,9 @@ export default function ContractsMainPage() {
-

Zakończone

+

Przeterminowane

- {stats.completed} + {stats.expired}