From 8a51ec97d0f20245b9dcea3630154184e3a89625 Mon Sep 17 00:00:00 2001 From: "lkh14011424@gmail.com" Date: Wed, 25 Sep 2024 23:23:59 +0900 Subject: [PATCH] =?UTF-8?q?[feat/#46]=20=EC=9E=90=EC=84=B8=20=EB=9E=AD?= =?UTF-8?q?=ED=82=B9=20=EC=97=86=EB=8A=94=20=EA=B2=BD=EC=9A=B0=20=EC=9D=B4?= =?UTF-8?q?=EB=AF=B8=EC=A7=80=20=ED=91=9C=EC=8B=9C,=20PostureCrew=EC=97=90?= =?UTF-8?q?=20=EA=B0=80=EC=9E=85=ED=95=9C=20=EA=B7=B8=EB=A3=B9=20=EC=97=86?= =?UTF-8?q?=EB=8A=94=20=EA=B2=BD=EC=9A=B0=20=ED=91=9C=EC=8B=9C,=20?= =?UTF-8?q?=EB=AA=A8=EB=8B=88=ED=84=B0=EB=A7=81=20=ED=99=94=EB=A9=B4=20?= =?UTF-8?q?=EC=8A=A4=ED=83=80=EC=9D=BC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/images/mycrew-no-ranks.png | Bin 0 -> 14814 bytes .../Crew/MyCrew/MyCrewRankingContainer.tsx | 14 ++++++- src/components/Posture/Controls.tsx | 8 ++-- src/components/Posture/PostrueCrew.tsx | 36 +++++++++++++++--- src/components/Posture/PostureMessage.tsx | 6 +-- src/pages/MyCrew.tsx | 12 +++++- 6 files changed, 61 insertions(+), 15 deletions(-) create mode 100644 src/assets/images/mycrew-no-ranks.png diff --git a/src/assets/images/mycrew-no-ranks.png b/src/assets/images/mycrew-no-ranks.png new file mode 100644 index 0000000000000000000000000000000000000000..df07e626040118af6985021879f5281610be3a8a GIT binary patch literal 14814 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 literal 0 HcmV?d00001 diff --git a/src/components/Crew/MyCrew/MyCrewRankingContainer.tsx b/src/components/Crew/MyCrew/MyCrewRankingContainer.tsx index 45504f7..5398cf0 100644 --- a/src/components/Crew/MyCrew/MyCrewRankingContainer.tsx +++ b/src/components/Crew/MyCrew/MyCrewRankingContainer.tsx @@ -7,6 +7,7 @@ import RoutePath from "@/constants/routes.json" import MyCrewHeader from "./MyCrewHeader" import { groupUserRank, MyGroupData } from "@/api" import dayjs from "dayjs" +import NoRanksImage from "@/assets/images/mycrew-no-ranks.png" interface MyCrewRankingContainerProps { myGroupData: MyGroupData @@ -58,7 +59,18 @@ export default function MyCrewRankingContainer(props: MyCrewRankingContainerProp {/* 랭킹 표시 */} -
{ranks.length > 0 && myRank && }
+
+ {ranks.length > 0 && myRank ? ( + + ) : ( +
+
+ +
표시할 랭킹이 없습니다.
+
+
+ )} +
) diff --git a/src/components/Posture/Controls.tsx b/src/components/Posture/Controls.tsx index 29fde2f..de0c168 100644 --- a/src/components/Posture/Controls.tsx +++ b/src/components/Posture/Controls.tsx @@ -8,21 +8,21 @@ const Controls: React.FC<{ return (
diff --git a/src/components/Posture/PostrueCrew.tsx b/src/components/Posture/PostrueCrew.tsx index 28f40bc..0cd54a4 100644 --- a/src/components/Posture/PostrueCrew.tsx +++ b/src/components/Posture/PostrueCrew.tsx @@ -14,6 +14,10 @@ import RankingGuideToolTip from "@assets/images/ranking-guide.png" import SelectBox from "@components/SelectBox" import { ReactElement, useCallback, useEffect, useRef, useState } from "react" import { modals } from "../Modal/Modals" +import useMyGroup from "@/hooks/useMyGroup" +import EmptyGroupImage from "@/assets/images/crew-empty.png" +import { useNavigate } from "react-router-dom" +import RoutePath from "@/constants/routes.json" interface IPostureCrew { groupUserId: number @@ -131,6 +135,8 @@ export default function PostrueCrew(props: PostureCrewProps): ReactElement { const { notification, setNotification } = useNotification() const updateNotiMutation = useModifyNoti() const { hasPermission } = usePushNotification() + const { myGroupData } = useMyGroup() + const navigate = useNavigate() const onClickCloseSideNavButton = (): void => { toggleSidebar() @@ -227,12 +233,12 @@ export default function PostrueCrew(props: PostureCrewProps): ReactElement {
- {isConnected === "loading" &&

서버와 연결 중입니다.

} - {isConnected === "disconnected" &&

서버와 연결 끊어졌습니다.

} - {isConnected === "success" && crews.length === 0 && ( + {isConnected === "loading" && myGroupData &&

서버와 연결 중입니다.

} + {isConnected === "disconnected" && myGroupData &&

서버와 연결 끊어졌습니다.

} + {isConnected === "success" && myGroupData && crews.length === 0 && (

접속자가 없습니다.

)} - {isConnected === "success" && crews.length > 0 && ( + {isConnected === "success" && myGroupData && crews.length > 0 && (
    {crews.map((user, index) => (
  • @@ -253,17 +259,35 @@ export default function PostrueCrew(props: PostureCrewProps): ReactElement { ))}
)} + {!myGroupData && ( +
+
+ 아직 가입한 +
+ 크루가 없어요 +
+ + +
+ )}