diff --git a/src/components/AppShell.tsx b/src/components/AppShell.tsx
deleted file mode 100644
index 36a6e3f..0000000
--- a/src/components/AppShell.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import { ReactNode } from "react";
-import TopNav from "@/components/TopNav";
-import { useTheme } from "@/hooks/useTheme";
-
-export default function AppShell({ children }: { children: ReactNode }) {
- const { isDark } = useTheme();
-
- return (
-
-
-
- {children}
-
-
- );
-}
-
diff --git a/src/components/TopNav.tsx b/src/components/TopNav.tsx
index 4509614..e1fd116 100644
--- a/src/components/TopNav.tsx
+++ b/src/components/TopNav.tsx
@@ -55,7 +55,15 @@ export default function TopNav() {
diff --git a/src/pages/Playback.tsx b/src/pages/Playback.tsx
index 80cfc13..4b0cfd8 100644
--- a/src/pages/Playback.tsx
+++ b/src/pages/Playback.tsx
@@ -1,5 +1,5 @@
-import { Download, Play } from "lucide-react";
-import { useEffect, useMemo, useState } from "react";
+import { CalendarDays, Download, Play } from "lucide-react";
+import { useEffect, useMemo, useRef, useState } from "react";
import { useConfigStore } from "@/stores/configStore";
import { apiJson } from "@/utils/api";
import type { RecordingItem } from "@/types/api";
@@ -13,6 +13,7 @@ function toLocalDateInputValue(d: Date) {
export default function Playback() {
const { config, isLoading, error, load } = useConfigStore();
+ const dateInputRef = useRef(null);
const [camera, setCamera] = useState("");
const [date, setDate] = useState(() => toLocalDateInputValue(new Date()));
const [items, setItems] = useState([]);
@@ -31,6 +32,18 @@ export default function Playback() {
const canQuery = useMemo(() => Boolean(camera), [camera]);
+ const openDatePicker = () => {
+ const input = dateInputRef.current;
+ if (!input) return;
+ const pickerInput = input as HTMLInputElement & { showPicker?: () => void };
+ if (pickerInput.showPicker) {
+ pickerInput.showPicker();
+ return;
+ }
+ input.focus();
+ input.click();
+ };
+
useEffect(() => {
let alive = true;
const run = async () => {
@@ -103,12 +116,23 @@ export default function Playback() {