diff --git a/client/src/App.tsx b/client/src/App.tsx
index 974f6db6f..8639ae8d3 100644
--- a/client/src/App.tsx
+++ b/client/src/App.tsx
@@ -1,4 +1,4 @@
-import { lazy } from 'react';
+import { lazy, Suspense } from 'react';
import { BrowserRouter, Route, Routes } from 'react-router-dom';
import theme from '@styles/theme';
import GlobalStyle from '@styles/GlobalStyle';
@@ -19,6 +19,7 @@ import OAuthRedirect from './components/loginPage/OAuthRedirect';
import SessionHandler from '@components/_common/sessionHandler/SessionHandler';
import RouteChangeTracker from '@components/_common/routeChangeTracker/RouteChangeTracker';
import PrivateRouter from '@components/_common/privateRouter/PrivateRouter';
+import { Spinner } from './components/_common/spinner/Spinner.styles';
import { CriticalErrorBoundary } from './components/_common/errorBoundary/CriticalErrorBoundary';
const GoalRoomDashboardPage = lazy(
@@ -54,7 +55,11 @@ const App = () => {
} />
}
+ element={
+ }>
+
+
+ }
/>
{
path='/roadmap/:id/goalroom-create'
element={
-
+ }>
+
+
}
/>
}
+ element={
+ }>
+
+
+ }
/>
{
export const getGoalRoomTodos = async (goalRoomId: string) => {
const { data } = await client.get(
- API_PATH.GOALROOM_TODOS(goalRoomId)
+ `${API_PATH.GOALROOM_TODOS(goalRoomId)}/90`
);
return data;
diff --git a/client/src/components/goalRoomDahsboardPage/goalRoomCertificationFeed/GoalRoomCertificationFeed.tsx b/client/src/components/goalRoomDahsboardPage/goalRoomCertificationFeed/GoalRoomCertificationFeed.tsx
index 822054887..69e462ccf 100644
--- a/client/src/components/goalRoomDahsboardPage/goalRoomCertificationFeed/GoalRoomCertificationFeed.tsx
+++ b/client/src/components/goalRoomDahsboardPage/goalRoomCertificationFeed/GoalRoomCertificationFeed.tsx
@@ -1,17 +1,16 @@
import * as S from './GoalRoomCertificationFeed.styles';
import SVGIcon from '@components/icons/SVGIcon';
-import { GoalRoomBrowseResponse } from '@myTypes/goalRoom/remote';
import { StyledImage } from './GoalRoomCertificationFeed.styles';
import { Dialog } from 'ck-util-components';
import CertificationFeedModal from '@components/goalRoomDahsboardPage/goalRoomCertificationFeed/certificationFeedModal/CertificationFeedModal';
import ToolTip from '@components/_common/toolTip/ToolTip';
+import { useGoalRoomDashboardContext } from '@/context/goalRoomDashboardContext';
+import { useFetchGoalRoom } from '@/hooks/queries/goalRoom';
-type GoalRoomCertificationFeedProps = {
- goalRoomData: GoalRoomBrowseResponse;
-};
-
-const GoalRoomCertificationFeed = ({ goalRoomData }: GoalRoomCertificationFeedProps) => {
- const { checkFeeds } = goalRoomData;
+const GoalRoomCertificationFeed = () => {
+ const { goalroomId } = useGoalRoomDashboardContext();
+ const { goalRoom } = useFetchGoalRoom(goalroomId);
+ const { checkFeeds } = goalRoom;
return (
);
diff --git a/client/src/components/goalRoomDahsboardPage/goalRoomDahsboardTodo/GoalRoomDashboardTodo.tsx b/client/src/components/goalRoomDahsboardPage/goalRoomDahsboardTodo/GoalRoomDashboardTodo.tsx
index 92932ddd6..8aa5cc45d 100644
--- a/client/src/components/goalRoomDahsboardPage/goalRoomDahsboardTodo/GoalRoomDashboardTodo.tsx
+++ b/client/src/components/goalRoomDahsboardPage/goalRoomDahsboardTodo/GoalRoomDashboardTodo.tsx
@@ -1,21 +1,20 @@
import * as S from './GoalRoomDashboardTodo.styles';
import SVGIcon from '@components/icons/SVGIcon';
-import { GoalRoomBrowseResponse } from '@myTypes/goalRoom/remote';
import SingleTodo from '@components/goalRoomDahsboardPage/goalRoomDahsboardTodo/singleTodo/SingleTodo';
import { Dialog } from 'ck-util-components';
import TodoModal from '@components/goalRoomDahsboardPage/goalRoomDahsboardTodo/todoModal/TodoModal';
import ToolTip from '@components/_common/toolTip/ToolTip';
+import { useGoalRoomDashboardContext } from '@/context/goalRoomDashboardContext';
+import { useFetchGoalRoom } from '@/hooks/queries/goalRoom';
type GoalRoomDashboardTodoProps = {
- goalRoomData: GoalRoomBrowseResponse;
isLeader: boolean;
};
-const GoalRoomDashboardTodo = ({
- goalRoomData,
- isLeader,
-}: GoalRoomDashboardTodoProps) => {
- const { goalRoomTodos } = goalRoomData;
+const GoalRoomDashboardTodo = ({ isLeader }: GoalRoomDashboardTodoProps) => {
+ const { goalroomId } = useGoalRoomDashboardContext();
+ const { goalRoom } = useFetchGoalRoom(goalroomId);
+ const { goalRoomTodos } = goalRoom;
return (
diff --git a/client/src/components/goalRoomDahsboardPage/goalRoomDashboardContent/GoalRoomDashboardContent.tsx b/client/src/components/goalRoomDahsboardPage/goalRoomDashboardContent/GoalRoomDashboardContent.tsx
index 0ae81b7ba..46b71c53b 100644
--- a/client/src/components/goalRoomDahsboardPage/goalRoomDashboardContent/GoalRoomDashboardContent.tsx
+++ b/client/src/components/goalRoomDahsboardPage/goalRoomDashboardContent/GoalRoomDashboardContent.tsx
@@ -26,27 +26,25 @@ const GoalRoomDashboardContent = () => {
const isLeader = userInfo.id === goalRoom.leaderId;
return (
- <>
- }>
-
-
-
-
-
-
-
-
- {goalRoom.status !== 'RUNNING' && (
-
- )}
-
-
- >
+ }>
+
+
+
+
+
+
+
+
+ {goalRoom.status !== 'RUNNING' && (
+
+ )}
+
+
);
};
diff --git a/client/src/components/goalRoomDahsboardPage/goalRoomDashboardHeader/GoalRoomDashboardHeader.tsx b/client/src/components/goalRoomDahsboardPage/goalRoomDashboardHeader/GoalRoomDashboardHeader.tsx
index 83379906c..6f3d19528 100644
--- a/client/src/components/goalRoomDahsboardPage/goalRoomDashboardHeader/GoalRoomDashboardHeader.tsx
+++ b/client/src/components/goalRoomDahsboardPage/goalRoomDashboardHeader/GoalRoomDashboardHeader.tsx
@@ -1,27 +1,21 @@
import SVGIcon from '@components/icons/SVGIcon';
-
import * as S from './GoalRoomDashboardHeader.styles';
import recruitmentStatus from '@constants/goalRoom/recruitmentStatus';
-import { GoalRoomBrowseResponse } from '@myTypes/goalRoom/remote';
import { Dialog } from 'ck-util-components';
import GoalRoomParticipantsListModal from '@components/goalRoomDahsboardPage/goalRoomDashboardHeader/goalRoomParticipantsListModal/GoalRoomParticipantsListModal';
import isTodayOrAfter from '@utils/_common/isTodayOrAfter';
import { useGoalRoomDashboardContext } from '@/context/goalRoomDashboardContext';
-import { useStartGoalRoom } from '@hooks/queries/goalRoom';
+import { useFetchGoalRoom, useStartGoalRoom } from '@hooks/queries/goalRoom';
type GoalRoomDashboardHeaderProps = {
- goalRoomData: GoalRoomBrowseResponse;
isLeader: boolean;
};
-const GoalRoomDashboardHeader = ({
- goalRoomData,
- isLeader,
-}: GoalRoomDashboardHeaderProps) => {
- const { name, status, currentMemberCount, limitedMemberCount, startDate, endDate } =
- goalRoomData;
-
+const GoalRoomDashboardHeader = ({ isLeader }: GoalRoomDashboardHeaderProps) => {
const { goalroomId } = useGoalRoomDashboardContext();
+ const { goalRoom } = useFetchGoalRoom(goalroomId);
+ const { name, status, currentMemberCount, limitedMemberCount, startDate, endDate } =
+ goalRoom;
const { startGoalRoom } = useStartGoalRoom(goalroomId);
diff --git a/client/src/pages/goalRoomDashboardPage/GoalRoomDashboardPage.tsx b/client/src/pages/goalRoomDashboardPage/GoalRoomDashboardPage.tsx
index 996818869..c78eb2bd9 100644
--- a/client/src/pages/goalRoomDashboardPage/GoalRoomDashboardPage.tsx
+++ b/client/src/pages/goalRoomDashboardPage/GoalRoomDashboardPage.tsx
@@ -1,15 +1,14 @@
import GoalRoomDashboardContent from '@components/goalRoomDahsboardPage/goalRoomDashboardContent/GoalRoomDashboardContent';
import GoalRoomDashboardProvider from '@components/_providers/GoalRoomDashboardProvider';
-import { Suspense } from 'react';
-import Spinner from '@components/_common/spinner/Spinner';
+import AsyncBoundary from '@/components/_common/errorBoundary/AsyncBoundary';
const GoalRoomDashboardPage = () => {
return (
- }>
+
-
+
);
};