'use client' import type { ComponentProps } from 'react' import type { DeploymentActionAppInstance } from './types' import { cn } from '@langgenius/dify-ui/cn' import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@langgenius/dify-ui/dropdown-menu' import { useSetAtom } from 'jotai' import { ScopeProvider } from 'jotai-scope' import { useTranslation } from 'react-i18next' import { DeleteDeploymentDialog } from './delete-dialog' import { EditDeploymentDialog } from './edit-dialog' import { deploymentActionAppInstanceAtom, deploymentActionsLocalAtoms, openDeleteDeploymentDialogAtom, openEditDeploymentDialogAtom, } from './state' const ACTION_TRIGGER_CLASS_NAME = cn( 'inline-flex size-8 items-center justify-center rounded-lg bg-components-panel-bg text-text-tertiary shadow-xs outline-hidden', 'hover:bg-state-base-hover hover:text-text-secondary focus-visible:ring-2 focus-visible:ring-state-accent-solid', 'data-popup-open:bg-state-base-hover data-popup-open:text-text-secondary', ) type DeploymentActionsMenuProps = { appInstance: DeploymentActionAppInstance className?: string triggerClassName?: string placement: ComponentProps['placement'] sideOffset?: ComponentProps['sideOffset'] } function DeploymentActionsMenuContent({ className, triggerClassName, placement, sideOffset, }: Omit) { const { t } = useTranslation('deployments') const openEditDialog = useSetAtom(openEditDeploymentDialogAtom) const openDeleteDialog = useSetAtom(openDeleteDeploymentDialogAtom) return (
event.stopPropagation()} onKeyDown={(event) => event.stopPropagation()} > $['card.moreActions'])} className={cn(ACTION_TRIGGER_CLASS_NAME, triggerClassName)} > {t(($) => $['card.menu.editInfo'])} {t(($) => $['card.menu.delete'])}
) } export function DeploymentActionsMenu({ appInstance, ...props }: DeploymentActionsMenuProps) { return ( ) }