From 173abe4b06d162dbfc576766c1e5dbe8a272008a Mon Sep 17 00:00:00 2001 From: sean Date: Sat, 14 Sep 2024 05:33:06 +0900 Subject: [PATCH 1/3] hotfix: #391 Add PendingAnalysisPeople --- .../analysis/RetrospectAnalysisPage.tsx | 22 +++++++++--- .../analysis/PendingAnalysisingComp.tsx | 36 +++++++++++++++++++ 2 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 apps/web/src/component/retrospect/analysis/PendingAnalysisingComp.tsx diff --git a/apps/web/src/app/retrospect/analysis/RetrospectAnalysisPage.tsx b/apps/web/src/app/retrospect/analysis/RetrospectAnalysisPage.tsx index e965ffe3..7b804825 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 { useApiGetSpace } from "@/hooks/api/space/useApiGetSpace"; 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 } = useApiGetSpace(spaceId, true); + let pendingPeopleCnt; + + if (spaceInfo && data) { + pendingPeopleCnt = spaceInfo.memberCount - data.individuals.length; + } + useEffect(() => { if (defaultTab) { selectTab(defaultTab); } }, []); + return ( { { 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}명이 더 작성하면
+ 분석 확인이 가능해요! +
+ + + 모두 회고를 제출한 후에 분석을 시작할게요 + +
+ ); +} From 901e01700f2661639a47ac37dcaaa6fd63cd7d79 Mon Sep 17 00:00:00 2001 From: sean Date: Sat, 14 Sep 2024 05:39:57 +0900 Subject: [PATCH 2/3] hotfix: #391 pendingPeople type error --- .../src/app/retrospect/analysis/RetrospectAnalysisPage.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/web/src/app/retrospect/analysis/RetrospectAnalysisPage.tsx b/apps/web/src/app/retrospect/analysis/RetrospectAnalysisPage.tsx index 7b804825..d54363ff 100644 --- a/apps/web/src/app/retrospect/analysis/RetrospectAnalysisPage.tsx +++ b/apps/web/src/app/retrospect/analysis/RetrospectAnalysisPage.tsx @@ -53,15 +53,16 @@ export const RetrospectAnalysisPage = () => { } > - {isLoading && } - {!data || data.individuals.length === 0 ? ( + {isLoading || !pendingPeopleCnt ? ( + + ) : !data || data.individuals.length === 0 ? ( ) : ( { QUESTIONS: , INDIVIDUAL_ANALYSIS: , ANALYSIS: data.hasAIAnalyzed ? ( - + ) : ( ), From 3964d45c1f4ce04765dc2e76257bfe9588f59b46 Mon Sep 17 00:00:00 2001 From: sean Date: Sat, 14 Sep 2024 11:16:19 +0900 Subject: [PATCH 3/3] hotfix: #391 change pendingPeople api function --- .../src/app/retrospect/analysis/RetrospectAnalysisPage.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/src/app/retrospect/analysis/RetrospectAnalysisPage.tsx b/apps/web/src/app/retrospect/analysis/RetrospectAnalysisPage.tsx index d54363ff..0de71546 100644 --- a/apps/web/src/app/retrospect/analysis/RetrospectAnalysisPage.tsx +++ b/apps/web/src/app/retrospect/analysis/RetrospectAnalysisPage.tsx @@ -8,7 +8,7 @@ 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 { useApiGetSpace } from "@/hooks/api/space/useApiGetSpace"; +import { useApiGetSpacePrivate } from "@/hooks/api/space/useGetSpace"; import { useTabs } from "@/hooks/useTabs"; import { DualToneLayout } from "@/layout/DualToneLayout"; import { EmptyList } from "@/component/common/empty"; @@ -30,7 +30,7 @@ export const RetrospectAnalysisPage = () => { 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 } = useApiGetSpace(spaceId, true); + const { data: spaceInfo } = useApiGetSpacePrivate(Number(spaceId)); let pendingPeopleCnt; if (spaceInfo && data) {