fix: hidden creating statuses when board is not selected

This commit is contained in:
2025-08-15 11:11:29 +04:00
parent 3d213cb0d9
commit 3ece4677fb
2 changed files with 7 additions and 2 deletions

View File

@ -6,6 +6,7 @@ import CreateStatusButton from "@/app/deals/components/shared/CreateStatusButton
import DealCard from "@/app/deals/components/shared/DealCard/DealCard"; import DealCard from "@/app/deals/components/shared/DealCard/DealCard";
import DealContainer from "@/app/deals/components/shared/DealContainer/DealContainer"; import DealContainer from "@/app/deals/components/shared/DealContainer/DealContainer";
import StatusColumnWrapper from "@/app/deals/components/shared/StatusColumnWrapper/StatusColumnWrapper"; import StatusColumnWrapper from "@/app/deals/components/shared/StatusColumnWrapper/StatusColumnWrapper";
import { useBoardsContext } from "@/app/deals/contexts/BoardsContext";
import { useDealsContext } from "@/app/deals/contexts/DealsContext"; import { useDealsContext } from "@/app/deals/contexts/DealsContext";
import useDealsAndStatusesDnd from "@/app/deals/hooks/useDealsAndStatusesDnd"; import useDealsAndStatusesDnd from "@/app/deals/hooks/useDealsAndStatusesDnd";
import FunnelDnd from "@/components/dnd/FunnelDnd/FunnelDnd"; import FunnelDnd from "@/components/dnd/FunnelDnd/FunnelDnd";
@ -14,6 +15,7 @@ import { DealSchema, StatusSchema } from "@/lib/client";
import { sortByLexorank } from "@/utils/lexorank"; import { sortByLexorank } from "@/utils/lexorank";
const Funnel: FC = () => { const Funnel: FC = () => {
const { selectedBoard } = useBoardsContext();
const { deals } = useDealsContext(); const { deals } = useDealsContext();
const isMobile = useIsMobile(); const isMobile = useIsMobile();
@ -66,6 +68,7 @@ const Funnel: FC = () => {
</StatusColumnWrapper> </StatusColumnWrapper>
)} )}
disabledColumns={isMobile} disabledColumns={isMobile}
isCreatingContainerEnabled={!!selectedBoard}
/> />
); );
@ -80,7 +83,7 @@ const Funnel: FC = () => {
wrap={"nowrap"} wrap={"nowrap"}
gap={"xs"}> gap={"xs"}>
{renderFunnelDnd()} {renderFunnelDnd()}
<CreateStatusButton /> {selectedBoard && <CreateStatusButton />}
</Group> </Group>
</ScrollArea> </ScrollArea>
); );

View File

@ -40,6 +40,7 @@ type Props<TContainer, TItem> = {
getItemsByContainer: (container: TContainer, items: TItem[]) => TItem[]; getItemsByContainer: (container: TContainer, items: TItem[]) => TItem[];
activeContainer: TContainer | null; activeContainer: TContainer | null;
activeItem: TItem | null; activeItem: TItem | null;
isCreatingContainerEnabled?: boolean;
disabledColumns?: boolean; disabledColumns?: boolean;
}; };
@ -60,6 +61,7 @@ const FunnelDnd = <
getItemsByContainer, getItemsByContainer,
activeContainer, activeContainer,
activeItem, activeItem,
isCreatingContainerEnabled = true,
disabledColumns = false, disabledColumns = false,
}: Props<TContainer, TItem>) => { }: Props<TContainer, TItem>) => {
const sensors = useDndSensors(); const sensors = useDndSensors();
@ -106,7 +108,7 @@ const FunnelDnd = <
}} }}
classNames={styles}> classNames={styles}>
{renderContainers()} {renderContainers()}
<CreateStatusButton /> {isCreatingContainerEnabled && <CreateStatusButton />}
</Carousel> </Carousel>
); );
} }