diff --git a/apps/web/src/app/retrospect/analysis/RetrospectAnalysisPage.tsx b/apps/web/src/app/retrospect/analysis/RetrospectAnalysisPage.tsx index e965ffe3..0de71546 100644 --- a/apps/web/src/app/retrospect/analysis/RetrospectAnalysisPage.tsx +++ b/apps/web/src/app/retrospect/analysis/RetrospectAnalysisPage.tsx @@ -8,9 +8,11 @@ import { AnalysisContainer } from "@/component/retrospect/analysis/Analysis"; import { PersonalForm } from "@/component/retrospect/analysis/PersonalForm.tsx"; import { QuestionForm } from "@/component/retrospect/analysis/QuestionForm.tsx"; import { useGetAnalysisAnswer } from "@/hooks/api/retrospect/analysis/useGetAnalysisAnswer.ts"; +import { useApiGetSpacePrivate } from "@/hooks/api/space/useGetSpace"; import { useTabs } from "@/hooks/useTabs"; import { DualToneLayout } from "@/layout/DualToneLayout"; import { EmptyList } from "@/component/common/empty"; +import { PendingAnalysisingComp } from "@/component/retrospect/analysis/PendingAnalysisingComp"; export const RetrospectAnalysisPage = () => { const { title, defaultTab } = useLocation().state as { title: string; defaultTab: "질문" | "개별" | "분석" }; @@ -25,14 +27,22 @@ export const RetrospectAnalysisPage = () => { const { tabs, curTab, selectTab } = useTabs(tabNames); const selectedTab = tabMappings[curTab]; const queryParams = new URLSearchParams(location.search); - const spaceId = queryParams.get("spaceId"); - const retrospectId = queryParams.get("retrospectId"); - const { data, isLoading } = useGetAnalysisAnswer({ spaceId: spaceId!, retrospectId: retrospectId! }); + const spaceId = queryParams.get("spaceId") as string; + const retrospectId = queryParams.get("retrospectId") as string; + const { data, isLoading } = useGetAnalysisAnswer({ spaceId: spaceId, retrospectId: retrospectId }); + const { data: spaceInfo } = useApiGetSpacePrivate(Number(spaceId)); + let pendingPeopleCnt; + + if (spaceInfo && data) { + pendingPeopleCnt = spaceInfo.memberCount - data.individuals.length; + } + useEffect(() => { if (defaultTab) { selectTab(defaultTab); } }, []); + return ( { } > - {isLoading && } - {!data || data.individuals.length === 0 ? ( + {isLoading || !pendingPeopleCnt ? ( + + ) : !data || data.individuals.length === 0 ? ( ) : ( { QUESTIONS: , INDIVIDUAL_ANALYSIS: , - ANALYSIS: , + ANALYSIS: data.hasAIAnalyzed ? ( + + ) : ( + + ), }[selectedTab] )} diff --git a/apps/web/src/component/retrospect/analysis/PendingAnalysisingComp.tsx b/apps/web/src/component/retrospect/analysis/PendingAnalysisingComp.tsx new file mode 100644 index 00000000..c99fa647 --- /dev/null +++ b/apps/web/src/component/retrospect/analysis/PendingAnalysisingComp.tsx @@ -0,0 +1,36 @@ +import { css } from "@emotion/react"; + +import { Icon } from "@/component/common/Icon"; +import { Spacing } from "@/component/common/Spacing"; +import { Typography } from "@/component/common/typography"; + +export function PendingAnalysisingComp({ pendingPeople }: { pendingPeople: number }) { + return ( +
+ + + + {pendingPeople}명이 더 작성하면
+ 분석 확인이 가능해요! +
+ + + 모두 회고를 제출한 후에 분석을 시작할게요 + +
+ ); +}