From 23cdbc47f640ad60cdcc6ce9c4cf1da16bbc0da9 Mon Sep 17 00:00:00 2001 From: ibsenc Date: Sun, 24 May 2026 12:02:48 -0700 Subject: [PATCH 1/3] Page redesign with global time range applied to full page and Midnight Train branding --- index.html | 2 +- public/favicon.svg | 1 - public/icons.svg | 24 ------ public/train-icon.png | Bin 0 -> 168961 bytes src/App.css | 96 ++++++++++++++++++++-- src/App.tsx | 28 +++++-- src/api.ts | 8 +- src/components/DetectionChart.tsx | 87 +++++++++++++------- src/components/GlobalTimeRange.tsx | 123 +++++++++++++++++++++++++++++ src/components/LatestTrain.tsx | 4 +- src/components/StatsPanel.tsx | 19 +++-- src/components/TimeRangeQuery.tsx | 94 +++++----------------- src/types.ts | 2 - 13 files changed, 333 insertions(+), 155 deletions(-) delete mode 100644 public/favicon.svg delete mode 100644 public/icons.svg create mode 100644 public/train-icon.png create mode 100644 src/components/GlobalTimeRange.tsx diff --git a/index.html b/index.html index aa273e6..ebd6ed6 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ - + train-detection-app diff --git a/public/favicon.svg b/public/favicon.svg deleted file mode 100644 index 6893eb1..0000000 --- a/public/favicon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/icons.svg b/public/icons.svg deleted file mode 100644 index e952219..0000000 --- a/public/icons.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/train-icon.png b/public/train-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b57ed8f1457dfb4ec2b64ea5c1f011e804752552 GIT binary patch literal 168961 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

j@Ql3?q8Hm9o$nv1~_R84fzgjpp?)g6BR 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 literal 0 HcmV?d00001 diff --git a/src/App.css b/src/App.css index 2208a80..029f45d 100644 --- a/src/App.css +++ b/src/App.css @@ -34,7 +34,7 @@ max-width: 1400px; margin: 0 auto; display: flex; - align-items: flex-start; + align-items: center; gap: 12px; } @@ -45,6 +45,15 @@ gap: 16px; } +.header-tagline { + font-size: 0.7rem; + font-weight: 600; + letter-spacing: 0.08em; + text-transform: uppercase; + color: var(--accent); + margin: 2px 0 6px; +} + .header-subtitles { display: flex; flex-direction: column; @@ -72,9 +81,9 @@ } .header-icon { - font-size: 2rem; - line-height: 1; - margin-top: 2px; + width: 48px; + height: 48px; + object-fit: contain; } .app-header h1 { @@ -94,6 +103,48 @@ gap: 24px; } +.app-footer { + margin-top: 16px; + padding: 24px; + text-align: center; + display: flex; + flex-direction: column; + align-items: center; + gap: 6px; + border-top: 1px solid var(--border); +} + +.footer-credit { + font-size: 0.85rem; + color: var(--text-muted); +} + +.footer-links { + display: flex; + align-items: center; + gap: 8px; + font-size: 0.85rem; +} + +.footer-links a { + color: var(--accent); + text-decoration: none; +} + +.footer-links a:hover { + text-decoration: underline; +} + +.footer-sep { + color: var(--text-muted); +} + +.footer-copy { + font-size: 0.75rem; + color: var(--text-muted); + opacity: 0.6; +} + /* ── Shared card ── */ .card { background: var(--surface); @@ -102,6 +153,35 @@ padding: 20px; } +/* ── Global time range selector ── */ +.global-time-range { + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 14px 20px; +} + +.global-time-range__presets { + display: flex; + gap: 8px; + flex-wrap: wrap; +} + +.global-time-range__custom { + display: flex; + flex-wrap: wrap; + gap: 12px; + align-items: flex-end; + margin-top: 12px; +} + +.custom-time-error { + width: 100%; + margin: 4px 0 0; + font-size: 0.8rem; + color: var(--red); +} + /* ── Section title ── */ .section-title { font-size: 0.95rem; @@ -329,6 +409,12 @@ color: var(--accent); } +.preset-btn.active { + background: var(--accent); + border-color: var(--accent); + color: #fff; +} + .query-inputs { display: flex; flex-wrap: wrap; @@ -386,7 +472,7 @@ display: flex; flex-direction: column; gap: 8px; - max-height: 420px; + max-height: 800px; overflow-y: auto; padding-right: 4px; } diff --git a/src/App.tsx b/src/App.tsx index 70e470c..2caf02f 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,37 +1,51 @@ +import { useState } from 'react'; import StatsPanel from './components/StatsPanel'; import LatestTrain from './components/LatestTrain'; import DetectionChart from './components/DetectionChart'; import TimeRangeQuery from './components/TimeRangeQuery'; +import GlobalTimeRange, { makePresetRange } from './components/GlobalTimeRange'; +import type { TimeRange } from './components/GlobalTimeRange'; import './App.css'; function App() { + const [timeRange, setTimeRange] = useState(() => makePresetRange('7d')); return (

- 🚂 ✨ +
-

Overnight Train Dashboard

+

Midnight Train

+

Train Detection Dashboard

Overnight recordings (11PM - 7AM) · Old Town, Tacoma - ·

- Recording device positioned indoors on 30th Street, 2 blocks down from McCarver Street railroad crossing. + Recorded indoors on 30th St, 2 blocks from McCarver Street crossing.

- + +
- +
- +
+
+

Created by Camille Ibsen

+
+ GitHub + · + LinkedIn +
+

© 2026 Midnight Train

+
); } diff --git a/src/api.ts b/src/api.ts index 6f6ac34..e5212eb 100644 --- a/src/api.ts +++ b/src/api.ts @@ -2,17 +2,19 @@ import type { Detection, DetectionsResponse, Stats } from './types'; const BASE_URL = (import.meta.env.VITE_API_BASE_URL as string | undefined) ?? 'http://localhost:3000'; -export async function fetchStats(source?: string): Promise { +export async function fetchStats(source?: string, start?: string, end?: string): Promise { const params = new URLSearchParams(); if (source) params.set('source', source); + if (start) params.set('start', start); + if (end) params.set('end', end); const qs = params.toString(); const res = await fetch(`${BASE_URL}/api/detections/stats${qs ? `?${qs}` : ''}`); if (!res.ok) throw new Error('Failed to fetch stats'); return res.json() as Promise; } -export async function fetchLatest(confirmedOnly = false): Promise { - const res = await fetch(`${BASE_URL}/api/detections/latest?confirmed_only=${confirmedOnly}`); +export async function fetchLatest(): Promise { + const res = await fetch(`${BASE_URL}/api/detections/latest?confirmed_only=true`); if (res.status === 404) throw new Error('No detections found'); if (!res.ok) throw new Error('Failed to fetch latest detection'); return res.json() as Promise; diff --git a/src/components/DetectionChart.tsx b/src/components/DetectionChart.tsx index bd01e2f..0ec66e8 100644 --- a/src/components/DetectionChart.tsx +++ b/src/components/DetectionChart.tsx @@ -23,18 +23,52 @@ interface ChartPoint { source: string; } -const DAYS_OPTIONS = [1, 7, 30] as const; - function formatXTick(ms: number, days: number): string { if (days <= 1) { - return new Intl.DateTimeFormat(undefined, { hour: '2-digit', minute: '2-digit' }).format(new Date(ms)); + return new Intl.DateTimeFormat(undefined, { hour: 'numeric' }).format(new Date(ms)); } if (days <= 7) { - return new Intl.DateTimeFormat(undefined, { month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit' }).format(new Date(ms)); + return new Intl.DateTimeFormat(undefined, { month: 'short', day: 'numeric', hour: 'numeric' }).format(new Date(ms)); } return new Intl.DateTimeFormat(undefined, { month: 'short', day: 'numeric' }).format(new Date(ms)); } +function generateTicks(startMs: number, endMs: number, days: number): number[] { + const ticks: number[] = []; + + if (days <= 1) { + // Every hour, anchored to local hour boundaries + const d = new Date(startMs); + d.setMinutes(0, 0, 0); + let t = d.getTime(); + if (t < startMs) t += 60 * 60 * 1000; + while (t <= endMs) { ticks.push(t); t += 60 * 60 * 1000; } + } else if (days <= 7) { + // Every 12 hours, anchored to local midnight → gives 12AM and 12PM ticks + const d = new Date(startMs); + d.setHours(0, 0, 0, 0); + let t = d.getTime(); + const interval = 12 * 60 * 60 * 1000; + while (t <= endMs) { if (t >= startMs) ticks.push(t); t += interval; } + } else if (days <= 14) { + // Every 24 hours, anchored to local midnight → one tick per day + const d = new Date(startMs); + d.setHours(0, 0, 0, 0); + let t = d.getTime(); + const interval = 24 * 60 * 60 * 1000; + while (t <= endMs) { if (t >= startMs) ticks.push(t); t += interval; } + } else { + // Every 2 days, anchored to local midnight + const d = new Date(startMs); + d.setHours(0, 0, 0, 0); + let t = d.getTime(); + const interval = 48 * 60 * 60 * 1000; + while (t <= endMs) { if (t >= startMs) ticks.push(t); t += interval; } + } + + return ticks; +} + function timeAgo(iso: string): string { const diff = Date.now() - new Date(iso).getTime(); const minutes = Math.floor(diff / 60_000); @@ -86,11 +120,15 @@ function CustomTooltip({ active, payload }: CustomTooltipProps) { ); } -export default function DetectionChart() { +interface DetectionChartProps { + start: string | undefined; + end: string | undefined; +} + +export default function DetectionChart({ start, end }: DetectionChartProps) { const [detections, setDetections] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); - const [days, setDays] = useState<(typeof DAYS_OPTIONS)[number]>(7); const [selected, setSelected] = useState(null); useEffect(() => { @@ -98,14 +136,12 @@ export default function DetectionChart() { setLoading(true); setError(null); setSelected(null); - const end = new Date(); - const start = new Date(end.getTime() - days * 24 * 60 * 60 * 1000); - fetchDetections({ start: start.toISOString(), end: end.toISOString(), limit: 500 }) + fetchDetections({ start, end, limit: 500 }) .then(r => { if (!cancelled) setDetections(r.data); }) .catch((e: Error) => { if (!cancelled) setError(e.message); }) .finally(() => { if (!cancelled) setLoading(false); }); return () => { cancelled = true; }; - }, [days]); + }, [start, end]); function handleDotClick(data: unknown) { const point = data as ChartPoint; @@ -139,23 +175,20 @@ export default function DetectionChart() { else normal.push(point); } - const tickFormatter = (ms: number) => formatXTick(ms, days); + const endMs = end ? new Date(end).getTime() : Date.now(); + const startMs = start ? new Date(start).getTime() : undefined; + const dataMinMs = detections.length > 0 + ? detections.reduce((min, d) => Math.min(min, new Date(d.timestamp).getTime()), Infinity) + : undefined; + const effectiveStartMs = startMs ?? dataMinMs; + const rangeDays = effectiveStartMs !== undefined ? (endMs - effectiveStartMs) / (24 * 60 * 60 * 1000) : 365; + const ticks = effectiveStartMs !== undefined ? generateTicks(effectiveStartMs, endMs, rangeDays) : undefined; + const tickFormatter = (ms: number) => formatXTick(ms, rangeDays); return (
-

Detection History

-
- {DAYS_OPTIONS.map(d => ( - - ))} -
+

Event History

{loading &&
Loading chart…
} @@ -172,15 +205,15 @@ export default function DetectionChart() { String(n).padStart(2, '0'); + return ( + `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}` + + `T${pad(date.getHours())}:${pad(date.getMinutes())}` + ); +} + +export function makePresetRange(preset: Exclude): TimeRange { + const now = new Date(); + if (preset === 'all') return { preset, start: undefined, end: undefined }; + const hoursMap: Record, number> = { + '24h': 24, '3d': 72, '7d': 168, '14d': 336, '30d': 720, + }; + return { + preset, + start: new Date(now.getTime() - hoursMap[preset] * 60 * 60 * 1000).toISOString(), + end: now.toISOString(), + }; +} + +const PRESETS: { label: string; preset: Preset }[] = [ + { label: '24h', preset: '24h' }, + { label: '3 Days', preset: '3d' }, + { label: '7 Days', preset: '7d' }, + { label: '14 Days', preset: '14d' }, + { label: '30 Days', preset: '30d' }, + { label: 'All Time', preset: 'all' }, + { label: 'Custom', preset: 'custom' }, +]; + +interface Props { + value: TimeRange; + onChange: (range: TimeRange) => void; +} + +export default function GlobalTimeRange({ value, onChange }: Props) { + const now = new Date(); + const [customStart, setCustomStart] = useState( + toLocalInput(new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000)) + ); + const [customEnd, setCustomEnd] = useState(toLocalInput(now)); + const [customError, setCustomError] = useState(null); + + function handlePreset(preset: Preset) { + if (preset === 'custom') { + onChange({ preset: 'custom', start: undefined, end: undefined }); + } else { + onChange(makePresetRange(preset)); + } + } + + function handleApply() { + if (!customStart || !customEnd) { + setCustomError('Both start and end times are required.'); + return; + } + const startMs = new Date(customStart).getTime(); + const endMs = new Date(customEnd).getTime(); + if (isNaN(startMs) || isNaN(endMs)) { + setCustomError('Invalid date value.'); + return; + } + if (startMs >= endMs) { + setCustomError('Start time must be earlier than end time.'); + return; + } + setCustomError(null); + onChange({ + preset: 'custom', + start: new Date(customStart).toISOString(), + end: new Date(customEnd).toISOString(), + }); + } + + return ( +
+
+ {PRESETS.map(p => ( + + ))} +
+ {value.preset === 'custom' && ( +
+ + + + {customError &&

{customError}

} +
+ )} +
+ ); +} diff --git a/src/components/LatestTrain.tsx b/src/components/LatestTrain.tsx index c3255c3..2af8998 100644 --- a/src/components/LatestTrain.tsx +++ b/src/components/LatestTrain.tsx @@ -42,7 +42,7 @@ export default function LatestTrain() { useEffect(() => { let cancelled = false; - fetchLatest(false) + fetchLatest() .then(data => { if (!cancelled) setDetection(data); }) .catch((e: Error) => { if (!cancelled) setError(e.message); }) .finally(() => { if (!cancelled) setLoading(false); }); @@ -51,7 +51,7 @@ export default function LatestTrain() { return (
-

Last Train Detected

+

Last Confirmed Train

{loading &&

Loading…

} {(error || (!loading && !detection)) && (

No detections found

diff --git a/src/components/StatsPanel.tsx b/src/components/StatsPanel.tsx index a919be6..4b0055f 100644 --- a/src/components/StatsPanel.tsx +++ b/src/components/StatsPanel.tsx @@ -17,19 +17,26 @@ function StatCard({ label, value, highlight }: StatCardProps) { ); } -export default function StatsPanel() { +interface StatsPanelProps { + start: string | undefined; + end: string | undefined; +} + +export default function StatsPanel({ start, end }: StatsPanelProps) { const [stats, setStats] = useState(null); const [error, setError] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { let cancelled = false; - fetchStats() + setLoading(true); + setError(null); + fetchStats(undefined, start, end) .then(data => { if (!cancelled) setStats(data); }) .catch((e: Error) => { if (!cancelled) setError(e.message); }) .finally(() => { if (!cancelled) setLoading(false); }); return () => { cancelled = true; }; - }, []); + }, [start, end]); if (loading) return
Loading stats…
; if (error) return
Could not load stats: {error}
; @@ -41,10 +48,8 @@ export default function StatsPanel() { - - - - + + ); } diff --git a/src/components/TimeRangeQuery.tsx b/src/components/TimeRangeQuery.tsx index cf0046b..f0fa09c 100644 --- a/src/components/TimeRangeQuery.tsx +++ b/src/components/TimeRangeQuery.tsx @@ -1,17 +1,9 @@ -import { useState } from 'react'; +import { useEffect, useState } from 'react'; import { fetchDetections } from '../api'; import AudioButton from './AudioButton'; import ReviewButtons from './ReviewButtons'; import type { Detection, DetectionsResponse } from '../types'; -function toLocalInput(date: Date): string { - const pad = (n: number) => String(n).padStart(2, '0'); - return ( - `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}` + - `T${pad(date.getHours())}:${pad(date.getMinutes())}` - ); -} - function formatDateTime(iso: string): string { return new Intl.DateTimeFormat(undefined, { dateStyle: 'short', @@ -31,47 +23,26 @@ function statusClass(d: Detection): string { return 'status-suspected'; } -const PRESETS = [ - { label: 'Last Hour', hours: 1 }, - { label: 'Last 24h', hours: 24 }, - { label: 'Last 7 Days', hours: 168 }, - { label: 'Last 30 Days', hours: 720 }, -]; - -export default function TimeRangeQuery() { - const now = new Date(); - const yesterday = new Date(now.getTime() - 24 * 60 * 60 * 1000); +interface Props { + start: string | undefined; + end: string | undefined; +} - const [start, setStart] = useState(toLocalInput(yesterday)); - const [end, setEnd] = useState(toLocalInput(now)); +export default function TimeRangeQuery({ start, end }: Props) { const [results, setResults] = useState(null); - const [loading, setLoading] = useState(false); + const [loading, setLoading] = useState(true); const [error, setError] = useState(null); - function applyPreset(hours: number) { - const endDate = new Date(); - const startDate = new Date(endDate.getTime() - hours * 60 * 60 * 1000); - setStart(toLocalInput(startDate)); - setEnd(toLocalInput(endDate)); - setResults(null); - } - - async function handleQuery() { + useEffect(() => { + let cancelled = false; setLoading(true); setError(null); - try { - const data = await fetchDetections({ - start: new Date(start).toISOString(), - end: new Date(end).toISOString(), - limit: 200, - }); - setResults(data); - } catch (e) { - setError((e as Error).message); - } finally { - setLoading(false); - } - } + fetchDetections({ start, end, limit: 200 }) + .then(data => { if (!cancelled) setResults(data); }) + .catch((e: Error) => { if (!cancelled) setError(e.message); }) + .finally(() => { if (!cancelled) setLoading(false); }); + return () => { cancelled = true; }; + }, [start, end]); const trains = results?.data.filter(d => d.is_suspected_train) ?? []; const confirmed = trains.filter(d => d.is_confirmed_train === true); @@ -84,41 +55,12 @@ export default function TimeRangeQuery() { return (
-

Query Time Range

- -
- {PRESETS.map(p => ( - - ))} -
- -
- - - -
+

Events

+ {loading &&
Loading…
} {error &&
{error}
} - {results && ( + {!loading && !error && results && (
{trains.length === 0 ? ( diff --git a/src/types.ts b/src/types.ts index f8bf21b..31dd07f 100644 --- a/src/types.ts +++ b/src/types.ts @@ -23,8 +23,6 @@ export interface Stats { confirmed_trains: number; confirmed_false_positives: number; unreviewed_suspected: number; - suspected_last_24h: number; - suspected_last_7d: number; last_suspected_at: string | null; last_confirmed_at: string | null; avg_decibels: string; From eccbb4f7ad2d02d028d64b8f28197db043612fd8 Mon Sep 17 00:00:00 2001 From: ibsenc Date: Sun, 24 May 2026 14:02:35 -0700 Subject: [PATCH 2/3] Address comments on PR #2 --- index.html | 2 +- src/App.css | 22 ---------------------- src/api.ts | 2 +- src/components/GlobalTimeRange.tsx | 3 ++- src/components/LatestTrain.tsx | 4 ++-- 5 files changed, 6 insertions(+), 27 deletions(-) diff --git a/index.html b/index.html index ebd6ed6..0834bf5 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ - train-detection-app + Midnight Train
diff --git a/src/App.css b/src/App.css index 029f45d..2101e39 100644 --- a/src/App.css +++ b/src/App.css @@ -393,28 +393,6 @@ margin-bottom: 16px; } -.preset-btn { - background: var(--surface-2); - border: 1px solid var(--border); - color: var(--text-muted); - border-radius: 6px; - padding: 5px 14px; - font-size: 0.8rem; - cursor: pointer; - transition: all 0.15s; -} - -.preset-btn:hover { - border-color: var(--accent); - color: var(--accent); -} - -.preset-btn.active { - background: var(--accent); - border-color: var(--accent); - color: #fff; -} - .query-inputs { display: flex; flex-wrap: wrap; diff --git a/src/api.ts b/src/api.ts index e5212eb..2933a98 100644 --- a/src/api.ts +++ b/src/api.ts @@ -13,7 +13,7 @@ export async function fetchStats(source?: string, start?: string, end?: string): return res.json() as Promise; } -export async function fetchLatest(): Promise { +export async function fetchLatestConfirmed(): Promise { const res = await fetch(`${BASE_URL}/api/detections/latest?confirmed_only=true`); if (res.status === 404) throw new Error('No detections found'); if (!res.ok) throw new Error('Failed to fetch latest detection'); diff --git a/src/components/GlobalTimeRange.tsx b/src/components/GlobalTimeRange.tsx index 4a061a3..44630e8 100644 --- a/src/components/GlobalTimeRange.tsx +++ b/src/components/GlobalTimeRange.tsx @@ -53,8 +53,9 @@ export default function GlobalTimeRange({ value, onChange }: Props) { const [customError, setCustomError] = useState(null); function handlePreset(preset: Preset) { + setCustomError(null); if (preset === 'custom') { - onChange({ preset: 'custom', start: undefined, end: undefined }); + onChange({ ...value, preset: 'custom' }); } else { onChange(makePresetRange(preset)); } diff --git a/src/components/LatestTrain.tsx b/src/components/LatestTrain.tsx index 2af8998..c6c650c 100644 --- a/src/components/LatestTrain.tsx +++ b/src/components/LatestTrain.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { fetchLatest } from '../api'; +import { fetchLatestConfirmed } from '../api'; import AudioButton from './AudioButton'; import type { Detection } from '../types'; @@ -42,7 +42,7 @@ export default function LatestTrain() { useEffect(() => { let cancelled = false; - fetchLatest() + fetchLatestConfirmed() .then(data => { if (!cancelled) setDetection(data); }) .catch((e: Error) => { if (!cancelled) setError(e.message); }) .finally(() => { if (!cancelled) setLoading(false); }); From faf0d20fa7fb895ea0396dba84470fc7e9e4d6a2 Mon Sep 17 00:00:00 2001 From: ibsenc Date: Sun, 24 May 2026 14:29:09 -0700 Subject: [PATCH 3/3] Defer custom range apply and set all-time chart end to data max --- src/components/DetectionChart.tsx | 5 ++++- src/components/GlobalTimeRange.tsx | 13 ++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/components/DetectionChart.tsx b/src/components/DetectionChart.tsx index 0ec66e8..6d6b2fc 100644 --- a/src/components/DetectionChart.tsx +++ b/src/components/DetectionChart.tsx @@ -175,7 +175,10 @@ export default function DetectionChart({ start, end }: DetectionChartProps) { else normal.push(point); } - const endMs = end ? new Date(end).getTime() : Date.now(); + const dataMaxMs = detections.length > 0 + ? detections.reduce((max, d) => Math.max(max, new Date(d.timestamp).getTime()), -Infinity) + : undefined; + const endMs = end ? new Date(end).getTime() : (dataMaxMs ?? Date.now()); const startMs = start ? new Date(start).getTime() : undefined; const dataMinMs = detections.length > 0 ? detections.reduce((min, d) => Math.min(min, new Date(d.timestamp).getTime()), Infinity) diff --git a/src/components/GlobalTimeRange.tsx b/src/components/GlobalTimeRange.tsx index 44630e8..69d2b3f 100644 --- a/src/components/GlobalTimeRange.tsx +++ b/src/components/GlobalTimeRange.tsx @@ -51,12 +51,15 @@ export default function GlobalTimeRange({ value, onChange }: Props) { ); const [customEnd, setCustomEnd] = useState(toLocalInput(now)); const [customError, setCustomError] = useState(null); + const [pendingCustom, setPendingCustom] = useState(value.preset === 'custom'); function handlePreset(preset: Preset) { setCustomError(null); if (preset === 'custom') { - onChange({ ...value, preset: 'custom' }); + setPendingCustom(true); + // Don't call onChange yet — wait for Apply } else { + setPendingCustom(false); onChange(makePresetRange(preset)); } } @@ -77,6 +80,7 @@ export default function GlobalTimeRange({ value, onChange }: Props) { return; } setCustomError(null); + setPendingCustom(false); onChange({ preset: 'custom', start: new Date(customStart).toISOString(), @@ -84,20 +88,23 @@ export default function GlobalTimeRange({ value, onChange }: Props) { }); } + const showCustom = pendingCustom || value.preset === 'custom'; + const activePreset = pendingCustom ? 'custom' : value.preset; + return (
{PRESETS.map(p => ( ))}
- {value.preset === 'custom' && ( + {showCustom && (