forked from github/plane
84 lines
2.4 KiB
TypeScript
84 lines
2.4 KiB
TypeScript
import { Command } from "cmdk";
|
|
import { FileText, GithubIcon, MessageSquare, Rocket } from "lucide-react";
|
|
// hooks
|
|
import { DiscordIcon } from "@plane/ui";
|
|
import { useApplication } from "@/hooks/store";
|
|
// ui
|
|
|
|
type Props = {
|
|
closePalette: () => void;
|
|
};
|
|
|
|
export const CommandPaletteHelpActions: React.FC<Props> = (props) => {
|
|
const { closePalette } = props;
|
|
|
|
const {
|
|
commandPalette: { toggleShortcutModal },
|
|
} = useApplication();
|
|
|
|
return (
|
|
<Command.Group heading="Help">
|
|
<Command.Item
|
|
onSelect={() => {
|
|
closePalette();
|
|
toggleShortcutModal(true);
|
|
}}
|
|
className="focus:outline-none"
|
|
>
|
|
<div className="flex items-center gap-2 text-custom-text-200">
|
|
<Rocket className="h-3.5 w-3.5" />
|
|
Open keyboard shortcuts
|
|
</div>
|
|
</Command.Item>
|
|
<Command.Item
|
|
onSelect={() => {
|
|
closePalette();
|
|
window.open("https://docs.plane.so/", "_blank");
|
|
}}
|
|
className="focus:outline-none"
|
|
>
|
|
<div className="flex items-center gap-2 text-custom-text-200">
|
|
<FileText className="h-3.5 w-3.5" />
|
|
Open Plane documentation
|
|
</div>
|
|
</Command.Item>
|
|
<Command.Item
|
|
onSelect={() => {
|
|
closePalette();
|
|
window.open("https://discord.com/invite/A92xrEGCge", "_blank");
|
|
}}
|
|
className="focus:outline-none"
|
|
>
|
|
<div className="flex items-center gap-2 text-custom-text-200">
|
|
<DiscordIcon className="h-4 w-4" color="rgb(var(--color-text-200))" />
|
|
Join our Discord
|
|
</div>
|
|
</Command.Item>
|
|
<Command.Item
|
|
onSelect={() => {
|
|
closePalette();
|
|
window.open("https://github.com/makeplane/plane/issues/new/choose", "_blank");
|
|
}}
|
|
className="focus:outline-none"
|
|
>
|
|
<div className="flex items-center gap-2 text-custom-text-200">
|
|
<GithubIcon className="h-4 w-4" color="rgb(var(--color-text-200))" />
|
|
Report a bug
|
|
</div>
|
|
</Command.Item>
|
|
<Command.Item
|
|
onSelect={() => {
|
|
closePalette();
|
|
(window as any)?.$crisp.push(["do", "chat:open"]);
|
|
}}
|
|
className="focus:outline-none"
|
|
>
|
|
<div className="flex items-center gap-2 text-custom-text-200">
|
|
<MessageSquare className="h-3.5 w-3.5" />
|
|
Chat with us
|
|
</div>
|
|
</Command.Item>
|
|
</Command.Group>
|
|
);
|
|
};
|