diff --git a/src/components/CameraOverview/SnapshotContainer.tsx b/src/components/CameraOverview/SnapshotContainer.tsx index e5ad76b..cc491db 100644 --- a/src/components/CameraOverview/SnapshotContainer.tsx +++ b/src/components/CameraOverview/SnapshotContainer.tsx @@ -1,17 +1,21 @@ import { useGetOverviewSnapshot } from "../../hooks/useGetOverviewSnapshot"; +import type { ZoomLevel } from "../../types/types"; import NavigationArrow from "../UI/NavigationArrow"; type SnapshotContainerProps = { side: string; settingsPage?: boolean; + zoomLevel?: ZoomLevel; + onZoomLevelChange?: (level: ZoomLevel) => void; }; export const SnapshotContainer = ({ side, settingsPage, + zoomLevel, + onZoomLevelChange, }: SnapshotContainerProps) => { const { canvasRef, isError, isPending } = useGetOverviewSnapshot(); - if (isError) return
An error occurred
; if (isPending) returnLoading...
; @@ -27,14 +31,20 @@ export const SnapshotContainer = ({ if (!cw || !ch) return; const px = x / cw; const py = y / ch; - console.log({ - left, - top, - x, - y, - px, - py, - }); + + const baseLevel = zoomLevel?.level ?? 1; + const newLevel = baseLevel >= 8 ? 1 : baseLevel * 2; + + if (onZoomLevelChange) + onZoomLevelChange({ + left, + top, + x, + y, + px, + py, + level: newLevel, + }); }; return ( diff --git a/src/components/CameraSettings/CameraSettingFields.tsx b/src/components/CameraSettings/CameraSettingFields.tsx index 6f31f46..74db4bc 100644 --- a/src/components/CameraSettings/CameraSettingFields.tsx +++ b/src/components/CameraSettings/CameraSettingFields.tsx @@ -3,19 +3,25 @@ import type { CameraConfig, CameraSettingErrorValues, CameraSettingValues, + ZoomLevel, } from "../../types/types"; import { useMemo, useState } from "react"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faEye, faEyeSlash } from "@fortawesome/free-regular-svg-icons"; +import CardHeader from "../UI/CardHeader"; type CameraSettingsProps = { initialData: CameraConfig; updateCameraConfig: (values: CameraSettingValues) => Promise