Skip to content

Commit 2853ed7

Browse files
committed
FeatQA: [회의화면] 참석자 사이드바 수정
1 parent 1713248 commit 2853ed7

2 files changed

Lines changed: 78 additions & 61 deletions

File tree

src/views/main/page/ProjrctViewPage.tsx

Lines changed: 67 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@ import { conferenceData, scriptionsData } from "@/types/conferanceData";
1414
import { RealTimeSummaryData } from "@/types/realTimeSummaryData";
1515

1616
export default function ProjectViewPage() {
17-
const [status, setStatus] = useState<string>('Done');
17+
const [status, setStatus] = useState<string>("Done");
1818
const navigate = useNavigate();
1919
const { projectID } = useParams<{ projectID: string }>();
2020
const [scripts, setScripts] = useState<scriptionsData[]>([]); // 스크립트 상태
2121
const [summarys, setSummary] = useState<RealTimeSummaryData[]>([]); // 요약 상태
2222

23+
const [userName, setUserName] = useState<string>("");
2324

2425
const [loading, setLoading] = useState(true);
2526
const [error, setError] = useState<string | null>(null);
@@ -41,14 +42,23 @@ export default function ProjectViewPage() {
4142
}
4243

4344
getStatus(projectID).then((res: any) => {
44-
let status = res.data.data.status
45-
if(status === "Before"){
46-
alert('회의가 시작 전입니다. 회의 시작 후 다시 접속해 주세요.')
45+
let status = res.data.data.status;
46+
if (status === "Before") {
47+
alert("회의가 시작 전입니다. 회의 시작 후 다시 접속해 주세요.");
4748
navigate("/project");
48-
} else if(status === "Processing") {
49-
setStatus(status)
49+
} else if (status === "Processing") {
50+
setStatus(status);
51+
setConferenceData({
52+
projectId: res.data.data.projectId,
53+
projectName: res.data.data.projectName,
54+
imageUrl: "",
55+
updatedAt: res.data.data.updatedAt,
56+
scriptions: [],
57+
summary: { title: "", content: "" },
58+
});
59+
setUserName(res.data.data.creator);
5060
} else {
51-
setStatus(status)
61+
setStatus(status);
5262
let cancelled = false;
5363

5464
(async () => {
@@ -73,65 +83,65 @@ export default function ProjectViewPage() {
7383
}
7484
console.log(res.data.data.status);
7585
});
76-
7786
}, [projectID]);
7887

79-
if (status === "Done" && loading) return <div style={{ padding: 16 }}>불러오는 중…</div>;
80-
if (status === "Done" && error) return <div style={{ padding: 16, color: "red" }}>{error}</div>;
88+
if (status === "Done" && loading)
89+
return <div style={{ padding: 16 }}>불러오는 중…</div>;
90+
if (status === "Done" && error)
91+
return <div style={{ padding: 16, color: "red" }}>{error}</div>;
8192
if (status === "Done" && !conferenceData.imageUrl)
8293
return <div style={{ padding: 16 }}>이미지 없음</div>;
8394

8495
return (
8596
<>
86-
{
87-
status === "Done" ? (
88-
<>
89-
<SideBar
90-
isSidebarOpen={isSidebarOpen}
91-
setIsSidebarOpen={setIsSidebarOpen}
92-
scripts={conferenceData.scriptions}
93-
conferenceData={conferenceData}
94-
summary={conferenceData.summary}
95-
view={true}
97+
{status === "Done" ? (
98+
<>
99+
<SideBar
100+
isSidebarOpen={isSidebarOpen}
101+
setIsSidebarOpen={setIsSidebarOpen}
102+
scripts={conferenceData.scriptions}
103+
conferenceData={conferenceData}
104+
summary={conferenceData.summary}
105+
view={true}
106+
/>
107+
<div
108+
className="project-content"
109+
style={{
110+
paddingLeft: isSidebarOpen ? "340px" : "56px", // 동적 패딩
111+
}}
112+
>
113+
<img
114+
src={conferenceData.imageUrl}
115+
alt="project view"
116+
style={{ width: "100%", height: "100%", objectFit: "contain" }}
96117
/>
97-
<div
98-
className="project-content"
99-
style={{
100-
paddingLeft: isSidebarOpen ? "340px" : "56px", // 동적 패딩
101-
}}
102-
>
103-
<img
104-
src={conferenceData.imageUrl}
105-
alt="project view"
106-
style={{ width: "100%", height: "100%", objectFit: "contain" }}
107-
/>
108-
</div>
109-
</>
110-
) : (
111-
<>
112-
<SideBar
113-
isSidebarOpen={isSidebarOpen}
114-
setIsSidebarOpen={setIsSidebarOpen}
115-
scripts={scripts}
116-
conferenceData={conferenceData}
117-
summarys={summarys}
118-
headerLess={true}
118+
</div>
119+
</>
120+
) : (
121+
<>
122+
<SideBar
123+
isSidebarOpen={isSidebarOpen}
124+
setIsSidebarOpen={setIsSidebarOpen}
125+
scripts={scripts}
126+
conferenceData={conferenceData}
127+
summarys={summarys}
128+
headerLess={true}
129+
creatorName={userName}
130+
/>
131+
<div
132+
className="project-content"
133+
style={{
134+
paddingLeft: isSidebarOpen ? "340px" : "56px", // 동적 패딩
135+
}}
136+
>
137+
<MindMapView
138+
setScripts={setScripts}
139+
projectId={projectID ?? ""}
140+
setSummary={setSummary}
119141
/>
120-
<div
121-
className="project-content"
122-
style={{
123-
paddingLeft: isSidebarOpen ? "340px" : "56px", // 동적 패딩
124-
}}
125-
>
126-
<MindMapView
127-
setScripts={setScripts}
128-
projectId={projectID ?? ""}
129-
setSummary={setSummary}
130-
/>
131-
</div>
132-
</>
133-
)
134-
}
142+
</div>
143+
</>
144+
)}
135145
</>
136146
);
137147
}

src/views/meeting/components/SideBar.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ interface SideBarProps {
2929
summarys?: RealTimeSummaryData[];
3030
summary?: summarysWithTitleData;
3131
view?: boolean;
32-
headerLess? : boolean;
32+
headerLess?: boolean;
33+
creatorName?: string;
3334
}
3435

3536
const SideBar = ({
@@ -40,7 +41,8 @@ const SideBar = ({
4041
summarys,
4142
summary,
4243
view = false,
43-
headerLess = false
44+
headerLess = false,
45+
creatorName = "",
4446
}: SideBarProps) => {
4547
const [isScript, setIsScript] = useState(false);
4648
const [isSummary, setIsSummary] = useState(true);
@@ -76,7 +78,10 @@ const SideBar = ({
7678
}, []);
7779

7880
return (
79-
<div className={`side-bar ${isSidebarOpen ? 'open' : 'closed'} ${view ? '' : 'side-bar-header'} ${headerLess ? 'less' : ''}`}
81+
<div
82+
className={`side-bar ${isSidebarOpen ? "open" : "closed"} ${
83+
view ? "" : "side-bar-header"
84+
} ${headerLess ? "less" : ""}`}
8085
style={{ width: isSidebarOpen ? 340 : 56 }}
8186
>
8287
{isSidebarOpen ? (
@@ -102,7 +107,9 @@ const SideBar = ({
102107
<span className="detail-title">생성자</span>
103108
<div className="creator-wrap">
104109
<img src={test} alt="creator" className="creator-icon" />
105-
<span className="detail-des">{usrName}</span>
110+
<span className="detail-des">
111+
{headerLess ? creatorName : usrName}
112+
</span>
106113
</div>
107114
</div>
108115
</div>

0 commit comments

Comments
 (0)