From 1e27410f508d8dcd340a9409a6aac3cd4567cea8 Mon Sep 17 00:00:00 2001 From: deme Date: Wed, 17 May 2023 20:50:45 -0300 Subject: [PATCH] [examples/openspending,home][m]: add min date and max date facets --- .../openspending/components/DatasetCard.tsx | 22 ++--- .../components/DatasetsSearch.tsx | 92 +++++++++++++++---- 2 files changed, 83 insertions(+), 31 deletions(-) diff --git a/examples/openspending/components/DatasetCard.tsx b/examples/openspending/components/DatasetCard.tsx index c89491b4..e0ca77f8 100644 --- a/examples/openspending/components/DatasetCard.tsx +++ b/examples/openspending/components/DatasetCard.tsx @@ -44,19 +44,15 @@ export default function DatasetCard({ dataset }: { dataset: Project }) {
Fiscal Period
- {dataset.fiscalPeriod?.start && ( - - )} - {dataset.fiscalPeriod?.start && ( - <> - {' - '} - - - )} + {dataset.fiscalPeriod?.start && + new Date(dataset.fiscalPeriod.start).getFullYear()} + {dataset.fiscalPeriod?.end && + dataset.fiscalPeriod?.start !== dataset.fiscalPeriod?.end && ( + <> + {' - '} + {new Date(dataset.fiscalPeriod.end).getFullYear()} + + )}
diff --git a/examples/openspending/components/DatasetsSearch.tsx b/examples/openspending/components/DatasetsSearch.tsx index aee84f1d..c04e3dee 100644 --- a/examples/openspending/components/DatasetsSearch.tsx +++ b/examples/openspending/components/DatasetsSearch.tsx @@ -16,8 +16,8 @@ export default function DatasetsSearch({ datasets }: { datasets: Project[] }) { defaultValues: { searchTerm: '', country: '', - fiscalPeriodStart: '', - fiscalPeriodEnd: '', + minDate: '', + maxDate: '', }, }); @@ -31,26 +31,30 @@ export default function DatasetsSearch({ datasets }: { datasets: Project[] }) { return ( <>
-
- - {watch().searchTerm !== '' && ( - - )} +
+
+
+ + {watch().searchTerm !== '' && ( + + )} +
{/* TODO: nicer select e.g. headlessui example */} +
+
+ +
+ + {watch().minDate !== '' && ( + + )} +
+
+
+ +
+ + {watch().maxDate !== '' && ( + + )} +
+
+ watch().minDate && watch().minDate !== '' + ? dataset.fiscalPeriod?.start >= watch().minDate + : true + ) + .filter((dataset) => + watch().maxDate && watch().maxDate !== '' + ? dataset.fiscalPeriod?.end <= watch().maxDate + : true )} />