From c763d9e89d1e7ce21d32b5a13af8c0d2cd062fb0 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Tue, 26 Mar 2024 12:22:11 -0600 Subject: [PATCH] Add dialog to export recordings --- web/src/components/overlay/ExportDialog.tsx | 72 +++++++++++++++++++++ web/src/views/events/RecordingView.tsx | 2 + 2 files changed, 74 insertions(+) create mode 100644 web/src/components/overlay/ExportDialog.tsx diff --git a/web/src/components/overlay/ExportDialog.tsx b/web/src/components/overlay/ExportDialog.tsx new file mode 100644 index 000000000..a04fcaed2 --- /dev/null +++ b/web/src/components/overlay/ExportDialog.tsx @@ -0,0 +1,72 @@ +import { useState } from "react"; +import { + Dialog, + DialogClose, + DialogContent, + DialogFooter, + DialogHeader, + DialogTitle, + DialogTrigger, +} from "../ui/dialog"; +import { Label } from "../ui/label"; +import { RadioGroup, RadioGroupItem } from "../ui/radio-group"; +import { Button } from "../ui/button"; + +const EXPORT_OPTIONS = [ + "1", + "4", + "8", + "12", + "24", + "custom", + "timeline", +] as const; +type ExportOption = (typeof EXPORT_OPTIONS)[number]; + +export default function ExportDialog() { + const [selectedOption, setSelectedOption] = useState("1"); + + return ( + + +
+
+ + + Export + + setSelectedOption(value as ExportOption)} + > + {EXPORT_OPTIONS.map((opt) => { + return ( +
+ + +
+ ); + })} +
+ + Cancel + + +
+
+ ); +} diff --git a/web/src/views/events/RecordingView.tsx b/web/src/views/events/RecordingView.tsx index 8efe3317a..a7cb9f614 100644 --- a/web/src/views/events/RecordingView.tsx +++ b/web/src/views/events/RecordingView.tsx @@ -1,6 +1,7 @@ import ReviewCard from "@/components/card/ReviewCard"; import FilterCheckBox from "@/components/filter/FilterCheckBox"; import ReviewFilterGroup from "@/components/filter/ReviewFilterGroup"; +import ExportDialog from "@/components/overlay/ExportDialog"; import PreviewPlayer, { PreviewController, } from "@/components/player/PreviewPlayer"; @@ -245,6 +246,7 @@ export function RecordingView({ )} +