(
gap: 0.4rem;
`}
>
-
-
-
- {memberCount}
-
-
+
+
+ {memberCount}
+
diff --git a/apps/web/src/component/home/SummaryInsightBox.tsx b/apps/web/src/component/home/SummaryInsightBox.tsx
index ff49a178..7a5eb039 100644
--- a/apps/web/src/component/home/SummaryInsightBox.tsx
+++ b/apps/web/src/component/home/SummaryInsightBox.tsx
@@ -17,7 +17,7 @@ type SummaryInsightBoxProps = {
export function SummaryInsightBox({ type, insightArr }: SummaryInsightBoxProps) {
const transformPoints = transformPointsFun(insightArr);
-
+ if (transformPoints.length === 0) return;
return (
- {transformPoints.map((point, idx) => (
-
- ))}
+ {transformPoints
+ .filter((v) => v.point != null)
+ .map((point, idx) => (
+
+ ))}
);
diff --git a/apps/web/src/component/retrospect/analysis/InsightsBoxSection.tsx b/apps/web/src/component/retrospect/analysis/InsightsBoxSection.tsx
index 7b983559..0cfe5089 100644
--- a/apps/web/src/component/retrospect/analysis/InsightsBoxSection.tsx
+++ b/apps/web/src/component/retrospect/analysis/InsightsBoxSection.tsx
@@ -34,7 +34,7 @@ export function InsightsBoxSection({ isTeam, type, insightArr }: InsightsBoxProp
line-height: 3.2rem;
`}
>
- {`${isTeam ? "우리팀" : user.name}`}은{" "}
+ {`${isTeam ? "우리팀" : user.name + "님"}`}은{" "}
{type === "goodPoints" && (
<>
+
+
+
+ {pendingPeople}명이 더 작성하면
+ 분석 확인이 가능해요!
+
+
+
+ 모두 회고를 제출한 후에 분석을 시작할게요
+
+
+ );
+}
diff --git a/apps/web/src/component/space/view/RetrospectBox.tsx b/apps/web/src/component/space/view/RetrospectBox.tsx
index 0a02f7fc..7dc61f47 100644
--- a/apps/web/src/component/space/view/RetrospectBox.tsx
+++ b/apps/web/src/component/space/view/RetrospectBox.tsx
@@ -1,7 +1,9 @@
import { css } from "@emotion/react";
+import { PATHS } from "@layer/shared";
import { useState, useEffect, useRef } from "react";
import { useNavigate } from "react-router-dom";
+import { ProceedingTextBox } from "./ProceedingTextBox";
import { RetrospectOptions } from "./RetrospectOptions";
import { Icon } from "@/component/common/Icon";
@@ -15,8 +17,6 @@ import { useToast } from "@/hooks/useToast.ts";
import { DESIGN_TOKEN_COLOR } from "@/style/designTokens";
import { Retrospect } from "@/types/retrospect";
import { formatDateAndTime } from "@/utils/date";
-import { ProceedingTextBox } from "./ProceedingTextBox";
-import { PATHS } from "@layer/shared";
const statusStyles = {
PROCEEDING: DESIGN_TOKEN_COLOR.blue50,
@@ -63,6 +63,8 @@ export function RetrospectBox({
if (analysisStatus === "NOT_STARTED" && (writeStatus === "NOT_STARTED" || writeStatus === "PROCEEDING")) {
navigate(PATHS.write(), {
state: {
+ title,
+ introduction,
retrospectId,
spaceId,
},
@@ -154,7 +156,7 @@ export function RetrospectBox({
css={css`
width: 100%;
height: auto;
- background-color: ${retrospect.retrospectStatus === "PROCEEDING" ? statusStyles.PROCEEDING : statusStyles.DONE};
+ background-color: ${retrospectStatus === "PROCEEDING" ? statusStyles.PROCEEDING : statusStyles.DONE};
border-radius: 1rem;
padding: 2rem;
display: flex;
@@ -176,7 +178,7 @@ export function RetrospectBox({
{isLeader && (
- {retrospect.deadline == null ? (
+ {!deadline ? (
<>모든 인원 제출 시 마감>
) : (
<>
{" "}
- {retrospect.retrospectStatus === "DONE" ? "마감일" : "마감 예정일"} | {formatDateAndTime(deadline!)}
+ {retrospectStatus === "DONE" ? "마감일" : "마감 예정일"} | {formatDateAndTime(deadline)}
>
)}
diff --git a/apps/web/src/component/write/phase/Write.tsx b/apps/web/src/component/write/phase/Write.tsx
index 95d0ab9d..7c51a43e 100644
--- a/apps/web/src/component/write/phase/Write.tsx
+++ b/apps/web/src/component/write/phase/Write.tsx
@@ -43,7 +43,7 @@ export function Write() {
const { open } = useModal();
/** Write Local State */
- const { data, incrementPhase, decrementPhase, phase, movePhase, spaceId, retrospectId } = useContext(PhaseContext);
+ const { data, incrementPhase, decrementPhase, phase, movePhase, spaceId, retrospectId, title, introduction } = useContext(PhaseContext);
const [isEntireModalOpen, setEntireModalOpen] = useState(false);
const [isTemporarySaveModalOpen, setTemporarySaveModalOpen] = useState(false);
const [isAnswerFilled, setIsAnswerFilled] = useState(false);
@@ -137,6 +137,8 @@ export function Write() {
state: {
spaceId: spaceId,
retrospectId: retrospectId,
+ title: title,
+ introduction: introduction,
},
});
const plainTextAnswers = answers.filter(({ questionType }) => questionType === "plain_text");
@@ -334,9 +336,9 @@ export function Write() {
margin-bottom: 0.8rem;
display: flex;
+ flex: 1;
flex-direction: column;
row-gap: 0.8rem;
- height: 100%;
`}
>
{data?.questions.map((item) => {
@@ -423,9 +425,9 @@ export function Write() {
{isComplete && (
-
+
{
});
navigate(PATHS.completeRetrospectCreate(), {
- state: { retrospectId, spaceId },
+ state: { retrospectId, spaceId, title: variables?.body?.title, introduction: variables?.body?.introduction },
});
resetRetroCreateData();
},
diff --git a/apps/web/src/hooks/useEditQuestions.ts b/apps/web/src/hooks/useEditQuestions.ts
index 6996239f..8ff0cb57 100644
--- a/apps/web/src/hooks/useEditQuestions.ts
+++ b/apps/web/src/hooks/useEditQuestions.ts
@@ -27,6 +27,9 @@ export const useEditQuestions = () => {
};
const handleDeleteConfirm = () => {
+ if (temporarilyDeletedIndexes.length === 0) {
+ return;
+ }
setNewQuestions((prev) => prev.filter((_, i) => !isTemporarilyDeleted(i)));
setTemporarilyDeletedIndexes([]);
toast.success("삭제가 완료되었어요!");