import { useState } from "react"; import { shortcutService } from "../services"; import useUserStore from "../stores/v1/user"; import { showCommonDialog } from "./Alert"; import AnalyticsDialog from "./AnalyticsDialog"; import CreateShortcutDialog from "./CreateShortcutDialog"; import GenerateQRCodeDialog from "./GenerateQRCodeDialog"; import Icon from "./Icon"; import Dropdown from "./common/Dropdown"; interface Props { shortcut: Shortcut; } const ShortcutActionsDropdown = (props: Props) => { const { shortcut } = props; const currentUser = useUserStore().getCurrentUser(); const [showEditDialog, setShowEditDialog] = useState(false); const [showQRCodeDialog, setShowQRCodeDialog] = useState(false); const [showAnalyticsDialog, setShowAnalyticsDialog] = useState(false); const havePermission = currentUser.role === "ADMIN" || shortcut.creatorId === currentUser.id; const handleDeleteShortcutButtonClick = (shortcut: Shortcut) => { showCommonDialog({ title: "Delete Shortcut", content: `Are you sure to delete shortcut \`${shortcut.name}\`? You cannot undo this action.`, style: "danger", onConfirm: async () => { await shortcutService.deleteShortcutById(shortcut.id); }, }); }; return ( <> {havePermission && ( )} {havePermission && ( )} } > {showEditDialog && ( setShowEditDialog(false)} onConfirm={() => setShowEditDialog(false)} /> )} {showQRCodeDialog && setShowQRCodeDialog(false)} />} {showAnalyticsDialog && setShowAnalyticsDialog(false)} />} ); }; export default ShortcutActionsDropdown;