import { useCallback, useMemo } from 'react'; import { useTheme } from '@emotion/react'; import { BoardActionBarButtonDeletePipelineProgress } from '@/pipeline-progress/components/BoardActionBarButtonDeletePipelineProgress'; import { EntityBoardActionBar } from '@/pipeline-progress/components/EntityBoardActionBar'; import { IconTargetArrow } from '@/ui/icons/index'; import { WithTopBarContainer } from '@/ui/layout/containers/WithTopBarContainer'; import { PipelineProgress, PipelineStage, useGetPipelinesQuery, useUpdateOnePipelineProgressMutation, } from '../../generated/graphql'; import { Board } from '../../modules/pipeline-progress/components/Board'; import { useBoard } from '../../modules/pipeline-progress/hooks/useBoard'; export function Opportunities() { const theme = useTheme(); const pipelines = useGetPipelinesQuery(); const pipelineId = pipelines.data?.findManyPipeline[0].id; const { initialBoard, items } = useBoard(pipelineId || ''); const columns = useMemo( () => initialBoard?.map(({ id, colorCode, title }) => ({ id, colorCode, title, })), [initialBoard], ); const [updatePipelineProgress] = useUpdateOnePipelineProgressMutation(); const onUpdate = useCallback( async ( pipelineProgressId: NonNullable, pipelineStageId: NonNullable, ) => { updatePipelineProgress({ variables: { id: pipelineProgressId, pipelineStageId }, }); }, [updatePipelineProgress], ); return ( } > {items && pipelineId ? ( <> ) : ( <> )} ); }