Compare commits

...

4 Commits

Author SHA1 Message Date
GuoQing Liu
b8e201b814
Merge 9fe9345263 into c3c27d036f 2026-03-03 21:53:48 +01:00
Michal Srb
c3c27d036f
Hide hidden camera alerts (#22226)
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
Cameras that have `ui.dashboard = false` config are hidden from
the All Cameras "default" group, but their alerts still appear in the
top row. This hides the alerts as well.

One can still view the hidden cameras and their alerts by making a
custom camera group.
2026-03-03 06:29:57 -07:00
ZhaiSoul
9fe9345263 feat: explore audio type display icon 2026-02-04 05:26:54 +00:00
ZhaiSoul
7f172ca2c6 fix: audio don't need download snapshot 2026-02-04 05:26:05 +00:00
4 changed files with 17 additions and 4 deletions

View File

@ -99,7 +99,7 @@ export default function SearchResultActions({
</a>
</MenuItem>
)}
{searchResult.has_snapshot && (
{searchResult.has_snapshot && searchResult?.data?.type === "object" && (
<MenuItem aria-label={t("itemMenu.downloadSnapshot.aria")}>
<a
className="flex items-center"
@ -111,6 +111,7 @@ export default function SearchResultActions({
</MenuItem>
)}
{searchResult.has_snapshot &&
searchResult?.data?.type === "object" &&
config?.cameras[searchResult.camera].snapshots.clean_copy && (
<MenuItem aria-label={t("itemMenu.downloadCleanSnapshot.aria")}>
<a

View File

@ -81,7 +81,7 @@ export default function DetailActionsMenu({
</DropdownMenuTrigger>
<DropdownMenuPortal>
<DropdownMenuContent align="end">
{search.has_snapshot && (
{search.has_snapshot && search?.data?.type === "object" && (
<DropdownMenuItem>
<a
className="w-full"
@ -95,7 +95,8 @@ export default function DetailActionsMenu({
</DropdownMenuItem>
)}
{search.has_snapshot &&
config?.cameras[search.camera].snapshots.clean_copy && (
config?.cameras[search.camera].snapshots.clean_copy &&
search?.data?.type === "object" && (
<DropdownMenuItem>
<a
className="w-full"

View File

@ -23,6 +23,7 @@ import { FrigateConfig } from "@/types/frigateConfig";
import { useTranslation } from "react-i18next";
import { getTranslatedLabel } from "@/utils/i18n";
import { LuSearchX } from "react-icons/lu";
import { getIconForLabel } from "@/utils/iconUtil";
type ExploreViewProps = {
setSearchDetail: (search: SearchResult | undefined) => void;
@ -149,6 +150,9 @@ function ThumbnailRow({
return (
<div className="rounded-lg bg-background_alt p-2 md:px-4">
<div className="flex flex-row items-center text-lg smart-capitalize">
{labelType === "audio"
? getIconForLabel("", labelType, "size-4 mr-1")
: null}
{getTranslatedLabel(label, labelType)}
{searchResults && (
<span className="ml-3 text-sm text-secondary-foreground">

View File

@ -92,10 +92,17 @@ export default function LiveDashboardView({
const eventUpdate = useFrigateReviews();
const alertCameras = useMemo(() => {
if (!config || cameraGroup == "default") {
if (!config) {
return null;
}
if (cameraGroup == "default") {
return Object.values(config.cameras)
.filter((cam) => cam.ui.dashboard)
.map((cam) => cam.name)
.join(",");
}
if (includeBirdseye && cameras.length == 0) {
return Object.values(config.cameras)
.filter((cam) => cam.birdseye.enabled)