'use client' import type { FC } from 'react' import React, { useCallback, useRef, useState } from 'react' import { useTranslation } from 'react-i18next' import { RiArrowRightUpLine, RiMoreFill } from '@remixicon/react' import ActionButton from '@/app/components/base/action-button' // import Button from '@/app/components/base/button' import { PortalToFollowElem, PortalToFollowElemContent, PortalToFollowElemTrigger, } from '@/app/components/base/portal-to-follow-elem' import cn from '@/utils/classnames' type Props = { onInfo: () => void onRemove: () => void } const OperationDropdown: FC = ({ onInfo, onRemove, }) => { const { t } = useTranslation() const [open, doSetOpen] = useState(false) const openRef = useRef(open) const setOpen = useCallback((v: boolean) => { doSetOpen(v) openRef.current = v }, [doSetOpen]) const handleTrigger = useCallback(() => { setOpen(!openRef.current) }, [setOpen]) return (
{t('plugin.detailPanel.operation.info')}
{/* ##plugin TODO## check update */}
{t('plugin.detailPanel.operation.checkUpdate')}
{/* ##plugin TODO## router action */}
{t('plugin.detailPanel.operation.viewDetail')}
{t('plugin.detailPanel.operation.remove')}
) } export default React.memo(OperationDropdown)