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 && (
)}
}
/>
);
};