From 2b3b0b7e9dcb35a8aee7b048c65acf51b930710c Mon Sep 17 00:00:00 2001 From: sunhwaaRj Date: Thu, 21 Aug 2025 20:26:31 +0900 Subject: [PATCH 1/4] =?UTF-8?q?#193=20[FEAT]=20=ED=8C=80=20=EC=95=84?= =?UTF-8?q?=EC=9D=B4=EC=BD=98=20=EC=A0=95=EB=B3=B4=20=EB=B6=88=EB=9F=AC?= =?UTF-8?q?=EC=98=A4=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DetailView/DetailHeader.tsx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/components/DetailView/DetailHeader.tsx b/src/components/DetailView/DetailHeader.tsx index 8ebd6115..28e40bf0 100644 --- a/src/components/DetailView/DetailHeader.tsx +++ b/src/components/DetailView/DetailHeader.tsx @@ -2,7 +2,8 @@ import TeamIcon from '../ListView/TeamIcon'; import { useGetGoalName } from '../../apis/goal/useGetGoalName.ts'; import { useGetExternalName } from '../../apis/external/useGetExternalName.ts'; import { useGetIssueName } from '../../apis/issue/useGetIssueName.ts'; -import { useParams } from 'react-router-dom'; +import { useGetWorkspaceTeams } from '../../apis/setting/useGetWorkspaceTeams.ts'; +import { useMemo } from 'react'; interface DetailHeaderProps { type: 'goal' | 'issue' | 'external'; @@ -19,10 +20,19 @@ const DetailHeader = ({ type, defaultTitle, title }: DetailHeaderProps) => { ? useGetIssueName(teamId) : useGetExternalName(teamId); + // 팀 정보 불러오기 + const { data: teamData } = useGetWorkspaceTeams(); + const currentTeam = useMemo(() => { + return teamData?.pages[0].teamList.find((team) => team.teamId === Number(teamId)); + }, [teamData, teamId]); + return (
{/* 팀 아이콘, 팀명, props로 요소 전달 가능 */} - +
{/* 상세페이지 ID */}
{detailId}
From 36690f5256c53ad0c636b71010e1bd2ff908914d Mon Sep 17 00:00:00 2001 From: sunhwaaRj Date: Thu, 21 Aug 2025 20:27:00 +0900 Subject: [PATCH 2/4] =?UTF-8?q?#193=20[FEAT]=20=EC=9B=8C=ED=81=AC=EC=8A=A4?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=8A=A4=20=EC=95=84=EC=9D=B4=EC=BD=98=20?= =?UTF-8?q?=EC=A0=95=EB=B3=B4=20=EB=B6=88=EB=9F=AC=EC=98=A4=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DetailView/WorkspaceDetailHeader.tsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/components/DetailView/WorkspaceDetailHeader.tsx b/src/components/DetailView/WorkspaceDetailHeader.tsx index 301e457d..3b9ad1e7 100644 --- a/src/components/DetailView/WorkspaceDetailHeader.tsx +++ b/src/components/DetailView/WorkspaceDetailHeader.tsx @@ -3,6 +3,8 @@ import { useParams } from 'react-router-dom'; import { useGetGoalName } from '../../apis/goal/useGetGoalName.ts'; import { useGetIssueName } from '../../apis/issue/useGetIssueName.ts'; import { useGetExternalName } from '../../apis/external/useGetExternalName.ts'; +import { useGetWorkspaceTeams } from '../../apis/setting/useGetWorkspaceTeams.ts'; +import { useMemo } from 'react'; interface WorkspaceDetailHeaderProps { type: 'goal' | 'issue' | 'external'; @@ -19,10 +21,19 @@ const WorkspaceDetailHeader = ({ type, defaultTitle, title }: WorkspaceDetailHea ? useGetIssueName(teamId) : useGetExternalName(teamId); + // 팀 정보 불러오기 + const { data: teamData } = useGetWorkspaceTeams(); + const currentTeam = useMemo(() => { + return teamData?.pages[0].teamList.find((team) => team.teamId === Number(teamId)); + }, [teamData, teamId]); + return (
{/* 워크스페이스 아이콘, 워크스페이스명, props로 요소 전달 가능 */} - +
{/* 상세페이지 ID */}
{detailId}
From 3af27e0a42b5c0b32cdf7cf323ba45ecf2d7ff1e Mon Sep 17 00:00:00 2001 From: sunhwaaRj Date: Thu, 21 Aug 2025 20:27:24 +0900 Subject: [PATCH 3/4] =?UTF-8?q?#193=20[FEAT]=20=ED=8C=80=20=EC=95=84?= =?UTF-8?q?=EC=9D=B4=EC=BD=98=20=ED=81=B4=EB=A6=AD=20=EC=8B=9C=20=EC=9D=B4?= =?UTF-8?q?=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DetailView/DetailHeader.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/DetailView/DetailHeader.tsx b/src/components/DetailView/DetailHeader.tsx index 28e40bf0..bb2f5350 100644 --- a/src/components/DetailView/DetailHeader.tsx +++ b/src/components/DetailView/DetailHeader.tsx @@ -2,6 +2,7 @@ import TeamIcon from '../ListView/TeamIcon'; import { useGetGoalName } from '../../apis/goal/useGetGoalName.ts'; import { useGetExternalName } from '../../apis/external/useGetExternalName.ts'; import { useGetIssueName } from '../../apis/issue/useGetIssueName.ts'; +import { useNavigate, useParams } from 'react-router-dom'; import { useGetWorkspaceTeams } from '../../apis/setting/useGetWorkspaceTeams.ts'; import { useMemo } from 'react'; @@ -12,6 +13,7 @@ interface DetailHeaderProps { } const DetailHeader = ({ type, defaultTitle, title }: DetailHeaderProps) => { + const navigate = useNavigate(); const teamId = Number(useParams<{ teamId: string }>().teamId); const { data: detailId } = type === 'goal' @@ -32,6 +34,7 @@ const DetailHeader = ({ type, defaultTitle, title }: DetailHeaderProps) => { navigate(`/workspace/team/${currentTeam?.teamId}/${type}`)} />
{/* 상세페이지 ID */} From db061b2848cb46f08da646eefa9f9bf5eaa5e4b7 Mon Sep 17 00:00:00 2001 From: sunhwaaRj Date: Thu, 21 Aug 2025 20:27:32 +0900 Subject: [PATCH 4/4] =?UTF-8?q?#193=20[FEAT]=20=EC=9B=8C=ED=81=AC=EC=8A=A4?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=8A=A4=20=EC=95=84=EC=9D=B4=EC=BD=98=20?= =?UTF-8?q?=ED=81=B4=EB=A6=AD=20=EC=8B=9C=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DetailView/WorkspaceDetailHeader.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/DetailView/WorkspaceDetailHeader.tsx b/src/components/DetailView/WorkspaceDetailHeader.tsx index 3b9ad1e7..8365b79b 100644 --- a/src/components/DetailView/WorkspaceDetailHeader.tsx +++ b/src/components/DetailView/WorkspaceDetailHeader.tsx @@ -1,5 +1,5 @@ import WorkspaceIcon from '../ListView/WorkspaceIcon'; -import { useParams } from 'react-router-dom'; +import { useNavigate, useParams } from 'react-router-dom'; import { useGetGoalName } from '../../apis/goal/useGetGoalName.ts'; import { useGetIssueName } from '../../apis/issue/useGetIssueName.ts'; import { useGetExternalName } from '../../apis/external/useGetExternalName.ts'; @@ -13,6 +13,7 @@ interface WorkspaceDetailHeaderProps { } const WorkspaceDetailHeader = ({ type, defaultTitle, title }: WorkspaceDetailHeaderProps) => { + const navigate = useNavigate(); const teamId = Number(useParams<{ teamId: string }>().teamId); const { data: detailId } = type === 'goal' @@ -33,6 +34,7 @@ const WorkspaceDetailHeader = ({ type, defaultTitle, title }: WorkspaceDetailHea navigate(`/workspace/default/team/${currentTeam?.teamId}/${type}`)} />
{/* 상세페이지 ID */}