- {(page == "debug" ||
- page == "cameras" ||
- page == "masksAndZones" ||
- page == "motionTuner" ||
- page == "triggers") && (
+ if (isMobile) {
+ return (
+
+
+
+
+ {t("menu." + page)}
+
+
+
+
+
+
+
+ {t("settings", { ns: "common" })}
+
+
+
+ {settingsGroups.map((group) => {
+ const filteredItems = group.items.filter((item) =>
+ visibleSettingsViews.includes(item.key as SettingsType),
+ );
+ if (filteredItems.length === 0) return null;
+ return (
+
+
+ {group.label}
+
+ {filteredItems.map((item) => (
+ {
+ if (
+ !isAdmin &&
+ !allowedViewsForViewer.includes(
+ key as SettingsType,
+ )
+ ) {
+ setPageToggle("ui");
+ } else {
+ setPageToggle(key as SettingsType);
+ }
+ }}
+ onClose={() => setMobileMenuOpen(false)}
+ />
+ ))}
+
+ );
+ })}
+
+
+
+
+ {[
+ "debug",
+ "cameras",
+ "masksAndZones",
+ "motionTuner",
+ "triggers",
+ ].includes(page) && (
{page == "masksAndZones" && (
)}
-
- {page == "ui" &&
}
- {page == "enrichments" && (
-
- )}
- {page == "debug" && (
-
- )}
- {page == "cameras" && (
-
- )}
- {page == "masksAndZones" && (
-
- )}
- {page == "motionTuner" && (
-
- )}
- {page === "triggers" && (
-
- )}
- {page == "users" &&
}
- {page == "roles" &&
}
- {page == "notifications" && (
-
- )}
- {page == "frigateplus" && (
-
+
+
+ {(() => {
+ const CurrentComponent = getCurrentComponent(page);
+ if (!CurrentComponent) return null;
+ return (
+
+ );
+ })()}
+
+
+ {confirmationDialogOpen && (
+
setConfirmationDialogOpen(false)}
+ >
+
+
+
+ {t("dialog.unsavedChanges.title")}
+
+
+ {t("dialog.unsavedChanges.desc")}
+
+
+
+ handleDialog(false)}>
+ {t("button.cancel", { ns: "common" })}
+
+ handleDialog(true)}>
+ {t("button.save", { ns: "common" })}
+
+
+
+
)}