Refactor menu handling

This commit is contained in:
Nicolas Mowen 2025-09-29 13:27:18 -06:00
parent cd8adcaaf4
commit 223b9bad77

View File

@ -507,7 +507,7 @@ export default function LiveCameraView({
)} )}
</Button> </Button>
)} )}
{supportsFullscreen && ( {supportsFullscreen && !debug && (
<CameraFeatureToggle <CameraFeatureToggle
className="p-2 md:p-0" className="p-2 md:p-0"
variant={fullscreen ? "overlay" : "primary"} variant={fullscreen ? "overlay" : "primary"}
@ -521,7 +521,10 @@ export default function LiveCameraView({
onClick={toggleFullscreen} onClick={toggleFullscreen}
/> />
)} )}
{!isIOS && !isFirefox && preferredLiveMode != "jsmpeg" && ( {!isIOS &&
!isFirefox &&
!debug &&
preferredLiveMode != "jsmpeg" && (
<CameraFeatureToggle <CameraFeatureToggle
className="p-2 md:p-0" className="p-2 md:p-0"
variant={fullscreen ? "overlay" : "primary"} variant={fullscreen ? "overlay" : "primary"}
@ -543,7 +546,7 @@ export default function LiveCameraView({
disabled={!cameraEnabled} disabled={!cameraEnabled}
/> />
)} )}
{supports2WayTalk && ( {supports2WayTalk && !debug && (
<CameraFeatureToggle <CameraFeatureToggle
className="p-2 md:p-0" className="p-2 md:p-0"
variant={fullscreen ? "overlay" : "primary"} variant={fullscreen ? "overlay" : "primary"}
@ -563,7 +566,7 @@ export default function LiveCameraView({
disabled={!cameraEnabled} disabled={!cameraEnabled}
/> />
)} )}
{supportsAudioOutput && preferredLiveMode != "jsmpeg" && ( {supportsAudioOutput && !debug && preferredLiveMode != "jsmpeg" && (
<CameraFeatureToggle <CameraFeatureToggle
className="p-2 md:p-0" className="p-2 md:p-0"
variant={fullscreen ? "overlay" : "primary"} variant={fullscreen ? "overlay" : "primary"}
@ -888,17 +891,21 @@ function FrigateCameraFeatures({
<> <>
{isAdmin && ( {isAdmin && (
<> <>
{!debug && (
<CameraFeatureToggle <CameraFeatureToggle
className="p-2 md:p-0" className="p-2 md:p-0"
variant={fullscreen ? "overlay" : "primary"} variant={fullscreen ? "overlay" : "primary"}
Icon={enabledState == "ON" ? LuPower : LuPowerOff} Icon={enabledState == "ON" ? LuPower : LuPowerOff}
isActive={enabledState == "ON"} isActive={enabledState == "ON"}
title={ title={
enabledState == "ON" ? t("camera.disable") : t("camera.enable") enabledState == "ON"
? t("camera.disable")
: t("camera.enable")
} }
onClick={() => sendEnabled(enabledState == "ON" ? "OFF" : "ON")} onClick={() => sendEnabled(enabledState == "ON" ? "OFF" : "ON")}
disabled={false} disabled={false}
/> />
)}
<CameraFeatureToggle <CameraFeatureToggle
className="p-2 md:p-0" className="p-2 md:p-0"
variant={fullscreen ? "overlay" : "primary"} variant={fullscreen ? "overlay" : "primary"}
@ -993,6 +1000,7 @@ function FrigateCameraFeatures({
)} )}
</> </>
)} )}
{!debug && (
<CameraFeatureToggle <CameraFeatureToggle
className={cn( className={cn(
"p-2 md:p-0", "p-2 md:p-0",
@ -1005,6 +1013,7 @@ function FrigateCameraFeatures({
onClick={handleEventButtonClick} onClick={handleEventButtonClick}
disabled={!cameraEnabled} disabled={!cameraEnabled}
/> />
)}
<DropdownMenu modal={false}> <DropdownMenu modal={false}>
<DropdownMenuTrigger> <DropdownMenuTrigger>
@ -1069,6 +1078,7 @@ function FrigateCameraFeatures({
</Label> </Label>
<Select <Select
value={streamName} value={streamName}
disabled={debug}
onValueChange={(value) => { onValueChange={(value) => {
setStreamName?.(value); setStreamName?.(value);
}} }}
@ -1098,7 +1108,9 @@ function FrigateCameraFeatures({
</SelectContent> </SelectContent>
</Select> </Select>
{preferredLiveMode != "jsmpeg" && isRestreamed && ( {preferredLiveMode != "jsmpeg" &&
!debug &&
isRestreamed && (
<div className="flex flex-row items-center gap-1 text-sm text-muted-foreground"> <div className="flex flex-row items-center gap-1 text-sm text-muted-foreground">
{supportsAudioOutput ? ( {supportsAudioOutput ? (
<> <>
@ -1140,6 +1152,7 @@ function FrigateCameraFeatures({
</div> </div>
)} )}
{preferredLiveMode != "jsmpeg" && {preferredLiveMode != "jsmpeg" &&
!debug &&
isRestreamed && isRestreamed &&
supportsAudioOutput && ( supportsAudioOutput && (
<div className="flex flex-row items-center gap-1 text-sm text-muted-foreground"> <div className="flex flex-row items-center gap-1 text-sm text-muted-foreground">
@ -1185,7 +1198,9 @@ function FrigateCameraFeatures({
</div> </div>
)} )}
{preferredLiveMode == "jsmpeg" && isRestreamed && ( {preferredLiveMode == "jsmpeg" &&
!debug &&
isRestreamed && (
<div className="flex flex-col items-center gap-3"> <div className="flex flex-col items-center gap-3">
<div className="flex flex-row items-center gap-2"> <div className="flex flex-row items-center gap-2">
<IoIosWarning className="mr-1 size-8 text-danger" /> <IoIosWarning className="mr-1 size-8 text-danger" />
@ -1210,7 +1225,7 @@ function FrigateCameraFeatures({
)} )}
</div> </div>
)} )}
{isRestreamed && ( {isRestreamed && !debug && (
<div className="flex flex-col gap-1"> <div className="flex flex-col gap-1">
<div className="flex items-center justify-between"> <div className="flex items-center justify-between">
<Label <Label
@ -1246,6 +1261,7 @@ function FrigateCameraFeatures({
<Switch <Switch
className="ml-1" className="ml-1"
id="showstats" id="showstats"
disabled={debug}
checked={showStats} checked={showStats}
onCheckedChange={(checked) => setShowStats(checked)} onCheckedChange={(checked) => setShowStats(checked)}
/> />