From 2e172959a848cd4e8d13b05ed653b1dac15d1cfd Mon Sep 17 00:00:00 2001 From: dutexion Date: Sat, 4 May 2024 23:50:43 +0900 Subject: [PATCH] rename :: manage.tsx --- src/pages/Team/Manage.tsx | 16 --- src/pages/Team/Manage/index.tsx | 222 ++++++++++++++++++++++++++++++++ 2 files changed, 222 insertions(+), 16 deletions(-) delete mode 100644 src/pages/Team/Manage.tsx create mode 100644 src/pages/Team/Manage/index.tsx diff --git a/src/pages/Team/Manage.tsx b/src/pages/Team/Manage.tsx deleted file mode 100644 index 2dcb656..0000000 --- a/src/pages/Team/Manage.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import styled from '@emotion/styled'; -import { Sidebar } from '@/components/common/sidebar'; - -export const TeamManage = () => { - return ( - - - - ); -}; - -const Wrapper = styled.div` - margin-top: 80px; - width: 100%; - display: flex; -`; diff --git a/src/pages/Team/Manage/index.tsx b/src/pages/Team/Manage/index.tsx new file mode 100644 index 0000000..8029a8d --- /dev/null +++ b/src/pages/Team/Manage/index.tsx @@ -0,0 +1,222 @@ +import styled from '@emotion/styled'; +import { Sidebar } from '@/components/common/sidebar'; +import { theme } from '@/style/theme'; +import { SearchBar } from '@/components/common/SearchBar'; +import { XButton } from '@/components/common/XButton'; +import { useModal } from '@/hooks/useModal'; + +const dummyMember: string[] = [ + '0000 테스트', + '0000 테스트', + '0000 테스트', + '0000 테스트', + '0000 테스트', + '0000 테스트', + '0000 테스트', + '0000 테스트', + '0000 테스트', + '0000 테스트', + '0000 테스트', + '0000 테스트', +]; + +export const TeamManage = () => { + const { isVisible, onShow, ModalWrapper } = useModal(); + + return ( + <> + {isVisible === 'memberAdd' && ( + + hello + + )} + {/* {isVisible === 'memberDel' && bye} + {isVisible === 'managerChange' && good} */} + + + + + + 에일리언즈 + 팀 관리 + 팀 정보를 관리해보세요 + + +
+
에일리언즈
+
team-aliens
+
+
+
팀원 수 : 10
+
생성자 : 8기 김은빈
+
생성일 : 2023-10-10
+
+
+ +
팀원
+
+ + { + onShow('memberAdd'); + }} + > + 팀원 추가 + +
+ + {dummyMember.map((member, index) => ( + {member} + ))} + +
+
+
+
+ + ); +}; + +const Wrapper = styled.div` + margin-top: 80px; + width: 100%; + display: flex; +`; + +const ContainerWrapper = styled.div` + width: 100%; + height: calc(100vh - 80px + 200px); + padding-left: 100px; + padding-right: 20px; + display: flex; + flex-direction: column; + align-items: center; +`; + +const Container = styled.div` + width: 100%; + max-width: 1120px; + display: flex; + flex-direction: column; + gap: 30px; +`; + +const TitleContainer = styled.div` + width: 100%; + max-width: 1120px; + display: flex; + flex-direction: column; + gap: 4px; + margin-top: 80px; +`; + +const TeamName = styled.div` + font-size: 20px; + font-weight: 500; + color: ${theme.color.gray5}; +`; + +const Title = styled.div` + font-size: 30px; + font-weight: 600; + color: ${theme.color.gray8}; +`; + +const Describtion = styled.div` + font-size: 24px; + font-weight: 100; + color: ${theme.color.gray8}; +`; + +const InformationContainer = styled.div` + width: 100%; + max-width: 1120px; + height: 104px; + background-color: ${theme.color.gray1}; + border-radius: 6px; + border: 1px solid ${theme.color.gray5}; + padding: 20px 38px; + display: flex; + justify-content: space-between; + > div:nth-of-type(1) { + display: flex; + flex-direction: column; + gap: 10px; + > div:nth-of-type(1) { + font-size: 20px; + font-weight: 600; + color: ${theme.color.gray8}; + } + > div:nth-of-type(2) { + font-size: 18px; + font-weight: 400; + color: ${theme.color.gray6}; + } + } + > :nth-of-type(2) { + > div { + font-size: 18px; + font-weight: 400; + color: ${theme.color.gray6}; + } + } +`; + +const MemberContainer = styled.div` + width: 100%; + max-width: 1120px; + height: 544px; + background-color: ${theme.color.gray1}; + border-radius: 6px; + border: 1px solid ${theme.color.gray5}; + padding: 20px 38px; + display: flex; + flex-direction: column; + align-items: start; + gap: 10px; + & ::-webkit-scrollbar { + width: 4px; + } + & ::-webkit-scrollbar-thumb { + background-color: #d9d9d9; + border-radius: 4px; + } + > div:nth-of-type(1) { + font-size: 20px; + font-weight: 500; + } + > div:nth-of-type(2) { + display: flex; + width: 100%; + justify-content: space-between; + } + > div:nth-child(3) { + width: 100%; + max-width: 1042px; + } +`; + +const MemberBoxContainer = styled.div` + width: 100%; + height: 408px; + display: flex; + flex-direction: column; + gap: 10px; + overflow: auto; +`; + +const MemberBox = styled.div` + width: 100%; + max-width: 1042px; + height: 60px; + flex: none; + border-radius: 20px; + padding: 0 20px; + display: flex; + justify-content: space-between; + align-items: center; + border: 1px solid ${theme.color.gray4}; +`;