diff --git a/web/src/components/overlay/CreateRoleDialog.tsx b/web/src/components/overlay/CreateRoleDialog.tsx
index d45dd6d2a..11418fbce 100644
--- a/web/src/components/overlay/CreateRoleDialog.tsx
+++ b/web/src/components/overlay/CreateRoleDialog.tsx
@@ -26,6 +26,15 @@ import {
import { useTranslation } from "react-i18next";
import { FrigateConfig } from "@/types/frigateConfig";
import { CameraNameLabel } from "../camera/CameraNameLabel";
+import { isDesktop, isMobile } from "react-device-detect";
+import { cn } from "@/lib/utils";
+import {
+ MobilePage,
+ MobilePageContent,
+ MobilePageDescription,
+ MobilePageHeader,
+ MobilePageTitle,
+} from "../mobile/MobilePage";
type CreateRoleOverlayProps = {
show: boolean;
@@ -100,15 +109,27 @@ export default function CreateRoleDialog({
onCancel();
};
+ const Overlay = isDesktop ? Dialog : MobilePage;
+ const Content = isDesktop ? DialogContent : MobilePageContent;
+ const Header = isDesktop ? DialogHeader : MobilePageHeader;
+ const Description = isDesktop ? DialogDescription : MobilePageDescription;
+ const Title = isDesktop ? DialogTitle : MobilePageTitle;
+
return (
-
+
+
);
}
diff --git a/web/src/components/overlay/CreateTriggerDialog.tsx b/web/src/components/overlay/CreateTriggerDialog.tsx
index 6742ad136..f3a8a22bd 100644
--- a/web/src/components/overlay/CreateTriggerDialog.tsx
+++ b/web/src/components/overlay/CreateTriggerDialog.tsx
@@ -38,6 +38,15 @@ import { Trigger, TriggerAction, TriggerType } from "@/types/trigger";
import { Switch } from "@/components/ui/switch";
import { Textarea } from "../ui/textarea";
import { useCameraFriendlyName } from "@/hooks/use-camera-friendly-name";
+import { isDesktop, isMobile } from "react-device-detect";
+import { cn } from "@/lib/utils";
+import {
+ MobilePage,
+ MobilePageContent,
+ MobilePageDescription,
+ MobilePageHeader,
+ MobilePageTitle,
+} from "../mobile/MobilePage";
type CreateTriggerDialogProps = {
show: boolean;
@@ -164,18 +173,30 @@ export default function CreateTriggerDialog({
const cameraName = useCameraFriendlyName(selectedCamera);
+ const Overlay = isDesktop ? Dialog : MobilePage;
+ const Content = isDesktop ? DialogContent : MobilePageContent;
+ const Header = isDesktop ? DialogHeader : MobilePageHeader;
+ const Description = isDesktop ? DialogDescription : MobilePageDescription;
+ const Title = isDesktop ? DialogTitle : MobilePageTitle;
+
return (
-
+
+
);
}
diff --git a/web/src/components/overlay/CreateUserDialog.tsx b/web/src/components/overlay/CreateUserDialog.tsx
index d7fada1c7..0b2e3a89e 100644
--- a/web/src/components/overlay/CreateUserDialog.tsx
+++ b/web/src/components/overlay/CreateUserDialog.tsx
@@ -33,6 +33,15 @@ import {
import { Shield, User } from "lucide-react";
import { LuCheck, LuX } from "react-icons/lu";
import { useTranslation } from "react-i18next";
+import { isDesktop, isMobile } from "react-device-detect";
+import { cn } from "@/lib/utils";
+import {
+ MobilePage,
+ MobilePageContent,
+ MobilePageDescription,
+ MobilePageHeader,
+ MobilePageTitle,
+} from "../mobile/MobilePage";
type CreateUserOverlayProps = {
show: boolean;
@@ -110,15 +119,27 @@ export default function CreateUserDialog({
onCancel();
};
+ const Overlay = isDesktop ? Dialog : MobilePage;
+ const Content = isDesktop ? DialogContent : MobilePageContent;
+ const Header = isDesktop ? DialogHeader : MobilePageHeader;
+ const Description = isDesktop ? DialogDescription : MobilePageDescription;
+ const Title = isDesktop ? DialogTitle : MobilePageTitle;
+
return (
-
+
+
);
}