From 6f14cf8bbf9141542ed71c9aa5baf8b92bf47860 Mon Sep 17 00:00:00 2001 From: Nathnael Date: Thu, 13 Aug 2026 08:33:59 +0000 Subject: [PATCH] feat(freight-backoffice): add DateRangePicker, replace ad-hoc from/to date filters MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a shadcn Popover+Calendar range picker with presets (Today, Last 7/30 days, this/last month, YTD) and Apply/Cancel. Swaps it into every shadcn-family from-to date filter: activity log, sector reports, incoming records (EN branch), CombinedFilterBar (13 consumers), user records, audit log — also fixes an uncontrolled-input bug on the audit log date fields. Mantine-based ListControls/ReportFilters left untouched (different UI kit). --- .../backoffice/src/pages/AuditLog.tsx | 22 +- .../sectorReports/SectorReportFilters.tsx | 32 +-- .../externalIncomingRecordsV2.tsx | 25 +-- .../internalIncomingRecordsV2.tsx | 25 +-- .../components/userRecords/userRecords.tsx | 31 +-- .../shared/common/ui/date-range-picker.tsx | 197 ++++++++++++++++++ .../activity-log/activity-filters.tsx | 103 +-------- .../components/filters/CombinedFilterBar.tsx | 31 +-- 8 files changed, 252 insertions(+), 214 deletions(-) create mode 100644 apps/edr-freight-web/backoffice/src/shared/common/ui/date-range-picker.tsx diff --git a/apps/edr-freight-web/backoffice/src/pages/AuditLog.tsx b/apps/edr-freight-web/backoffice/src/pages/AuditLog.tsx index 5374bcee7..1f2c9461e 100644 --- a/apps/edr-freight-web/backoffice/src/pages/AuditLog.tsx +++ b/apps/edr-freight-web/backoffice/src/pages/AuditLog.tsx @@ -1,5 +1,6 @@ import React, { useEffect, useState } from "react"; import { Input } from "@/shared/common/ui/input"; +import { DateRangePicker, parseDay, formatDay } from "@/shared/common/ui/date-range-picker"; import { Select, SelectTrigger, @@ -134,21 +135,12 @@ const buildQuery = (): CollectionQueryDTO => { className="w-64" /> -
- - setDateRange({ ...dateRange, start: e.target.value }) - } - /> - to - - setDateRange({ ...dateRange, end: e.target.value }) - } - /> -
+ + setDateRange({ start: formatDay(range.from), end: formatDay(range.to) }) + } + /> -