diff --git a/src/components/forms/report/report-filter.tsx b/src/components/forms/report/report-filter.tsx index 5b3ce74..c5dc505 100644 --- a/src/components/forms/report/report-filter.tsx +++ b/src/components/forms/report/report-filter.tsx @@ -77,7 +77,7 @@ const ReportFilter: React.FC = ({ onChange({ target: { name: 'filters', value: JSON.stringify(selectedFilters) }, }); - onFilterChange(); + onFilterChange(); } }, [selectedFilter, selectedFilters, addFilter, filterData, typeFilterValues, onChange, onFilterChange], @@ -86,7 +86,7 @@ const ReportFilter: React.FC = ({ const handleRemoveFilter = useCallback( (filter: FilterOption) => { removeFilter(filter); - onFilterChange(); + onFilterChange(); setRemovalMessage(`Removed ${filter.label} filter`); setTimeout(() => setRemovalMessage(null), 3000); @@ -99,7 +99,7 @@ const ReportFilter: React.FC = ({ ? typeFilterValues.map((item) => item.label) : filterData?.[selectedFilter]?.map((item: FilterOption) => item.label) || []; - const hasPropertyFilter = selectedFilters.some((filter) => filter.type === 'properties'); + const hasPropertyFilter = selectedFilters.some((filter) => ['properties', 'urls'].includes(filter.type)); useEffect(() => { if (hasPropertyFilter) { diff --git a/src/routes/protected/reports/create-report.tsx b/src/routes/protected/reports/create-report.tsx index f45dc47..2c3dc8d 100644 --- a/src/routes/protected/reports/create-report.tsx +++ b/src/routes/protected/reports/create-report.tsx @@ -26,8 +26,8 @@ export const createReportAction = const selectedFilters = useStore.getState().selectedFilters; - if (!selectedFilters.some((filter) => filter.type === 'properties')) { - return { error: 'Please add at least one property filter.' }; + if (!selectedFilters.some((filter) => ['properties', 'urls'].includes(filter.type))) { + return { error: 'Please add at least one property and/or URL filter.' }; } const response = await addReport(reportName.toString(), selectedFilters); @@ -89,7 +89,7 @@ const CreateReport = () => { defaultValues={{ reportName: '' }} formId="create-report-form" onChange={handleFormChange} - onFilterChange={() => setIsFormValid(selectedFilters.some((filter) => filter.type === 'properties'))} + onFilterChange={() => setIsFormValid(selectedFilters.some((filter) => ['properties', 'urls'].includes(filter.type)))} error={actionData?.error} /> diff --git a/src/routes/protected/reports/edit-report.tsx b/src/routes/protected/reports/edit-report.tsx index 55a6052..b657059 100644 --- a/src/routes/protected/reports/edit-report.tsx +++ b/src/routes/protected/reports/edit-report.tsx @@ -61,8 +61,8 @@ export const updateReportAction = assertNonNull(reportName, 'reportName is required'); const selectedFilters = useStore.getState().selectedFilters; - if (!selectedFilters.some((filter) => filter.type === 'properties')) { - return { error: 'Please add at least one property filter.' }; + if (!selectedFilters.some((filter) => !['properties', 'urls'].includes(filter.type))) { + return { error: 'Please add at least one property and/or URL filter.' }; } const response = await updateReport( @@ -104,7 +104,7 @@ const EditReport = () => { useEffect(() => { - setIsFormValid(selectedFilters.some(filter => filter.type === 'properties')); + setIsFormValid(selectedFilters.some(filter => ['properties', 'url'].includes(filter.type))); }, [selectedFilters]); const { data: report } = useQuery({