diff --git a/src/app/(main)/websites/[websiteId]/WebsiteChart.tsx b/src/app/(main)/websites/[websiteId]/WebsiteChart.tsx
index 4e176072..c9a520e5 100644
--- a/src/app/(main)/websites/[websiteId]/WebsiteChart.tsx
+++ b/src/app/(main)/websites/[websiteId]/WebsiteChart.tsx
@@ -53,7 +53,7 @@ export function WebsiteChart({
diff --git a/src/components/common/FilterEditForm.tsx b/src/components/common/FilterEditForm.tsx
index a8b5d063..35b8e1ed 100644
--- a/src/components/common/FilterEditForm.tsx
+++ b/src/components/common/FilterEditForm.tsx
@@ -1,6 +1,6 @@
import { useState, Key } from 'react';
import { Grid, Row, Column, Label, List, ListItem, Button, Heading } from '@umami/react-zen';
-import { useFilters, useMessages } from '@/components/hooks';
+import { useDateRange, useFilters, useMessages } from '@/components/hooks';
import { FilterRecord } from '@/components/common/FilterRecord';
import { Empty } from '@/components/common/Empty';
@@ -11,10 +11,13 @@ export interface FilterEditFormProps {
onClose?: () => void;
}
-export function FilterEditForm({ data = [], onChange, onClose }: FilterEditFormProps) {
+export function FilterEditForm({ websiteId, data = [], onChange, onClose }: FilterEditFormProps) {
const { formatMessage, labels, messages } = useMessages();
const [filters, setFilters] = useState(data);
const { fields } = useFilters();
+ const {
+ dateRange: { startDate, endDate },
+ } = useDateRange(websiteId);
const updateFilter = (name: string, props: { [key: string]: any }) => {
setFilters(filters =>
@@ -66,6 +69,10 @@ export function FilterEditForm({ data = [], onChange, onClose }: FilterEditFormP
return (
{
+ setSearch(value);
+ };
+
+ const handleSelectOperator = value => {
+ onSelect?.(name, value);
+ };
+
+ const handleSelectValue = value => {
+ setSelected(value);
+ onChange?.(name, value);
+ };
return (
- <>
+
- onChange?.(name, e.target.value)} />
+ {isSearch && (
+
+ )}
+ {!isSearch && (
+
+ )}
- >
+
);
}
diff --git a/src/components/hooks/queries/useLoginQuery.ts b/src/components/hooks/queries/useLoginQuery.ts
index 23949c0d..e800621a 100644
--- a/src/components/hooks/queries/useLoginQuery.ts
+++ b/src/components/hooks/queries/useLoginQuery.ts
@@ -3,10 +3,7 @@ import { useApi } from '../useApi';
const selector = (state: { user: any }) => state.user;
-export function useLoginQuery(): {
- user: any;
- setUser: (data: any) => void;
-} {
+export function useLoginQuery() {
const { post, useQuery } = useApi();
const user = useApp(selector);
diff --git a/src/components/hooks/useDateRange.ts b/src/components/hooks/useDateRange.ts
index f8a8adae..55175328 100644
--- a/src/components/hooks/useDateRange.ts
+++ b/src/components/hooks/useDateRange.ts
@@ -27,11 +27,12 @@ export function useDateRange(websiteId?: string) {
const startDate = new Date(mindate);
const endDate = new Date(maxdate);
+ const unit = getMinimumUnit(startDate, endDate);
dateRange = {
startDate,
endDate,
- unit: getMinimumUnit(startDate, endDate),
+ unit,
value,
};
} else {
diff --git a/src/components/input/DateFilter.tsx b/src/components/input/DateFilter.tsx
index 4503048b..15b3edd3 100644
--- a/src/components/input/DateFilter.tsx
+++ b/src/components/input/DateFilter.tsx
@@ -9,17 +9,14 @@ export interface DateFilterProps {
value: string;
startDate: Date;
endDate: Date;
- offset?: number;
- className?: string;
onChange?: (value: string) => void;
showAllTime?: boolean;
- alignment?: 'start' | 'center' | 'end';
}
export function DateFilter({
+ value,
startDate,
endDate,
- value,
onChange,
showAllTime = false,
}: DateFilterProps) {
diff --git a/src/components/input/FilterBar.tsx b/src/components/input/FilterBar.tsx
index 66805a98..5dd1a6a5 100644
--- a/src/components/input/FilterBar.tsx
+++ b/src/components/input/FilterBar.tsx
@@ -24,18 +24,19 @@ export function FilterBar() {
}
return (
-
-
+
+
{Object.keys(filters).map(key => {
const filter = filters[key];
const { name, label, operator, value } = filter;
- const paramValue = isSearchOperator(operator) ? value : formatValue(value, key);
+ const paramValue = isSearchOperator(operator) ? value : formatValue(value, name);
return (
-