"use client"; import { Button } from "@app/components/ui/button"; import { CommandShortcut } from "@app/components/ui/command"; import { cn } from "@app/lib/cn"; import { Search } from "lucide-react"; import { useEffect, useState } from "react"; import { useTranslations } from "next-intl"; import { ListUserOrgsResponse } from "@server/routers/org"; import { useCommandPalette } from "./CommandPalette"; import { useCanUseCommandPalette } from "./useCanUseCommandPalette"; type CommandPaletteTriggerProps = { variant?: "header" | "mobile"; className?: string; orgId?: string; orgs?: ListUserOrgsResponse["orgs"]; }; function useIsMac() { const [isMac, setIsMac] = useState(false); useEffect(() => { setIsMac(/Mac|iPhone|iPod|iPad/.test(navigator.platform)); }, []); return isMac; } export function CommandPaletteTrigger({ variant = "header", className, orgId, orgs }: CommandPaletteTriggerProps) { const t = useTranslations(); const { setOpen } = useCommandPalette(); const isMac = useIsMac(); const canUseCommandPalette = useCanUseCommandPalette(orgId, orgs); if (!canUseCommandPalette) { return null; } if (variant === "mobile") { return ( ); } return ( ); }