diff --git a/app/share/[id]/page.tsx b/app/share/[id]/page.tsx index 633c222..60314ae 100644 --- a/app/share/[id]/page.tsx +++ b/app/share/[id]/page.tsx @@ -42,7 +42,8 @@ export default function PublicDashboardPage() { const [dateRange, setDateRange] = useState(getDateRange(30)) const [isDatePickerOpen, setIsDatePickerOpen] = useState(false) const [todayInterval, setTodayInterval] = useState<'minute' | 'hour'>('hour') - + const [multiDayInterval, setMultiDayInterval] = useState<'hour' | 'day'>('day') + // Auto-refresh interval (for realtime) useEffect(() => { const interval = setInterval(() => { @@ -57,7 +58,7 @@ export default function PublicDashboardPage() { useEffect(() => { loadDashboard() - }, [siteId, dateRange, todayInterval]) + }, [siteId, dateRange, todayInterval, multiDayInterval]) const loadDashboard = async (silent = false) => { try { @@ -68,7 +69,7 @@ export default function PublicDashboardPage() { dateRange.start, dateRange.end, 10, - dateRange.start === dateRange.end ? todayInterval : 'day', + dateRange.start === dateRange.end ? todayInterval : multiDayInterval, password ) @@ -236,6 +237,17 @@ export default function PublicDashboardPage() { className="min-w-[100px]" /> )} + {dateRange.start !== dateRange.end && ( + setMultiDayInterval(value as 'hour' | 'day')} + options={[ + { value: 'hour', label: '1 hour' }, + { value: 'day', label: '1 day' }, + ]} + className="min-w-[100px]" + /> + )}