2025-08-13 14:23:48 +01:00
|
|
|
import clsx from "clsx";
|
|
|
|
|
import { SnapshotContainer } from "../CameraOverview/SnapshotContainer";
|
|
|
|
|
import Card from "../UI/Card";
|
2025-09-30 09:07:22 +01:00
|
|
|
import { useNavigate, useLocation } from "react-router";
|
2025-09-26 13:38:47 +01:00
|
|
|
import { useSwipeable } from "react-swipeable";
|
2025-08-13 14:23:48 +01:00
|
|
|
|
|
|
|
|
const OverviewVideoContainer = ({
|
|
|
|
|
side,
|
2025-08-18 12:53:30 +01:00
|
|
|
settingsPage,
|
2025-09-29 15:21:22 +01:00
|
|
|
zoomLevel,
|
|
|
|
|
onZoomLevelChange,
|
2025-08-13 14:23:48 +01:00
|
|
|
}: {
|
|
|
|
|
title: string;
|
|
|
|
|
side: string;
|
2025-08-18 12:53:30 +01:00
|
|
|
settingsPage?: boolean;
|
2025-10-02 16:07:05 +01:00
|
|
|
zoomLevel?: number;
|
|
|
|
|
onZoomLevelChange?: (level: number) => void;
|
2025-08-13 14:23:48 +01:00
|
|
|
}) => {
|
2025-09-26 13:38:47 +01:00
|
|
|
const navigate = useNavigate();
|
2025-09-30 09:07:22 +01:00
|
|
|
const location = useLocation();
|
2025-09-26 13:38:47 +01:00
|
|
|
const handlers = useSwipeable({
|
2025-09-30 09:07:22 +01:00
|
|
|
onSwipedLeft: () => {
|
2025-11-04 16:09:24 +00:00
|
|
|
if (location.pathname === "/b-camera-settings") return;
|
2025-09-30 09:07:22 +01:00
|
|
|
navigate("/");
|
|
|
|
|
},
|
|
|
|
|
onSwipedRight: () => {
|
2025-11-04 16:09:24 +00:00
|
|
|
if (location.pathname === "/a-camera-settings") return;
|
2025-09-30 09:07:22 +01:00
|
|
|
navigate("/");
|
|
|
|
|
},
|
2025-09-26 13:38:47 +01:00
|
|
|
trackMouse: true,
|
|
|
|
|
});
|
2025-08-13 14:23:48 +01:00
|
|
|
return (
|
2025-10-15 15:15:04 +01:00
|
|
|
<Card className={clsx("relative min-h-[40vh] md:min-h-[60vh] max-h-[80vh] lg:w-[70%] overflow-y-hidden")}>
|
2025-09-26 13:38:47 +01:00
|
|
|
<div className="w-full" {...handlers}>
|
2025-09-29 15:21:22 +01:00
|
|
|
<SnapshotContainer
|
|
|
|
|
side={side}
|
|
|
|
|
settingsPage={settingsPage}
|
|
|
|
|
zoomLevel={zoomLevel}
|
|
|
|
|
onZoomLevelChange={onZoomLevelChange}
|
|
|
|
|
/>
|
2025-08-13 14:23:48 +01:00
|
|
|
</div>
|
|
|
|
|
</Card>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default OverviewVideoContainer;
|