diff --git a/packages/twenty-front/src/modules/object-metadata/utils/formatFieldMetadataItemsAsFilterDefinitions.ts b/packages/twenty-front/src/modules/object-metadata/utils/formatFieldMetadataItemsAsFilterDefinitions.ts index e8aef6f8f..48932dd7b 100644 --- a/packages/twenty-front/src/modules/object-metadata/utils/formatFieldMetadataItemsAsFilterDefinitions.ts +++ b/packages/twenty-front/src/modules/object-metadata/utils/formatFieldMetadataItemsAsFilterDefinitions.ts @@ -24,6 +24,7 @@ export const formatFieldMetadataItemsAsFilterDefinitions = ({ if ( ![ FieldMetadataType.DateTime, + FieldMetadataType.Date, FieldMetadataType.Text, FieldMetadataType.Email, FieldMetadataType.Emails, diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/MultipleFiltersDropdownContent.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/MultipleFiltersDropdownContent.tsx index 91e31b567..b11b7ef98 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/MultipleFiltersDropdownContent.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/MultipleFiltersDropdownContent.tsx @@ -76,9 +76,9 @@ export const MultipleFiltersDropdownContent = ({ {filterDefinitionUsedInDropdown.type === 'RATING' && ( )} - {filterDefinitionUsedInDropdown.type === 'DATE_TIME' && ( - - )} + {['DATE_TIME', 'DATE'].includes( + filterDefinitionUsedInDropdown.type, + ) && } {filterDefinitionUsedInDropdown.type === 'RELATION' && ( <> diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/MultipleFiltersDropdownFilterOnFilterChangedEffect.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/MultipleFiltersDropdownFilterOnFilterChangedEffect.tsx index 477e74d34..c70ff8952 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/MultipleFiltersDropdownFilterOnFilterChangedEffect.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/MultipleFiltersDropdownFilterOnFilterChangedEffect.tsx @@ -11,6 +11,7 @@ export const MultipleFiltersDropdownFilterOnFilterChangedEffect = ({ useEffect(() => { switch (filterDefinitionUsedInDropdownType) { + case 'DATE': case 'DATE_TIME': setDropdownWidth(280); break; diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownDateInput.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownDateInput.tsx index 15b2daedc..20d1dee83 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownDateInput.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownDateInput.tsx @@ -28,6 +28,9 @@ export const ObjectFilterDropdownDateInput = () => { selectedFilter?.value ? new Date(selectedFilter.value) : new Date(), ); + const isDateTimeInput = + filterDefinitionUsedInDropdown?.type === FieldMetadataType.DateTime; + const handleChange = (date: Date | null) => { setInternalDate(date); @@ -38,7 +41,11 @@ export const ObjectFilterDropdownDateInput = () => { fieldMetadataId: filterDefinitionUsedInDropdown.fieldMetadataId, value: isDefined(date) ? date.toISOString() : '', operand: selectedOperandInDropdown, - displayValue: isDefined(date) ? date.toLocaleString() : '', + displayValue: isDefined(date) + ? isDateTimeInput + ? date.toLocaleString() + : date.toLocaleDateString() + : '', definition: filterDefinitionUsedInDropdown, }); @@ -50,9 +57,7 @@ export const ObjectFilterDropdownDateInput = () => { date={internalDate} onChange={handleChange} onMouseSelect={handleChange} - isDateTimeInput={ - filterDefinitionUsedInDropdown?.type === FieldMetadataType.DateTime - } + isDateTimeInput={isDateTimeInput} /> ); }; diff --git a/packages/twenty-front/src/modules/object-record/record-filter/utils/isRecordMatchingFilter.ts b/packages/twenty-front/src/modules/object-record/record-filter/utils/isRecordMatchingFilter.ts index a60d907d6..e9fb8bfa2 100644 --- a/packages/twenty-front/src/modules/object-record/record-filter/utils/isRecordMatchingFilter.ts +++ b/packages/twenty-front/src/modules/object-record/record-filter/utils/isRecordMatchingFilter.ts @@ -227,6 +227,7 @@ export const isRecordMatchingFilter = ({ }); }); } + case FieldMetadataType.Date: case FieldMetadataType.DateTime: { return isMatchingDateFilter({ dateFilter: filterValue as DateFilter, diff --git a/packages/twenty-front/src/modules/object-record/record-filter/utils/turnObjectDropdownFilterIntoQueryFilter.ts b/packages/twenty-front/src/modules/object-record/record-filter/utils/turnObjectDropdownFilterIntoQueryFilter.ts index 6d93ceba9..ae16274f9 100644 --- a/packages/twenty-front/src/modules/object-record/record-filter/utils/turnObjectDropdownFilterIntoQueryFilter.ts +++ b/packages/twenty-front/src/modules/object-record/record-filter/utils/turnObjectDropdownFilterIntoQueryFilter.ts @@ -199,6 +199,7 @@ const applyEmptyFilters = ( [correspondingField.name]: { is: 'NULL' } as StringFilter, }; break; + case 'DATE': case 'DATE_TIME': emptyRecordFilter = { [correspondingField.name]: { is: 'NULL' } as DateFilter, @@ -326,6 +327,7 @@ export const turnObjectDropdownFilterIntoQueryFilter = ( ); } break; + case 'DATE': case 'DATE_TIME': switch (rawUIFilter.operand) { case ViewFilterOperand.GreaterThan: