Compare commits

...
2 Commits
Author SHA1 Message Date
Josh HawkinsandCopilot 96a4ad4db5 add chat and features group to mobile menu
Co-authored-by: Copilot <copilot@github.com>
2026-04-25 07:52:02 -05:00
Josh Hawkins bc0fc4dc46 ensure classification wizard dialog is scrollable on mobile too 2026-04-25 07:36:01 -05:00
3 changed files with 38 additions and 26 deletions
+1
View File
@@ -257,6 +257,7 @@
"export": "Export", "export": "Export",
"actions": "Actions", "actions": "Actions",
"uiPlayground": "UI Playground", "uiPlayground": "UI Playground",
"features": "Features",
"faceLibrary": "Face Library", "faceLibrary": "Face Library",
"classification": "Classification", "classification": "Classification",
"chat": "Chat", "chat": "Chat",
@@ -14,7 +14,6 @@ import Step3ChooseExamples, {
Step3FormData, Step3FormData,
} from "./wizard/Step3ChooseExamples"; } from "./wizard/Step3ChooseExamples";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { isDesktop } from "react-device-detect";
import axios from "axios"; import axios from "axios";
const OBJECT_STEPS = [ const OBJECT_STEPS = [
@@ -153,13 +152,9 @@ export default function ClassificationModelWizardDialog({
> >
<DialogContent <DialogContent
className={cn( className={cn(
"", "scrollbar-container max-h-[90%] overflow-y-auto",
isDesktop && wizardState.currentStep == 0 && "xl:max-h-[80%]",
wizardState.currentStep == 0 && wizardState.currentStep > 0 && "md:max-w-[70%] xl:max-h-[80%]",
"max-h-[90%] overflow-y-auto xl:max-h-[80%]",
isDesktop &&
wizardState.currentStep > 0 &&
"max-h-[90%] max-w-[70%] overflow-y-auto xl:max-h-[80%]",
)} )}
onInteractOutside={(e) => { onInteractOutside={(e) => {
e.preventDefault(); e.preventDefault();
+34 -18
View File
@@ -6,6 +6,7 @@ import {
LuLifeBuoy, LuLifeBuoy,
LuList, LuList,
LuLogOut, LuLogOut,
LuMessageSquare,
LuMoon, LuMoon,
LuSquarePen, LuSquarePen,
LuScanFace, LuScanFace,
@@ -482,21 +483,25 @@ export default function GeneralSettings({ className }: GeneralSettingsProps) {
</Link> </Link>
</> </>
)} )}
{isAdmin && isMobile && config?.face_recognition.enabled && ( </DropdownMenuGroup>
<> {isMobile && isAdmin && (
<Link to="/faces"> <>
<MenuItem <DropdownMenuLabel className="mt-1">
className="flex w-full items-center p-2 text-sm" {t("menu.features")}
aria-label={t("menu.faceLibrary")} </DropdownMenuLabel>
> <DropdownMenuSeparator />
<LuScanFace className="mr-2 size-4" /> <DropdownMenuGroup className="flex flex-col">
<span>{t("menu.faceLibrary")}</span> {config?.face_recognition.enabled && (
</MenuItem> <Link to="/faces">
</Link> <MenuItem
</> className="flex w-full items-center p-2 text-sm"
)} aria-label={t("menu.faceLibrary")}
{isAdmin && isMobile && ( >
<> <LuScanFace className="mr-2 size-4" />
<span>{t("menu.faceLibrary")}</span>
</MenuItem>
</Link>
)}
<Link to="/classification"> <Link to="/classification">
<MenuItem <MenuItem
className="flex w-full items-center p-2 text-sm" className="flex w-full items-center p-2 text-sm"
@@ -506,9 +511,20 @@ export default function GeneralSettings({ className }: GeneralSettingsProps) {
<span>{t("menu.classification")}</span> <span>{t("menu.classification")}</span>
</MenuItem> </MenuItem>
</Link> </Link>
</> {config?.genai?.model !== "none" && (
)} <Link to="/chat">
</DropdownMenuGroup> <MenuItem
className="flex w-full items-center p-2 text-sm"
aria-label={t("menu.chat")}
>
<LuMessageSquare className="mr-2 size-4" />
<span>{t("menu.chat")}</span>
</MenuItem>
</Link>
)}
</DropdownMenuGroup>
</>
)}
<DropdownMenuLabel className={isDesktop ? "mt-3" : "mt-1"}> <DropdownMenuLabel className={isDesktop ? "mt-3" : "mt-1"}>
{t("menu.appearance")} {t("menu.appearance")}
</DropdownMenuLabel> </DropdownMenuLabel>