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 ( - - - - {t("roles.dialog.createRole.title")} - + + +
+ {t("roles.dialog.createRole.title")} + {t("roles.dialog.createRole.desc")} - - + +
-
-
+ + ); } 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 ( - - - - + + +
+ {t( trigger ? "triggers.dialog.editTrigger.title" : "triggers.dialog.createTrigger.title", )} - </DialogTitle> - <DialogDescription> + + {t( trigger ? "triggers.dialog.editTrigger.desc" @@ -184,8 +205,8 @@ export default function CreateTriggerDialog({ camera: cameraName, }, )} - - + +
-
-
+ + ); } 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 ( - - - - {t("users.dialog.createUser.title")} - + + +
+ {t("users.dialog.createUser.title")} + {t("users.dialog.createUser.desc")} - - + +
-
-
+ + ); }