import { Tooltip } from "@mui/joy"; import copy from "copy-to-clipboard"; import { useTranslation } from "react-i18next"; import toast from "react-hot-toast"; import { shortcutService } from "../services"; import { useAppSelector } from "../stores"; import { absolutifyLink } from "../helpers/utils"; import { showCommonDialog } from "./Alert"; import Icon from "./Icon"; import Dropdown from "./common/Dropdown"; import VisibilityIcon from "./VisibilityIcon"; interface Props { shortcut: Shortcut; handleEdit: () => void; } const ShortcutView = (props: Props) => { const { shortcut, handleEdit } = props; const { t } = useTranslation(); const user = useAppSelector((state) => state.user.user as User); const havePermission = user.role === "ADMIN" || shortcut.creatorId === user.id; const handleCopyButtonClick = (shortcut: Shortcut) => { copy(absolutifyLink(`/s/${shortcut.name}`)); toast.success("Shortcut link copied to clipboard."); }; const handleDeleteShortcutButtonClick = (shortcut: Shortcut) => { showCommonDialog({ title: "Delete Shortcut", content: `Are you sure to delete shortcut \`${shortcut.name}\`? You can not undo this action.`, style: "danger", onConfirm: async () => { await shortcutService.deleteShortcutById(shortcut.id); }, }); }; return (
); }; export default ShortcutView;