Address feedback

This commit is contained in:
Nicolas Mowen 2024-04-02 16:13:19 -06:00
parent 941ec46bcb
commit 692c0aa85a
2 changed files with 28 additions and 13 deletions

View File

@ -61,7 +61,7 @@ class RecordingExporter(threading.Thread):
) )
file_name = ( file_name = (
self.user_provided_name self.user_provided_name
or f"{self.camera}@{self.get_datetime_from_timestamp(self.start_time)}__{self.get_datetime_from_timestamp(self.end_time)}" or f"{self.camera}_{self.get_datetime_from_timestamp(self.start_time)}__{self.get_datetime_from_timestamp(self.end_time)}"
) )
file_path = f"{EXPORT_DIR}/in_progress.{file_name}.mp4" file_path = f"{EXPORT_DIR}/in_progress.{file_name}.mp4"
final_file_path = f"{EXPORT_DIR}/{file_name}.mp4" final_file_path = f"{EXPORT_DIR}/{file_name}.mp4"

View File

@ -9,6 +9,7 @@ import Chip from "../indicators/Chip";
import { Skeleton } from "../ui/skeleton"; import { Skeleton } from "../ui/skeleton";
import { Dialog, DialogContent, DialogFooter, DialogTitle } from "../ui/dialog"; import { Dialog, DialogContent, DialogFooter, DialogTitle } from "../ui/dialog";
import { Input } from "../ui/input"; import { Input } from "../ui/input";
import useKeyboardListener from "@/hooks/use-keyboard-listener";
type ExportProps = { type ExportProps = {
file: { file: {
@ -35,6 +36,16 @@ export default function ExportCard({ file, onRename, onDelete }: ExportProps) {
update: string; update: string;
}>(); }>();
useKeyboardListener(
editName != undefined ? ["Enter"] : [],
(_, down, repeat) => {
if (down && !repeat && editName && editName.update.length > 0) {
onRename(editName.original, editName.update.replaceAll(" ", "_"));
setEditName(undefined);
}
},
);
return ( return (
<> <>
<Dialog <Dialog
@ -94,9 +105,11 @@ export default function ExportCard({ file, onRename, onDelete }: ExportProps) {
isDesktop || inProgress ? undefined : () => setHovered(!hovered) isDesktop || inProgress ? undefined : () => setHovered(!hovered)
} }
> >
{!playing && hovered && ( {hovered && (
<> <>
<div className="absolute inset-0 z-10 bg-black bg-opacity-60 rounded-2xl" /> {!playing && (
<div className="absolute inset-0 z-10 bg-black bg-opacity-60 rounded-2xl" />
)}
<div className="absolute top-1 right-1 flex items-center gap-2"> <div className="absolute top-1 right-1 flex items-center gap-2">
<Chip <Chip
className="bg-gradient-to-br from-gray-400 to-gray-500 bg-gray-500 rounded-md cursor-pointer" className="bg-gradient-to-br from-gray-400 to-gray-500 bg-gray-500 rounded-md cursor-pointer"
@ -111,16 +124,18 @@ export default function ExportCard({ file, onRename, onDelete }: ExportProps) {
<LuTrash className="size-4 text-destructive fill-destructive" /> <LuTrash className="size-4 text-destructive fill-destructive" />
</Chip> </Chip>
</div> </div>
<Button {!playing && (
className="absolute left-1/2 -translate-x-1/2 top-1/2 -translate-y-1/2 w-20 h-20 z-20 text-white hover:text-white hover:bg-transparent" <Button
variant="ghost" className="absolute left-1/2 -translate-x-1/2 top-1/2 -translate-y-1/2 w-20 h-20 z-20 text-white hover:text-white hover:bg-transparent"
onClick={() => { variant="ghost"
setPlaying(true); onClick={() => {
videoRef.current?.play(); setPlaying(true);
}} videoRef.current?.play();
> }}
<FaPlay /> >
</Button> <FaPlay />
</Button>
)}
</> </>
)} )}
{inProgress ? ( {inProgress ? (