diff --git a/src/components/Modal/ModifyColumnModal.tsx b/src/components/Modal/ModifyColumnModal.tsx index 9392d3ef..beff81d7 100644 --- a/src/components/Modal/ModifyColumnModal.tsx +++ b/src/components/Modal/ModifyColumnModal.tsx @@ -92,7 +92,11 @@ export default function ModifyColumnModal({ columnId, columnTitle = '', columns 취소 - + 변경 diff --git a/src/components/Modal/TodoCardModal/Comment.tsx b/src/components/Modal/TodoCardModal/Comment.tsx index 4a1516e8..8488887f 100644 --- a/src/components/Modal/TodoCardModal/Comment.tsx +++ b/src/components/Modal/TodoCardModal/Comment.tsx @@ -103,7 +103,8 @@ export default function Comment({ comment }: CommentProps) { 취소 diff --git a/src/components/Modal/index.tsx b/src/components/Modal/index.tsx index 99b248fb..b40874cc 100644 --- a/src/components/Modal/index.tsx +++ b/src/components/Modal/index.tsx @@ -8,7 +8,7 @@ import ModifyColumnModal from './ModifyColumnModal'; import NewColumnModal from './NewColumnModal'; import NewDashboardModal from './NewDashboardModal'; import NotificationModal from './NotificationModal'; -import TodoCardModal from './TodoCardModal/TodoCardModal'; +import TodoCardModal from './TodoCardModal'; import useModal from '@/hooks/useModal'; import { modalSelector } from '@/store/reducers/modalSlice'; diff --git a/src/components/Redirect/index.tsx b/src/components/Redirect/index.tsx index 70557935..61c1c7e8 100644 --- a/src/components/Redirect/index.tsx +++ b/src/components/Redirect/index.tsx @@ -1,23 +1,40 @@ import { useRouter } from 'next/router'; +import { useSelector } from 'react-redux'; -import useRedirectIfAuthenticated from '@/hooks/useRedirectIfAuthenticated'; +import useRedirectIfAuth from '@/hooks/useRedirectIfAuth'; import useRedirectIfNotAuth from '@/hooks/useRedirectIfNotAuth'; +import { RootState } from '@/store/store'; export default function Redirect({ children }: { children: React.ReactNode }) { const router = useRouter(); - const currentPath = router.asPath; + const { user } = useSelector((state: RootState) => state.user); + const currentPath = router.pathname; - if (['/', '/signup', '/signin'].includes(currentPath)) { - const isRedirecting = useRedirectIfAuthenticated(); + const redirectIfAuth = useRedirectIfAuth(); + const redirectIfNotAuth = useRedirectIfNotAuth(); + + if (currentPath === '/' && user) { + router.replace('/mydashboard'); + } + + if (currentPath === '/404') { + const nextPath = user ? '/mydashboard' : '/'; + setTimeout(() => router.push(nextPath), 3000); + } + + if (['/signup', '/signin'].includes(currentPath)) { + const isRedirecting = redirectIfAuth(); if (isRedirecting) { return <>; } } - if (['/mypage', '/mydashboard'].includes(currentPath) || currentPath.startsWith('/dashboard')) { - const isRedirecting = useRedirectIfNotAuth(); + + if (['/mypage', '/mydashboard'].includes(currentPath)) { + const isRedirecting = redirectIfNotAuth(); if (isRedirecting) { return <>; } } + return children; } diff --git a/src/containers/dashboard/Column.tsx b/src/containers/dashboard/Column.tsx index 925214f4..251bd930 100644 --- a/src/containers/dashboard/Column.tsx +++ b/src/containers/dashboard/Column.tsx @@ -14,9 +14,10 @@ interface ColumnProps { column: ColumnType; columns: ColumnType[]; index: number; + isMember: boolean; } -function Column({ column, index, columns }: ColumnProps) { +function Column({ column, columns, isMember }: ColumnProps) { const { openModifyColumnModal, openEditCardModal, openTodoCardModal } = useModal(); const { data: cardsData, isLoading } = useFetchData<{ cards: CardType[] }>(['cards', column.id], () => getCardsList(column.id), @@ -41,7 +42,8 @@ function Column({ column, index, columns }: ColumnProps) { {/* Column Edit Button */}