"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 (
);
}