mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-14 15:15:22 +03:00
Don't display offline message in live player if camera is restreamed
This commit is contained in:
parent
1f9ba1d625
commit
4572cfe2b7
@ -1,5 +1,5 @@
|
|||||||
import WebRtcPlayer from "./WebRTCPlayer";
|
import WebRtcPlayer from "./WebRTCPlayer";
|
||||||
import { CameraConfig } from "@/types/frigateConfig";
|
import { CameraConfig, FrigateConfig } from "@/types/frigateConfig";
|
||||||
import AutoUpdatingCameraImage from "../camera/AutoUpdatingCameraImage";
|
import AutoUpdatingCameraImage from "../camera/AutoUpdatingCameraImage";
|
||||||
import ActivityIndicator from "../indicators/activity-indicator";
|
import ActivityIndicator from "../indicators/activity-indicator";
|
||||||
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
||||||
@ -20,6 +20,7 @@ import { cn } from "@/lib/utils";
|
|||||||
import { TbExclamationCircle } from "react-icons/tb";
|
import { TbExclamationCircle } from "react-icons/tb";
|
||||||
import { TooltipPortal } from "@radix-ui/react-tooltip";
|
import { TooltipPortal } from "@radix-ui/react-tooltip";
|
||||||
import { baseUrl } from "@/api/baseUrl";
|
import { baseUrl } from "@/api/baseUrl";
|
||||||
|
import useSWR from "swr";
|
||||||
|
|
||||||
type LivePlayerProps = {
|
type LivePlayerProps = {
|
||||||
cameraRef?: (ref: HTMLDivElement | null) => void;
|
cameraRef?: (ref: HTMLDivElement | null) => void;
|
||||||
@ -58,7 +59,9 @@ export default function LivePlayer({
|
|||||||
onError,
|
onError,
|
||||||
onResetLiveMode,
|
onResetLiveMode,
|
||||||
}: LivePlayerProps) {
|
}: LivePlayerProps) {
|
||||||
|
const { data: config } = useSWR<FrigateConfig>("config");
|
||||||
const internalContainerRef = useRef<HTMLDivElement | null>(null);
|
const internalContainerRef = useRef<HTMLDivElement | null>(null);
|
||||||
|
|
||||||
// camera activity
|
// camera activity
|
||||||
|
|
||||||
const { activeMotion, activeTracking, objects, offline } =
|
const { activeMotion, activeTracking, objects, offline } =
|
||||||
@ -147,6 +150,14 @@ export default function LivePlayer({
|
|||||||
setLiveReady(true);
|
setLiveReady(true);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
const isRestreamed = useMemo(
|
||||||
|
() =>
|
||||||
|
cameraConfig &&
|
||||||
|
config &&
|
||||||
|
Object.keys(config.go2rtc.streams || {}).includes(cameraConfig.name),
|
||||||
|
[cameraConfig, config],
|
||||||
|
);
|
||||||
|
|
||||||
if (!cameraConfig) {
|
if (!cameraConfig) {
|
||||||
return <ActivityIndicator />;
|
return <ActivityIndicator />;
|
||||||
}
|
}
|
||||||
@ -298,7 +309,7 @@ export default function LivePlayer({
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{offline && !showStillWithoutActivity && (
|
{offline && !showStillWithoutActivity && !isRestreamed && (
|
||||||
<div className="flex size-full flex-col items-center">
|
<div className="flex size-full flex-col items-center">
|
||||||
<p className="mb-5">
|
<p className="mb-5">
|
||||||
{capitalizeFirstLetter(cameraConfig.name)} is offline
|
{capitalizeFirstLetter(cameraConfig.name)} is offline
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user