import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown'; import { DropdownContent } from '@/ui/layout/dropdown/components/DropdownContent'; import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; import { useCloseDropdown } from '@/ui/layout/dropdown/hooks/useCloseDropdown'; import { t } from '@lingui/core/macro'; import { IconDotsVertical, IconRefresh, IconTrash, } from 'twenty-ui-deprecated/display'; import { LightIconButton } from 'twenty-ui-deprecated/input'; import { MenuItem } from 'twenty-ui-deprecated/navigation'; import { JobState } from '~/generated-admin/graphql'; type SettingsAdminQueueJobRowDropdownMenuProps = { jobId: string; jobState: JobState; onRetry?: () => void; onDelete: () => void; }; export const SettingsAdminQueueJobRowDropdownMenu = ({ jobId, jobState, onRetry, onDelete, }: SettingsAdminQueueJobRowDropdownMenuProps) => { const dropdownId = `queue-job-row-${jobId}`; const { closeDropdown } = useCloseDropdown(); const handleRetry = () => { onRetry?.(); closeDropdown(dropdownId); }; const handleDelete = () => { onDelete(); closeDropdown(dropdownId); }; return ( } dropdownComponents={ {jobState === JobState.FAILED && onRetry && ( )} } /> ); };