diff --git a/src/app/(with-header-sidebar)/dashboard/[id]/components/Card.tsx b/src/app/(with-header-sidebar)/dashboard/[id]/components/Card.tsx index 4a6c53c..f9fc993 100644 --- a/src/app/(with-header-sidebar)/dashboard/[id]/components/Card.tsx +++ b/src/app/(with-header-sidebar)/dashboard/[id]/components/Card.tsx @@ -20,10 +20,12 @@ interface Props { function Card({ item, index, columnTitle }: Props) { const { isOpen, openModal, isClosing, closeModal } = useModal(); - const card = useCardStore((state) => state.card); + const card = useCardStore((state) => + state.cards.find((card) => card.id === item.id) + ); useEffect(() => { - useCardStore.getState().setCard(item); + useCardStore.getState().addCard(item); }, [item]); if (!item || !item.id) { diff --git a/src/app/(with-header-sidebar)/dashboard/[id]/components/UpdateCardModal.tsx b/src/app/(with-header-sidebar)/dashboard/[id]/components/UpdateCardModal.tsx index c57f5a0..d4a7c25 100644 --- a/src/app/(with-header-sidebar)/dashboard/[id]/components/UpdateCardModal.tsx +++ b/src/app/(with-header-sidebar)/dashboard/[id]/components/UpdateCardModal.tsx @@ -22,7 +22,7 @@ interface TaskUpdateFormValues extends TaskFormValues { columnId: number; } -export default function UpdateTaskModal() { +export default function UpdateCardModal({ cardId }: { cardId: number }) { const { closeModal } = useModalStore(); const { register, @@ -34,12 +34,15 @@ export default function UpdateTaskModal() { const dashboard = useDashboardStore((state) => state.dashboard); const { members } = useMember(dashboard?.id.toString() || null, 10); const { columns } = useColumn(dashboard?.id || null); - const { card, setCard } = useCardStore(); + const card = useCardStore((state) => + state.cards.find((card) => card.id === cardId) + ); + const modifyCard = useCardStore((state) => state.modifyCard); const onSubmit = async (data: TaskUpdateFormValues) => { if (card) { const response = await updateCard(data, card.columnId, card.id); - setCard(response); + modifyCard(card.id, response); closeModal(); } }; diff --git a/src/app/(with-header-sidebar)/dashboard/[id]/components/card-detail/HeaderMenu.tsx b/src/app/(with-header-sidebar)/dashboard/[id]/components/card-detail/HeaderMenu.tsx index cd6d9de..c60b57d 100644 --- a/src/app/(with-header-sidebar)/dashboard/[id]/components/card-detail/HeaderMenu.tsx +++ b/src/app/(with-header-sidebar)/dashboard/[id]/components/card-detail/HeaderMenu.tsx @@ -3,12 +3,11 @@ import type { Menu } from '@/types/menu'; import MenuDropdown from '@/components/MenuDropdown'; import { useMenu } from '@/hooks/useMenu'; import { deleteCard } from '@/lib/cardService'; -import { useRouter } from 'next/navigation'; -import useDashboardStore from '@/store/dashboardStore'; import useModalStore from '@/store/modalStore'; -import UpdateTaskModal from '../UpdateCardModal'; +import UpdateCardModal from '../UpdateCardModal'; import styles from './HeaderMenu.module.css'; import useTriggerStore from '@/store/triggerStore'; +import useCardStore from '@/store/cardStore'; interface HeaderMenuProps { cardId: number; @@ -16,21 +15,19 @@ interface HeaderMenuProps { } export default function HeaderMenu({ cardId, closeModal }: HeaderMenuProps) { - const router = useRouter(); const { updateTrigger } = useTriggerStore(); - const { dashboard } = useDashboardStore(); const { isMenuVisible, toggleMenu } = useMenu(); const { openModal } = useModalStore(); const handleDeleteClick = async () => { await deleteCard(cardId); closeModal(); + useCardStore.getState().removeCard(cardId); updateTrigger.card(); - router.replace(`/dashboard/${dashboard?.id}`); }; const handleUpdateClick = () => { - openModal(); + openModal(); }; const cardMenus: Menu[] = [ diff --git a/src/app/(with-header-sidebar)/mydashboard/_components/dashboards/DashboardCard.tsx b/src/app/(with-header-sidebar)/mydashboard/_components/dashboards/DashboardCard.tsx index 9fc5d3a..681ad4c 100644 --- a/src/app/(with-header-sidebar)/mydashboard/_components/dashboards/DashboardCard.tsx +++ b/src/app/(with-header-sidebar)/mydashboard/_components/dashboards/DashboardCard.tsx @@ -3,6 +3,7 @@ import Image from 'next/image'; import { useRouter } from 'next/navigation'; import Button from '@/components/Button'; import styles from './DashboardCard.module.css'; +import useCardStore from '@/store/cardStore'; export default function DashboardCard({ id, @@ -12,11 +13,13 @@ export default function DashboardCard({ }: Dashboard) { const router = useRouter(); + const handleClick = () => { + useCardStore.getState().clearCards(); + router.push(`/dashboard/${id}`); + }; + return ( -