* Don't use timezone in export dialog timestamps

Revert an unnecessary change made in https://github.com/blakeblackshear/frigate/pull/18257

* Ensure notifications register button is only disabled when both all cameras and every individual camera is disabled

* Send test notification if any cameras are enabled

* clarify docs about disabling cameras

* fix crash in autotracking zoom

* clean up

* masks and zones i18n fixes

* Check if camera is enabled in config

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
This commit is contained in:
Josh Hawkins
2025-05-16 17:37:25 -05:00
committed by GitHub
parent 2f9b373c1a
commit ebae6cb1ed
8 changed files with 31 additions and 9 deletions

View File

@@ -406,14 +406,12 @@ function CustomTimeSelector({
config?.ui.time_format == "24hour"
? t("time.formattedTimestamp.24hour", { ns: "common" })
: t("time.formattedTimestamp.12hour", { ns: "common" }),
config?.ui.timezone,
);
const formattedEnd = useFormattedTimestamp(
endTime,
config?.ui.time_format == "24hour"
? t("time.formattedTimestamp.24hour", { ns: "common" })
: t("time.formattedTimestamp.12hour", { ns: "common" }),
config?.ui.timezone,
);
const startClock = useMemo(() => {

View File

@@ -271,7 +271,9 @@ export default function MasksAndZonesView({
type: "motion_mask" as PolygonType,
typeIndex: index,
camera: cameraConfig.name,
name: `Motion Mask ${index + 1}`,
name: t("masksAndZones.motionMaskLabel", {
number: index + 1,
}),
objects: [],
points: interpolatePoints(
parseCoordinates(maskData),
@@ -295,7 +297,10 @@ export default function MasksAndZonesView({
type: "object_mask" as PolygonType,
typeIndex: index,
camera: cameraConfig.name,
name: `Object Mask ${index + 1} (all objects)`,
name: t("masksAndZones.objectMaskLabel", {
number: index + 1,
label: t("masksAndZones.zones.allObjects"),
}),
objects: [],
points: interpolatePoints(
parseCoordinates(maskData),
@@ -322,7 +327,10 @@ export default function MasksAndZonesView({
type: "object_mask" as PolygonType,
typeIndex: subIndex,
camera: cameraConfig.name,
name: `Object Mask ${globalObjectMasksCount + index + 1} (${objectName})`,
name: t("masksAndZones.objectMaskLabel", {
number: globalObjectMasksCount + index + 1,
label: t(objectName, { ns: "objects" }),
}),
objects: [objectName],
points: interpolatePoints(
parseCoordinates(maskItem),

View File

@@ -520,7 +520,9 @@ export default function NotificationView({
<Button
aria-label={t("notification.registerDevice")}
disabled={
!config?.notifications.enabled || publicKey == undefined
(!config?.notifications.enabled &&
notificationCameras.length === 0) ||
publicKey == undefined
}
onClick={() => {
if (registration == null) {