From ac678c4cf04d8ceb97a847a5f796c6eff44f640d Mon Sep 17 00:00:00 2001 From: goeun kim Date: Tue, 14 Jan 2025 03:53:29 +0900 Subject: [PATCH 01/22] =?UTF-8?q?Feat/#38:=20Community=20=EB=AA=A9?= =?UTF-8?q?=EB=A1=9D=20Banner=20=EA=B5=AC=EC=B6=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/svgs/Img_Banner.svg | 9 ++++ public/svgs/img_textlogo.svg | 10 ++++ src/assets/svgs/BtnWritingChipxIcon.tsx | 10 +++- src/assets/svgs/IcAlarmBlack24.tsx | 1 + src/assets/svgs/IcArrowDownBlack24.tsx | 1 + src/assets/svgs/IcInstaGray20.tsx | 1 + src/assets/svgs/ImgBanner.tsx | 27 ++++++++++ src/assets/svgs/ImgDarudalogo40.tsx | 1 + src/assets/svgs/ImgTextlogo.tsx | 11 ++++ src/assets/svgs/index.ts | 5 +- src/components/common/toast/Toast.stories.ts | 48 ------------------ src/pages/community/Community.stories.ts | 18 +++++++ src/pages/community/Community.style.ts | 7 +++ src/pages/community/Community.tsx | 9 +++- .../components/banner/Banner.stories.tsx | 18 +++++++ .../components/banner/Banner.styles.ts | 50 +++++++++++++++++++ .../community/components/banner/Banner.tsx | 27 ++++++++++ src/pages/community/constants/constants.ts | 1 + 18 files changed, 201 insertions(+), 53 deletions(-) create mode 100644 public/svgs/Img_Banner.svg create mode 100644 public/svgs/img_textlogo.svg create mode 100644 src/assets/svgs/ImgBanner.tsx create mode 100644 src/assets/svgs/ImgTextlogo.tsx delete mode 100644 src/components/common/toast/Toast.stories.ts create mode 100644 src/pages/community/Community.stories.ts create mode 100644 src/pages/community/Community.style.ts create mode 100644 src/pages/community/components/banner/Banner.stories.tsx create mode 100644 src/pages/community/components/banner/Banner.styles.ts create mode 100644 src/pages/community/components/banner/Banner.tsx create mode 100644 src/pages/community/constants/constants.ts diff --git a/public/svgs/Img_Banner.svg b/public/svgs/Img_Banner.svg new file mode 100644 index 00000000..da93c9cc --- /dev/null +++ b/public/svgs/Img_Banner.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/svgs/img_textlogo.svg b/public/svgs/img_textlogo.svg new file mode 100644 index 00000000..5a23438c --- /dev/null +++ b/public/svgs/img_textlogo.svg @@ -0,0 +1,10 @@ + + + diff --git a/src/assets/svgs/BtnWritingChipxIcon.tsx b/src/assets/svgs/BtnWritingChipxIcon.tsx index e1262c44..ae80abd4 100644 --- a/src/assets/svgs/BtnWritingChipxIcon.tsx +++ b/src/assets/svgs/BtnWritingChipxIcon.tsx @@ -1,9 +1,15 @@ +import * as React from 'react'; import type { SVGProps } from 'react'; const SvgBtnWritingChipxIcon = (props: SVGProps) => ( - - + + ); export default SvgBtnWritingChipxIcon; diff --git a/src/assets/svgs/IcAlarmBlack24.tsx b/src/assets/svgs/IcAlarmBlack24.tsx index 5c94c9c6..a392a185 100644 --- a/src/assets/svgs/IcAlarmBlack24.tsx +++ b/src/assets/svgs/IcAlarmBlack24.tsx @@ -1,3 +1,4 @@ +import * as React from 'react'; import type { SVGProps } from 'react'; const SvgIcAlarmBlack24 = (props: SVGProps) => ( diff --git a/src/assets/svgs/IcArrowDownBlack24.tsx b/src/assets/svgs/IcArrowDownBlack24.tsx index d38dca16..7a224153 100644 --- a/src/assets/svgs/IcArrowDownBlack24.tsx +++ b/src/assets/svgs/IcArrowDownBlack24.tsx @@ -1,3 +1,4 @@ +import * as React from 'react'; import type { SVGProps } from 'react'; const SvgIcArrowDownBlack24 = (props: SVGProps) => ( diff --git a/src/assets/svgs/IcInstaGray20.tsx b/src/assets/svgs/IcInstaGray20.tsx index 4189fb90..a38d67e1 100644 --- a/src/assets/svgs/IcInstaGray20.tsx +++ b/src/assets/svgs/IcInstaGray20.tsx @@ -1,3 +1,4 @@ +import * as React from 'react'; import type { SVGProps } from 'react'; const SvgIcInstaGray20 = (props: SVGProps) => ( diff --git a/src/assets/svgs/ImgBanner.tsx b/src/assets/svgs/ImgBanner.tsx new file mode 100644 index 00000000..6941049d --- /dev/null +++ b/src/assets/svgs/ImgBanner.tsx @@ -0,0 +1,27 @@ +import * as React from 'react'; +import type { SVGProps } from 'react'; + +const SvgImgBanner = (props: SVGProps) => ( + + + + + + + + + +); +export default SvgImgBanner; diff --git a/src/assets/svgs/ImgDarudalogo40.tsx b/src/assets/svgs/ImgDarudalogo40.tsx index 6f2d2a92..b81a3c72 100644 --- a/src/assets/svgs/ImgDarudalogo40.tsx +++ b/src/assets/svgs/ImgDarudalogo40.tsx @@ -1,3 +1,4 @@ +import * as React from 'react'; import type { SVGProps } from 'react'; const SvgImgDarudalogo40 = (props: SVGProps) => ( diff --git a/src/assets/svgs/ImgTextlogo.tsx b/src/assets/svgs/ImgTextlogo.tsx new file mode 100644 index 00000000..dd5de843 --- /dev/null +++ b/src/assets/svgs/ImgTextlogo.tsx @@ -0,0 +1,11 @@ +import * as React from 'react'; +import type { SVGProps } from 'react'; + +const SvgImgTextlogo = (props: SVGProps) => ( + + + + + +); +export default SvgImgTextlogo; diff --git a/src/assets/svgs/index.ts b/src/assets/svgs/index.ts index 4a037566..fe0d2a5c 100644 --- a/src/assets/svgs/index.ts +++ b/src/assets/svgs/index.ts @@ -1,3 +1,5 @@ +export { default as ImgBanner } from './ImgBanner'; +export { default as BtnWritingChipxIcon } from './BtnWritingChipxIcon'; export { default as IcAlarmBlack24 } from './IcAlarmBlack24'; export { default as IcArrowDownBlack24 } from './IcArrowDownBlack24'; export { default as IcInstaGray20 } from './IcInstaGray20'; @@ -5,5 +7,4 @@ export { default as ImgDarudalogo40 } from './ImgDarudalogo40'; export { default as ImgModalcheck } from './ImgModalcheck'; export { default as ImgModalexit } from './ImgModalexit'; export { default as ImgModalexit2 } from './ImgModalexit2'; -export { default as BtnWritingChipxIcon } from './BtnWritingChipxIcon'; - +export { default as ImgTextlogo } from './ImgTextlogo'; diff --git a/src/components/common/toast/Toast.stories.ts b/src/components/common/toast/Toast.stories.ts deleted file mode 100644 index 5d849888..00000000 --- a/src/components/common/toast/Toast.stories.ts +++ /dev/null @@ -1,48 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react'; - -import Toast from './Toast'; - -const meta: Meta = { - title: 'Components/Toast', - component: Toast, - parameters: { - layout: 'centered', - }, - tags: ['autodocs'], - argTypes: { - isVisible: { - description: '토스트 메시지 표시 여부', - control: { type: 'boolean' }, - defaultValue: true, - }, - children: { - description: '표시할 메시지 텍스트', - control: { type: 'text' }, - defaultValue: '북마크가 취소되었어요.', - }, - isWarning: { - description: '표시할 메시지 텍스트', - control: { type: 'boolean' }, - }, - }, -}; - -export default meta; - -type Story = StoryObj; - -export const BookMark: Story = { - args: { - children: '북마크가 취소되었어요.', - isVisible: true, - isWarning: false, - }, -}; - -export const Warning: Story = { - args: { - children: '이미지는 최대 5장까지 첨부할 수 있습니다.', - isVisible: true, - isWarning: true, - }, -}; diff --git a/src/pages/community/Community.stories.ts b/src/pages/community/Community.stories.ts new file mode 100644 index 00000000..fa3112df --- /dev/null +++ b/src/pages/community/Community.stories.ts @@ -0,0 +1,18 @@ +import type { Meta, StoryObj } from '@storybook/react'; + +import Community from './Community'; + +const meta: Meta = { + title: 'Pages/Community', + component: Community, + parameters: { + layout: 'fullscreen', + }, + tags: ['autodocs'], +}; + +export default meta; + +type Story = StoryObj; + +export const Default: Story = {}; diff --git a/src/pages/community/Community.style.ts b/src/pages/community/Community.style.ts new file mode 100644 index 00000000..b4f0595d --- /dev/null +++ b/src/pages/community/Community.style.ts @@ -0,0 +1,7 @@ +import styled from '@emotion/styled'; + +export const CoummunityWrapper = styled.section` + display: flex; + justify-content: center; + padding: 1.6rem 16rem; +`; diff --git a/src/pages/community/Community.tsx b/src/pages/community/Community.tsx index ab2c7bf6..1544ed37 100644 --- a/src/pages/community/Community.tsx +++ b/src/pages/community/Community.tsx @@ -1,5 +1,12 @@ +import * as S from './Community.style'; +import Banner from './components/banner/Banner'; + const Community = () => { - return
Community
; + return ( + + + + ); }; export default Community; diff --git a/src/pages/community/components/banner/Banner.stories.tsx b/src/pages/community/components/banner/Banner.stories.tsx new file mode 100644 index 00000000..ea2dc9b1 --- /dev/null +++ b/src/pages/community/components/banner/Banner.stories.tsx @@ -0,0 +1,18 @@ +import type { Meta, StoryObj } from '@storybook/react'; + +import Banner from './Banner'; + +const meta: Meta = { + title: 'Components/Banner', + component: Banner, + parameters: { + layout: 'centered', + }, + tags: ['autodocs'], +}; + +export default meta; + +type Story = StoryObj; + +export const Default: Story = {}; diff --git a/src/pages/community/components/banner/Banner.styles.ts b/src/pages/community/components/banner/Banner.styles.ts new file mode 100644 index 00000000..c458d10d --- /dev/null +++ b/src/pages/community/components/banner/Banner.styles.ts @@ -0,0 +1,50 @@ +import { ImgBanner } from '@assets/svgs'; +import styled from '@emotion/styled'; + +export const BannerWrapper = styled.section` + display: flex; + flex-shrink: 0; + justify-content: space-between; + width: 104.6rem; + height: 25.8rem; + + background: linear-gradient(255deg, rgb(201 201 255 / 63%) 2.79%, rgb(108 109 225 / 63%) 105.73%), #fff; + border-radius: 1.6rem; +`; +export const BannerContainer = styled.div` + display: flex; + flex-direction: column; + gap: 1.6rem; + align-items: flex-start; + justify-content: center; + padding: 5.2rem 0 5.2rem 6.4rem; +`; +export const BannerTitle = styled.h1` + ${({ theme }) => theme.fonts.head_32_b}; + color: ${({ theme }) => theme.colors.black}; +`; + +export const MainImgBanner = styled(ImgBanner)` + margin: 2.6rem 3.2rem 2.6rem 10rem; +`; + +export const ModalChipsContainer = styled.ul` + display: flex; + gap: 1rem; +`; + +export const ModalChip = styled.li` + display: flex; + gap: 0.2rem; + align-items: center; + justify-content: center; + padding: 0.6rem 2rem; + + background: ${({ theme }) => theme.colors.white1}; + border-radius: 3rem; +`; + +export const ModalChipText = styled.p` + ${({ theme }) => theme.fonts.body_16_b_1}; + color: ${({ theme }) => theme.colors.gray2}; +`; diff --git a/src/pages/community/components/banner/Banner.tsx b/src/pages/community/components/banner/Banner.tsx new file mode 100644 index 00000000..62c99ecc --- /dev/null +++ b/src/pages/community/components/banner/Banner.tsx @@ -0,0 +1,27 @@ +import { ImgTextlogo } from '@assets/svgs'; +import { BANNER_CHIP } from '@pages/community/constants/constants'; + +import * as S from './Banner.styles'; + +const Banner = () => { + return ( + + + + 자유로운 정보 공유,
+ 커뮤니티에서 살펴보세요. +
+ + {BANNER_CHIP.map((item, i) => ( + + {item.text} + + ))} + +
+ +
+ ); +}; + +export default Banner; diff --git a/src/pages/community/constants/constants.ts b/src/pages/community/constants/constants.ts new file mode 100644 index 00000000..84aeece4 --- /dev/null +++ b/src/pages/community/constants/constants.ts @@ -0,0 +1 @@ +export const BANNER_CHIP = [{ text: '# 툴 추천' }, { text: '# 툴 사용법' }, { text: '# 구체적인 궁금증' }]; From 8ec54f118248c25b9bb6364e9c92bf29f125152d Mon Sep 17 00:00:00 2001 From: goeun kim Date: Tue, 14 Jan 2025 03:55:11 +0900 Subject: [PATCH 02/22] =?UTF-8?q?Chore/#38:=20=EC=82=AD=EC=A0=9C=EB=90=9C?= =?UTF-8?q?=20=ED=8C=8C=EC=9D=BC=20=EB=B3=B5=EA=B5=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/toast/Toast.stories.ts | 48 ++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/components/common/toast/Toast.stories.ts diff --git a/src/components/common/toast/Toast.stories.ts b/src/components/common/toast/Toast.stories.ts new file mode 100644 index 00000000..5d849888 --- /dev/null +++ b/src/components/common/toast/Toast.stories.ts @@ -0,0 +1,48 @@ +import type { Meta, StoryObj } from '@storybook/react'; + +import Toast from './Toast'; + +const meta: Meta = { + title: 'Components/Toast', + component: Toast, + parameters: { + layout: 'centered', + }, + tags: ['autodocs'], + argTypes: { + isVisible: { + description: '토스트 메시지 표시 여부', + control: { type: 'boolean' }, + defaultValue: true, + }, + children: { + description: '표시할 메시지 텍스트', + control: { type: 'text' }, + defaultValue: '북마크가 취소되었어요.', + }, + isWarning: { + description: '표시할 메시지 텍스트', + control: { type: 'boolean' }, + }, + }, +}; + +export default meta; + +type Story = StoryObj; + +export const BookMark: Story = { + args: { + children: '북마크가 취소되었어요.', + isVisible: true, + isWarning: false, + }, +}; + +export const Warning: Story = { + args: { + children: '이미지는 최대 5장까지 첨부할 수 있습니다.', + isVisible: true, + isWarning: true, + }, +}; From f34bd1645928bcfef3aed9ff4f47f12c721ae899 Mon Sep 17 00:00:00 2001 From: goeun kim Date: Tue, 14 Jan 2025 17:36:07 +0900 Subject: [PATCH 03/22] =?UTF-8?q?Fix/#16:=20squareBtn=20hover=EC=8B=9C=20s?= =?UTF-8?q?vg=20=ED=8C=8C=EC=9D=BC=20stroke=20=EC=83=89=EC=83=81=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/button/squareButton/SquareButton.styled.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/components/common/button/squareButton/SquareButton.styled.ts b/src/components/common/button/squareButton/SquareButton.styled.ts index fb40bc52..5904aeb3 100644 --- a/src/components/common/button/squareButton/SquareButton.styled.ts +++ b/src/components/common/button/squareButton/SquareButton.styled.ts @@ -43,12 +43,20 @@ export const ButtonWrapper = styled.button<{ } }} + &:hover span svg path { + stroke: ${({ theme }) => theme.colors.white1}; + } + &:hover { color: ${({ theme }) => theme.colors.white1}; background-color: ${({ theme }) => theme.colors.iris1}; } + &:active span svg path { + stroke: ${({ theme }) => theme.colors.white1}; + } + &:active { color: ${({ theme }) => theme.colors.white1}; From 6b585678189ec0174dfb8477eaf6a4c308357370 Mon Sep 17 00:00:00 2001 From: goeun kim Date: Tue, 14 Jan 2025 19:19:40 +0900 Subject: [PATCH 04/22] =?UTF-8?q?Fix/#38:=20DropDown=20=EC=8A=A4=ED=83=80?= =?UTF-8?q?=EC=9D=BC=20=EC=98=A4=ED=83=80=20=EC=88=98=EC=A0=95=20=EB=B0=8F?= =?UTF-8?q?=20early=20retrun=20null=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/dropdown/DropDown.styled.ts | 3 ++- src/components/common/dropdown/DropDown.tsx | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/common/dropdown/DropDown.styled.ts b/src/components/common/dropdown/DropDown.styled.ts index fe7c133b..5df28a1a 100644 --- a/src/components/common/dropdown/DropDown.styled.ts +++ b/src/components/common/dropdown/DropDown.styled.ts @@ -17,7 +17,8 @@ export const DropDownToggleBtn = styled.div` `; export const DropDownWrapper = styled.ul` - position: abolsute; + position: absolute; + top: 4.5rem; z-index: 1; width: min-content; diff --git a/src/components/common/dropdown/DropDown.tsx b/src/components/common/dropdown/DropDown.tsx index d9e85d4c..5e98e7aa 100644 --- a/src/components/common/dropdown/DropDown.tsx +++ b/src/components/common/dropdown/DropDown.tsx @@ -44,7 +44,7 @@ const ToggleBtn = ({ children }: { children: ReactNode }) => { const Content = ({ children }: { children: ReactNode }) => { const { isOpen } = useComponentContext(DropDownContext, 'DropDown'); - if (!isOpen) return; + if (!isOpen) return null; return {children}; }; From 8182aff0bd72e3dfc3412b99d4b5181206594b27 Mon Sep 17 00:00:00 2001 From: goeun kim Date: Tue, 14 Jan 2025 21:00:14 +0900 Subject: [PATCH 05/22] =?UTF-8?q?Feat/#38:=20Community=20Card=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EA=B5=AC=EC=B6=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../community/components/card/Card.stories.ts | 0 .../community/components/card/Card.styled.ts | 78 ++++++++++++++++++ src/pages/community/components/card/Card.tsx | 82 +++++++++++++++++++ 3 files changed, 160 insertions(+) create mode 100644 src/pages/community/components/card/Card.stories.ts create mode 100644 src/pages/community/components/card/Card.styled.ts create mode 100644 src/pages/community/components/card/Card.tsx diff --git a/src/pages/community/components/card/Card.stories.ts b/src/pages/community/components/card/Card.stories.ts new file mode 100644 index 00000000..e69de29b diff --git a/src/pages/community/components/card/Card.styled.ts b/src/pages/community/components/card/Card.styled.ts new file mode 100644 index 00000000..9d39b3d4 --- /dev/null +++ b/src/pages/community/components/card/Card.styled.ts @@ -0,0 +1,78 @@ +import styled from '@emotion/styled'; + +export const CardWrapper = styled.li` + background: ${({ theme }) => theme.colors.white1}; + border: 1px solid ${({ theme }) => theme.colors.gray6}; + border-radius: 1.6rem; +`; + +export const CardLayout = styled.section` + display: inline-flex; + flex-direction: column; + gap: 2rem; + align-items: flex-end; + width: 100%; + padding: 3rem 4.8rem 1.6rem; +`; +export const CardTopContent = styled.section` + display: flex; + flex-direction: column; + gap: 0.8rem; + align-items: flex-start; + align-self: stretch; + width: 100%; + + header { + display: flex; + gap: 1.2rem; + align-items: center; + } +`; + +export const MetaInfo = styled.span` + ${({ theme }) => theme.fonts.caption_12_r}; + display: flex; + gap: 0.6rem; + align-items: center; + + color: ${({ theme }) => theme.colors.gray2}; +`; + +export const CardDivider = styled.div` + flex-shrink: 0; + width: 670px; + height: 0.1rem; + + background-color: ${({ theme }) => theme.colors.gray4}; + + stroke: ${({ theme }) => theme.colors.gray4}; +`; + +export const CardBottomBar = styled.section` + display: flex; + align-items: center; + align-self: stretch; + justify-content: space-between; +`; + +export const CardTitleItem = styled.h1` + ${({ theme }) => theme.fonts.body_20_b}; + color: ${({ theme }) => theme.colors.black}; + white-space: normal; + word-wrap: break-word; + word-break: break-word; +`; + +export const CardTextItem = styled.h1` + ${({ theme }) => theme.fonts.caption_14_m}; + color: ${({ theme }) => theme.colors.gray1}; + white-space: normal; + word-wrap: break-word; + word-break: break-word; +`; + +export const BottomBarLeft = styled.span` + display: flex; + gap: 19px; + align-items: center; +`; diff --git a/src/pages/community/components/card/Card.tsx b/src/pages/community/components/card/Card.tsx new file mode 100644 index 00000000..5821a8bc --- /dev/null +++ b/src/pages/community/components/card/Card.tsx @@ -0,0 +1,82 @@ +import { IcComment, IcBookmark, IcOverflowGray44 } from '@assets/svgs'; +import SquareButton from '@components/button/squareButton/SquareButton'; +import Chip from '@components/chip/Chip'; +import DropDown from '@components/dropdown/DropDown'; +import { formatContent } from '@pages/community/utils'; + +import * as S from './Card.styled'; + +interface CardDataProp { + post: { + boardId: number; + toolId: number; + toolName: string; + toolLogo: string; + title: string; + content: string; + images: string[]; + updatedAt: string; + nickName: string; + commentCount: number; + }; +} + +const Card = ({ post }: CardDataProp) => { + const { toolName, toolLogo, title, content, images, updatedAt, nickName, commentCount } = post; + return ( + + + +
+ + + + {toolName} + + + + {nickName} + | + {updatedAt} + +
+ {title} + {formatContent(content, images.length)} +
+ + + + } size="small" stroke={false}>{`${commentCount}개`} + } size="small" stroke={false}> + 북마크 + + + + + + + + { + alert('클릭!'); + }} + > + 수정하기 + + { + alert('클릭!'); + }} + > + 삭제하기 + + + + +
+
+ ); +}; + +export default Card; From 3137bf01d119208613e8bc1d3f2911749dc445c0 Mon Sep 17 00:00:00 2001 From: goeun kim Date: Tue, 14 Jan 2025 21:01:26 +0900 Subject: [PATCH 06/22] =?UTF-8?q?Feat/#38:=20=EB=AF=B8=EB=A6=AC=EB=B3=B4?= =?UTF-8?q?=EA=B8=B0=20=EA=B8=80=EC=9E=90=EC=88=98=20=ED=8F=AC=EB=A9=A7?= =?UTF-8?q?=ED=8C=85=20=EC=9C=A0=ED=8B=B8=ED=95=A8=EC=88=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/community/utils/formatContent.ts | 6 ++++++ src/pages/community/utils/index.ts | 3 +++ 2 files changed, 9 insertions(+) create mode 100644 src/pages/community/utils/formatContent.ts create mode 100644 src/pages/community/utils/index.ts diff --git a/src/pages/community/utils/formatContent.ts b/src/pages/community/utils/formatContent.ts new file mode 100644 index 00000000..52a27507 --- /dev/null +++ b/src/pages/community/utils/formatContent.ts @@ -0,0 +1,6 @@ +const formatContent = (content: string, ImgCount: number): string => { + const limit = ImgCount >= 1 ? 120 : 240; + return content.length > limit ? content.slice(0, limit) + '...' : content; +}; + +export default formatContent; diff --git a/src/pages/community/utils/index.ts b/src/pages/community/utils/index.ts new file mode 100644 index 00000000..5d5fdf77 --- /dev/null +++ b/src/pages/community/utils/index.ts @@ -0,0 +1,3 @@ +import formatContent from './formatContent'; + +export { formatContent }; From 0295db29df1ad3c86683730c55b0e18473ae8c05 Mon Sep 17 00:00:00 2001 From: goeun kim Date: Tue, 14 Jan 2025 21:01:50 +0900 Subject: [PATCH 07/22] =?UTF-8?q?Chore/#38:=20mock=20=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=84=B0=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/svgs/ic_bookmark.svg | 5 ++ public/svgs/ic_comment.svg | 5 ++ src/assets/svgs/IcBookmark.tsx | 13 ++++ src/assets/svgs/IcComment.tsx | 14 ++++ src/assets/svgs/index.ts | 19 +++--- src/pages/community/Community.style.ts | 11 +++- src/pages/community/Community.tsx | 11 +++- src/pages/community/hooks/.keep | 0 src/pages/community/mocks/index.ts | 91 ++++++++++++++++++++++++++ src/pages/community/types/.keep | 0 10 files changed, 157 insertions(+), 12 deletions(-) create mode 100644 public/svgs/ic_bookmark.svg create mode 100644 public/svgs/ic_comment.svg create mode 100644 src/assets/svgs/IcBookmark.tsx create mode 100644 src/assets/svgs/IcComment.tsx create mode 100644 src/pages/community/hooks/.keep create mode 100644 src/pages/community/mocks/index.ts create mode 100644 src/pages/community/types/.keep diff --git a/public/svgs/ic_bookmark.svg b/public/svgs/ic_bookmark.svg new file mode 100644 index 00000000..aba55af2 --- /dev/null +++ b/public/svgs/ic_bookmark.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/svgs/ic_comment.svg b/public/svgs/ic_comment.svg new file mode 100644 index 00000000..d5ea1d04 --- /dev/null +++ b/public/svgs/ic_comment.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/IcBookmark.tsx b/src/assets/svgs/IcBookmark.tsx new file mode 100644 index 00000000..1a6bf763 --- /dev/null +++ b/src/assets/svgs/IcBookmark.tsx @@ -0,0 +1,13 @@ +import * as React from 'react'; +import type { SVGProps } from 'react'; + +const SvgIcBookmark = (props: SVGProps) => ( + + + +); +export default SvgIcBookmark; diff --git a/src/assets/svgs/IcComment.tsx b/src/assets/svgs/IcComment.tsx new file mode 100644 index 00000000..b539c0d8 --- /dev/null +++ b/src/assets/svgs/IcComment.tsx @@ -0,0 +1,14 @@ +import * as React from 'react'; +import type { SVGProps } from 'react'; + +const SvgIcComment = (props: SVGProps) => ( + + + +); +export default SvgIcComment; diff --git a/src/assets/svgs/index.ts b/src/assets/svgs/index.ts index 6e622558..fe70977d 100644 --- a/src/assets/svgs/index.ts +++ b/src/assets/svgs/index.ts @@ -2,19 +2,20 @@ export { default as ImgBanner } from './ImgBanner'; export { default as BtnWritingChipxIcon } from './BtnWritingChipxIcon'; export { default as IcAlarmBlack24 } from './IcAlarmBlack24'; export { default as IcArrowDownBlack24 } from './IcArrowDownBlack24'; -export { default as IcInstaGray20 } from './IcInstaGray20'; -export { default as ImgDarudalogo40 } from './ImgDarudalogo40'; -export { default as ImgModalcheck } from './ImgModalcheck'; -export { default as ImgModalexit } from './ImgModalexit'; -export { default as ImgModalexit2 } from './ImgModalexit2'; -export { default as ImgTextlogo } from './ImgTextlogo'; -export { default as IcOverflowGray24 } from './IcOverflowGray24'; -export { default as IcOverflowGray44 } from './IcOverflowGray44'; +export { default as IcBookmark } from './IcBookmark'; export { default as IcBookmark32 } from './IcBookmark32'; - export { default as IcBookmarkGray24Dact } from './IcBookmarkGray24Dact'; export { default as IcCmtimgGray24 } from './IcCmtimgGray24'; +export { default as IcComment } from './IcComment'; export { default as IcCommentGray24 } from './IcCommentGray24'; +export { default as IcInstaGray20 } from './IcInstaGray20'; +export { default as IcOverflowGray24 } from './IcOverflowGray24'; +export { default as IcOverflowGray44 } from './IcOverflowGray44'; export { default as IcPlusWhite20 } from './IcPlusWhite20'; export { default as IcShareGray24 } from './IcShareGray24'; +export { default as ImgDarudalogo40 } from './ImgDarudalogo40'; +export { default as ImgModalcheck } from './ImgModalcheck'; +export { default as ImgModalexit } from './ImgModalexit'; +export { default as ImgModalexit2 } from './ImgModalexit2'; +export { default as ImgTextlogo } from './ImgTextlogo'; export { default as ImgUploadWhite48 } from './ImgUploadWhite48'; diff --git a/src/pages/community/Community.style.ts b/src/pages/community/Community.style.ts index b4f0595d..729f7b68 100644 --- a/src/pages/community/Community.style.ts +++ b/src/pages/community/Community.style.ts @@ -1,7 +1,16 @@ import styled from '@emotion/styled'; -export const CoummunityWrapper = styled.section` +export const CommunityWrapper = styled.section` display: flex; + flex-direction: column; justify-content: center; padding: 1.6rem 16rem; `; + +export const CardList = styled.ul` + display: flex; + flex-direction: column; + gap: 1.2rem; + width: 76.6rem; + margin-top: 2.4rem; +`; diff --git a/src/pages/community/Community.tsx b/src/pages/community/Community.tsx index 1544ed37..0a95f1e9 100644 --- a/src/pages/community/Community.tsx +++ b/src/pages/community/Community.tsx @@ -1,11 +1,18 @@ import * as S from './Community.style'; import Banner from './components/banner/Banner'; +import Card from './components/card/Card'; +import { POST_DATA } from './mocks'; const Community = () => { return ( - + - + + {POST_DATA.map((post) => ( + + ))} + + ); }; diff --git a/src/pages/community/hooks/.keep b/src/pages/community/hooks/.keep new file mode 100644 index 00000000..e69de29b diff --git a/src/pages/community/mocks/index.ts b/src/pages/community/mocks/index.ts new file mode 100644 index 00000000..23acdc2e --- /dev/null +++ b/src/pages/community/mocks/index.ts @@ -0,0 +1,91 @@ +export const POST_DATA = [ + { + boardId: 0, + toolId: 0, + toolName: 'ChatGPT', + toolLogo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/ChatGPT-Logo.svg/2048px-ChatGPT-Logo.svg.png', + title: 'PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일', + content: + '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', + images: [ + 'https://placehold.co/600x400', + 'https://placehold.co/600x400', + 'https://placehold.co/600x400', + 'https://placehold.co/600x400', + 'https://placehold.co/600x400', + ], + updatedAt: '2024.12.21', + nickName: '내이름은고은', + commentCount: 63, + }, + { + boardId: 1, + toolId: 0, + toolName: 'ChatGPT', + toolLogo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/ChatGPT-Logo.svg/2048px-ChatGPT-Logo.svg.png', + title: 'PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일', + content: + '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', + images: [ + 'https://placehold.co/600x400', + 'https://placehold.co/600x400', + 'https://placehold.co/600x400', + 'https://placehold.co/600x400', + ], + updatedAt: '2024.12.21', + nickName: '당신이름은용기', + commentCount: 63, + }, + { + boardId: 2, + toolId: 0, + toolName: 'ChatGPT', + toolLogo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/ChatGPT-Logo.svg/2048px-ChatGPT-Logo.svg.png', + title: 'PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일', + content: + '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', + images: ['https://placehold.co/600x400', 'https://placehold.co/600x400', 'https://placehold.co/600x400'], + updatedAt: '2024.12.21', + nickName: '나는야쏘영', + commentCount: 63, + }, + { + boardId: 3, + toolId: 0, + toolName: 'ChatGPT', + toolLogo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/ChatGPT-Logo.svg/2048px-ChatGPT-Logo.svg.png', + title: 'PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일', + content: + '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', + images: ['https://placehold.co/600x400', 'https://placehold.co/600x400'], + updatedAt: '2024.12.21', + nickName: '예스찬영', + commentCount: 63, + }, + { + boardId: 4, + toolId: 0, + toolName: 'ChatGPT', + toolLogo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/ChatGPT-Logo.svg/2048px-ChatGPT-Logo.svg.png', + title: 'PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일', + content: + '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', + images: ['https://placehold.co/600x400'], + updatedAt: '2024.12.21', + nickName: '귀엽재영', + commentCount: 63, + }, + { + boardId: 5, + toolId: 0, + toolName: 'ChatGPT', + toolLogo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/ChatGPT-Logo.svg/2048px-ChatGPT-Logo.svg.png', + title: 'PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일', + content: + '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', + images: [], + updatedAt: '2024.12.21', + nickName: '미니미니치치', + commentCount: 63, + }, +]; diff --git a/src/pages/community/types/.keep b/src/pages/community/types/.keep new file mode 100644 index 00000000..e69de29b From d938e6fd606b6cad027b8faf90587ad6bf833475 Mon Sep 17 00:00:00 2001 From: goeun kim Date: Tue, 14 Jan 2025 22:50:20 +0900 Subject: [PATCH 08/22] =?UTF-8?q?Feat/#38:=20=EC=82=AC=EC=A7=84=20?= =?UTF-8?q?=EA=B0=AF=EC=88=98=EC=97=90=20=EB=94=B0=EB=A5=B8=20Grid=20?= =?UTF-8?q?=EB=8F=99=EC=A0=81=20=EB=9E=9C=EB=8D=94=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../community/components/card/Card.styled.ts | 71 ++++++++++++++++++- src/pages/community/components/card/Card.tsx | 6 ++ 2 files changed, 75 insertions(+), 2 deletions(-) diff --git a/src/pages/community/components/card/Card.styled.ts b/src/pages/community/components/card/Card.styled.ts index 9d39b3d4..bc814cbc 100644 --- a/src/pages/community/components/card/Card.styled.ts +++ b/src/pages/community/components/card/Card.styled.ts @@ -14,6 +14,7 @@ export const CardLayout = styled.section` width: 100%; padding: 3rem 4.8rem 1.6rem; `; + export const CardTopContent = styled.section` display: flex; flex-direction: column; @@ -40,7 +41,7 @@ export const MetaInfo = styled.span` export const CardDivider = styled.div` flex-shrink: 0; - width: 670px; + width: 67rem; height: 0.1rem; background-color: ${({ theme }) => theme.colors.gray4}; @@ -73,6 +74,72 @@ export const CardTextItem = styled.h1` export const BottomBarLeft = styled.span` display: flex; - gap: 19px; + gap: 1.9rem; align-items: center; `; +export const ImageGrid = styled.div<{ $imageCount: number }>` + display: grid; + grid-template-rows: ${({ $imageCount }) => { + switch ($imageCount) { + case 4: + return 'repeat(2, 1fr)'; + case 3: + return '1fr'; + case 2: + return '1fr'; + case 1: + return '1fr'; + default: + return 'none'; + } + }}; + grid-template-columns: ${({ $imageCount }) => { + switch ($imageCount) { + case 4: + return 'repeat(2, 1fr)'; + case 3: + return 'repeat(3, 1fr)'; + case 2: + return 'repeat(2, 1fr)'; + case 1: + return '1fr'; + default: + return 'none'; + } + }}; + gap: 0.8rem; + width: 100%; + + ${({ $imageCount }) => + $imageCount === 5 && + ` + & > *:nth-child(1) { + grid-column: 1 / 4; + grid-row: 1 / 2; + } + + & > *:nth-child(2) { + grid-column: 4 / 7; + grid-row: 1 / 2; + } + + & > *:nth-child(3) { + grid-column: 1 / 3; + grid-row: 2 / 3; + } + + & > *:nth-child(4) { + grid-column: 3 / 5; + grid-row: 2 / 3; + } + + & > *:nth-child(5) { + grid-column: 5 / 7; + grid-row: 2 / 3; + } + `} + + img { + width: 100%; + } +`; diff --git a/src/pages/community/components/card/Card.tsx b/src/pages/community/components/card/Card.tsx index 5821a8bc..dbf3f4a7 100644 --- a/src/pages/community/components/card/Card.tsx +++ b/src/pages/community/components/card/Card.tsx @@ -23,6 +23,7 @@ interface CardDataProp { const Card = ({ post }: CardDataProp) => { const { toolName, toolLogo, title, content, images, updatedAt, nickName, commentCount } = post; + return ( @@ -42,6 +43,11 @@ const Card = ({ post }: CardDataProp) => { {title} {formatContent(content, images.length)} + + {images.map((image, i) => ( + {`${i}`} + ))} + From defe21328331796afbd205c6016ecd8e5195e9f9 Mon Sep 17 00:00:00 2001 From: goeun kim Date: Tue, 14 Jan 2025 22:51:31 +0900 Subject: [PATCH 09/22] =?UTF-8?q?Design/#38:=20=EB=94=94=EC=9E=90=EC=9D=B8?= =?UTF-8?q?=20=EB=B3=80=EA=B2=BD=EC=82=AC=ED=95=AD,=20wrapper=20=EA=B0=84?= =?UTF-8?q?=EA=B2=A9=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/community/Community.style.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/community/Community.style.ts b/src/pages/community/Community.style.ts index 729f7b68..7ef18d6a 100644 --- a/src/pages/community/Community.style.ts +++ b/src/pages/community/Community.style.ts @@ -4,7 +4,7 @@ export const CommunityWrapper = styled.section` display: flex; flex-direction: column; justify-content: center; - padding: 1.6rem 16rem; + padding: 1.6rem 17rem; `; export const CardList = styled.ul` From 996e9ab00823e561b9339a7a16811c1497530f79 Mon Sep 17 00:00:00 2001 From: goeun kim Date: Tue, 14 Jan 2025 23:25:57 +0900 Subject: [PATCH 10/22] =?UTF-8?q?Chore/#38:=20Comment=20chip=20icon=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/svgs/ic_comment.svg | 6 ++---- src/assets/svgs/IcComment.tsx | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/public/svgs/ic_comment.svg b/public/svgs/ic_comment.svg index d5ea1d04..8b55890c 100644 --- a/public/svgs/ic_comment.svg +++ b/public/svgs/ic_comment.svg @@ -1,5 +1,3 @@ - - - - + + diff --git a/src/assets/svgs/IcComment.tsx b/src/assets/svgs/IcComment.tsx index b539c0d8..bdd185d1 100644 --- a/src/assets/svgs/IcComment.tsx +++ b/src/assets/svgs/IcComment.tsx @@ -2,12 +2,10 @@ import * as React from 'react'; import type { SVGProps } from 'react'; const SvgIcComment = (props: SVGProps) => ( - + ); From dcda1d701d0110e92fcf68e1e887ceb2670aaf4f Mon Sep 17 00:00:00 2001 From: goeun kim Date: Wed, 15 Jan 2025 00:28:33 +0900 Subject: [PATCH 11/22] =?UTF-8?q?Design/#38:=20DropDown=20hover/open=20?= =?UTF-8?q?=EB=94=94=EC=9E=90=EC=9D=B8=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/dropdown/DropDown.styled.ts | 18 +++++++++++++++++- src/components/common/dropdown/DropDown.tsx | 6 +++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/components/common/dropdown/DropDown.styled.ts b/src/components/common/dropdown/DropDown.styled.ts index 5df28a1a..f04daa3b 100644 --- a/src/components/common/dropdown/DropDown.styled.ts +++ b/src/components/common/dropdown/DropDown.styled.ts @@ -8,12 +8,28 @@ export const DropDownContainer = styled.section<{ $position: 'start' | 'end' }>` align-items: ${({ $position }) => $position}; `; -export const DropDownToggleBtn = styled.div` +export const DropDownToggleBtn = styled.button<{ $isOpen: boolean }>` cursor: pointer; svg { vertical-align: middle; } + + ${({ $isOpen, theme }) => + $isOpen && + ` + border-radius: 0.8rem; + background: ${theme.colors.gray4}; +`} + + &:hover { + background: ${({ theme }) => theme.colors.gray4}; + border-radius: 0.8rem; + } + + &:hover svg path { + fill: ${({ theme, $isOpen }) => ($isOpen ? theme.colors.gray1 : theme.colors.white1)}; + } `; export const DropDownWrapper = styled.ul` diff --git a/src/components/common/dropdown/DropDown.tsx b/src/components/common/dropdown/DropDown.tsx index 5e98e7aa..746bbe39 100644 --- a/src/components/common/dropdown/DropDown.tsx +++ b/src/components/common/dropdown/DropDown.tsx @@ -38,7 +38,11 @@ const ToggleBtn = ({ children }: { children: ReactNode }) => { setIsOpen(!isOpen); }; - return {children}; + return ( + + {children} + + ); }; const Content = ({ children }: { children: ReactNode }) => { From a2e5341b0397ea368ad31c9f389f2381f6c193de Mon Sep 17 00:00:00 2001 From: goeun kim Date: Wed, 15 Jan 2025 03:10:10 +0900 Subject: [PATCH 12/22] =?UTF-8?q?Design/#38:=20=EB=B0=B0=EB=84=88=20?= =?UTF-8?q?=EB=94=94=EC=9E=90=EC=9D=B8=20=EC=88=98=EC=A0=95=EC=82=AC?= =?UTF-8?q?=ED=95=AD=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/banner/Banner.styles.ts | 33 +++++++++---------- .../community/components/banner/Banner.tsx | 3 +- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/pages/community/components/banner/Banner.styles.ts b/src/pages/community/components/banner/Banner.styles.ts index c458d10d..a3790efb 100644 --- a/src/pages/community/components/banner/Banner.styles.ts +++ b/src/pages/community/components/banner/Banner.styles.ts @@ -1,16 +1,19 @@ -import { ImgBanner } from '@assets/svgs'; import styled from '@emotion/styled'; export const BannerWrapper = styled.section` display: flex; - flex-shrink: 0; - justify-content: space-between; - width: 104.6rem; - height: 25.8rem; + justify-content: flex-start; + width: 100%; + height: 19.9rem; - background: linear-gradient(255deg, rgb(201 201 255 / 63%) 2.79%, rgb(108 109 225 / 63%) 105.73%), #fff; - border-radius: 1.6rem; + background: ${({ theme }) => theme.colors.orange1}; `; + +export const MainImgBanner = styled.img` + width: 51.4rem; + margin: 2.6rem 0 0 18.6rem; +`; + export const BannerContainer = styled.div` display: flex; flex-direction: column; @@ -20,12 +23,8 @@ export const BannerContainer = styled.div` padding: 5.2rem 0 5.2rem 6.4rem; `; export const BannerTitle = styled.h1` - ${({ theme }) => theme.fonts.head_32_b}; - color: ${({ theme }) => theme.colors.black}; -`; - -export const MainImgBanner = styled(ImgBanner)` - margin: 2.6rem 3.2rem 2.6rem 10rem; + ${({ theme }) => theme.fonts.body_20_b}; + color: ${({ theme }) => theme.colors.white1}; `; export const ModalChipsContainer = styled.ul` @@ -38,13 +37,13 @@ export const ModalChip = styled.li` gap: 0.2rem; align-items: center; justify-content: center; - padding: 0.6rem 2rem; + padding: 0.4rem 1.2rem; background: ${({ theme }) => theme.colors.white1}; - border-radius: 3rem; + border-radius: 2.8rem; `; export const ModalChipText = styled.p` - ${({ theme }) => theme.fonts.body_16_b_1}; - color: ${({ theme }) => theme.colors.gray2}; + ${({ theme }) => theme.fonts.caption_12_b}; + color: ${({ theme }) => theme.colors.gray1}; `; diff --git a/src/pages/community/components/banner/Banner.tsx b/src/pages/community/components/banner/Banner.tsx index 62c99ecc..9f65e6b6 100644 --- a/src/pages/community/components/banner/Banner.tsx +++ b/src/pages/community/components/banner/Banner.tsx @@ -1,3 +1,4 @@ +import imgBanner from '@assets/images/img_banner_attached.png'; import { ImgTextlogo } from '@assets/svgs'; import { BANNER_CHIP } from '@pages/community/constants/constants'; @@ -6,6 +7,7 @@ import * as S from './Banner.styles'; const Banner = () => { return ( + 자유로운 정보 공유,
@@ -19,7 +21,6 @@ const Banner = () => { ))} - ); }; From 3b519254b65702f1a831989879b1d52c48d153d0 Mon Sep 17 00:00:00 2001 From: goeun kim Date: Wed, 15 Jan 2025 03:10:53 +0900 Subject: [PATCH 13/22] =?UTF-8?q?Feat/#38:=20Community=20list=20=EB=B2=84?= =?UTF-8?q?=ED=8A=BC=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/svgs/ic_chevron.svg | 5 +++ public/svgs/img_textlogo.svg | 14 +++---- src/assets/images/img_banner_attached.png | Bin 0 -> 147307 bytes src/assets/svgs/IcChevron.tsx | 14 +++++++ src/assets/svgs/ImgTextlogo.tsx | 6 +-- src/assets/svgs/index.ts | 1 + .../circleButton/CircleButton.styled.ts | 2 +- src/pages/community/Community.style.ts | 38 +++++++++++++++++- src/pages/community/Community.tsx | 31 +++++++++++--- 9 files changed, 93 insertions(+), 18 deletions(-) create mode 100644 public/svgs/ic_chevron.svg create mode 100644 src/assets/images/img_banner_attached.png create mode 100644 src/assets/svgs/IcChevron.tsx diff --git a/public/svgs/ic_chevron.svg b/public/svgs/ic_chevron.svg new file mode 100644 index 00000000..2a7dc6ec --- /dev/null +++ b/public/svgs/ic_chevron.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/svgs/img_textlogo.svg b/public/svgs/img_textlogo.svg index 5a23438c..5afdef9f 100644 --- a/public/svgs/img_textlogo.svg +++ b/public/svgs/img_textlogo.svg @@ -1,10 +1,10 @@ - + diff --git a/src/assets/images/img_banner_attached.png b/src/assets/images/img_banner_attached.png new file mode 100644 index 0000000000000000000000000000000000000000..7a77d225829dec34ac2c91c061f7e6762b563b06 GIT binary patch literal 147307 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 literal 0 HcmV?d00001 diff --git a/src/assets/svgs/IcChevron.tsx b/src/assets/svgs/IcChevron.tsx new file mode 100644 index 00000000..00e43ac5 --- /dev/null +++ b/src/assets/svgs/IcChevron.tsx @@ -0,0 +1,14 @@ +import * as React from 'react'; +import type { SVGProps } from 'react'; + +const SvgIcChevron = (props: SVGProps) => ( + + + +); +export default SvgIcChevron; diff --git a/src/assets/svgs/ImgTextlogo.tsx b/src/assets/svgs/ImgTextlogo.tsx index dd5de843..771d63cf 100644 --- a/src/assets/svgs/ImgTextlogo.tsx +++ b/src/assets/svgs/ImgTextlogo.tsx @@ -2,9 +2,9 @@ import * as React from 'react'; import type { SVGProps } from 'react'; const SvgImgTextlogo = (props: SVGProps) => ( - - - + + + ); diff --git a/src/assets/svgs/index.ts b/src/assets/svgs/index.ts index fe70977d..bf94da22 100644 --- a/src/assets/svgs/index.ts +++ b/src/assets/svgs/index.ts @@ -5,6 +5,7 @@ export { default as IcArrowDownBlack24 } from './IcArrowDownBlack24'; export { default as IcBookmark } from './IcBookmark'; export { default as IcBookmark32 } from './IcBookmark32'; export { default as IcBookmarkGray24Dact } from './IcBookmarkGray24Dact'; +export { default as IcChevron } from './IcChevron'; export { default as IcCmtimgGray24 } from './IcCmtimgGray24'; export { default as IcComment } from './IcComment'; export { default as IcCommentGray24 } from './IcCommentGray24'; diff --git a/src/components/common/button/circleButton/CircleButton.styled.ts b/src/components/common/button/circleButton/CircleButton.styled.ts index c96d05e0..f117b769 100644 --- a/src/components/common/button/circleButton/CircleButton.styled.ts +++ b/src/components/common/button/circleButton/CircleButton.styled.ts @@ -27,7 +27,7 @@ export const ButtonWrapper = styled.button<{ `, small: css` gap: 1.2rem; - padding: 1.6rem 3.6rem; + padding: 1.6rem 3rem; ${theme.fonts.body_20_b}; border-radius: 3.2rem; diff --git a/src/pages/community/Community.style.ts b/src/pages/community/Community.style.ts index 7ef18d6a..8fd36d4d 100644 --- a/src/pages/community/Community.style.ts +++ b/src/pages/community/Community.style.ts @@ -1,10 +1,19 @@ import styled from '@emotion/styled'; export const CommunityWrapper = styled.section` + position: relative; display: flex; flex-direction: column; justify-content: center; - padding: 1.6rem 17rem; + + background-color: ${({ theme }) => theme.colors.white2}; +`; + +export const CommunityContainer = styled.section` + display: inline-flex; + gap: 14px; + align-items: flex-start; + justify-content: center; `; export const CardList = styled.ul` @@ -12,5 +21,30 @@ export const CardList = styled.ul` flex-direction: column; gap: 1.2rem; width: 76.6rem; - margin-top: 2.4rem; + margin: 2.4rem 0; +`; + +export const FollowingBtns = styled.div` + position: fixed; + top: 60.9rem; + right: 8.7rem; + z-index: 999; + display: inline-flex; + flex-direction: column; + gap: 1.4rem; + align-items: flex-end; + justify-content: flex-end; +`; + +export const TopBtn = styled.button` + display: flex; + gap: 1.2rem; + align-items: center; + justify-content: center; + width: 5.6rem; + height: 5.6rem; + + background: ${({ theme }) => theme.colors.black_toast}; + box-shadow: 0 0 12px 0 ${({ theme }) => theme.colors.shadow1}; + border-radius: 3.2rem; `; diff --git a/src/pages/community/Community.tsx b/src/pages/community/Community.tsx index 0a95f1e9..83fc8bdf 100644 --- a/src/pages/community/Community.tsx +++ b/src/pages/community/Community.tsx @@ -1,17 +1,38 @@ +import { IcPlusWhite20, IcChevron } from '@assets/svgs'; +import CircleButton from '@components/button/circleButton/CircleButton'; + import * as S from './Community.style'; import Banner from './components/banner/Banner'; import Card from './components/card/Card'; import { POST_DATA } from './mocks'; const Community = () => { + const handleScrollUp = () => { + if (!window.scrollY) return; + + window.scrollTo({ + top: 0, + behavior: 'smooth', + }); + }; return ( - - {POST_DATA.map((post) => ( - - ))} - + + + {POST_DATA.map((post) => ( + + ))} + + + + }> + 글쓰기 + + + + + ); }; From 4fc8410d802d999d48d77d2c946329727f98a90b Mon Sep 17 00:00:00 2001 From: goeun kim Date: Wed, 15 Jan 2025 10:21:01 +0900 Subject: [PATCH 14/22] =?UTF-8?q?Feat/#38:=20storybook=20UI=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/community/Community.stories.ts | 18 --- src/pages/community/Community.stories.tsx | 32 ++++ .../components/banner/Banner.stories.tsx | 3 +- .../components/banner/Banner.styles.ts | 1 + .../community/components/card/Card.stories.ts | 138 ++++++++++++++++++ .../community/components/card/Card.styled.ts | 2 +- 6 files changed, 173 insertions(+), 21 deletions(-) delete mode 100644 src/pages/community/Community.stories.ts create mode 100644 src/pages/community/Community.stories.tsx diff --git a/src/pages/community/Community.stories.ts b/src/pages/community/Community.stories.ts deleted file mode 100644 index fa3112df..00000000 --- a/src/pages/community/Community.stories.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react'; - -import Community from './Community'; - -const meta: Meta = { - title: 'Pages/Community', - component: Community, - parameters: { - layout: 'fullscreen', - }, - tags: ['autodocs'], -}; - -export default meta; - -type Story = StoryObj; - -export const Default: Story = {}; diff --git a/src/pages/community/Community.stories.tsx b/src/pages/community/Community.stories.tsx new file mode 100644 index 00000000..bd20befa --- /dev/null +++ b/src/pages/community/Community.stories.tsx @@ -0,0 +1,32 @@ +import Footer from '@components/footer/Footer'; +import Header from '@components/header/Header'; +import { HEADER_STATE, HeaderState } from '@constants/headerState'; +import type { Meta, StoryObj } from '@storybook/react'; + +import Community from './Community'; + +const headerState: HeaderState = HEADER_STATE.LOGGED_IN; + +const meta: Meta = { + title: 'Pages/Community', + component: Community, + parameters: { + layout: 'fullscreen', + }, + decorators: [ + (Story) => ( + <> +
+ +
+ + ), + ], + tags: ['autodocs'], +}; + +export default meta; + +type Story = StoryObj; + +export const Default: Story = {}; diff --git a/src/pages/community/components/banner/Banner.stories.tsx b/src/pages/community/components/banner/Banner.stories.tsx index ea2dc9b1..31f504bd 100644 --- a/src/pages/community/components/banner/Banner.stories.tsx +++ b/src/pages/community/components/banner/Banner.stories.tsx @@ -6,9 +6,8 @@ const meta: Meta = { title: 'Components/Banner', component: Banner, parameters: { - layout: 'centered', + layout: 'fullscreen', }, - tags: ['autodocs'], }; export default meta; diff --git a/src/pages/community/components/banner/Banner.styles.ts b/src/pages/community/components/banner/Banner.styles.ts index a3790efb..aa3824c2 100644 --- a/src/pages/community/components/banner/Banner.styles.ts +++ b/src/pages/community/components/banner/Banner.styles.ts @@ -30,6 +30,7 @@ export const BannerTitle = styled.h1` export const ModalChipsContainer = styled.ul` display: flex; gap: 1rem; + width: max-content; `; export const ModalChip = styled.li` diff --git a/src/pages/community/components/card/Card.stories.ts b/src/pages/community/components/card/Card.stories.ts index e69de29b..3f4cd14f 100644 --- a/src/pages/community/components/card/Card.stories.ts +++ b/src/pages/community/components/card/Card.stories.ts @@ -0,0 +1,138 @@ +import type { Meta, StoryObj } from '@storybook/react'; + +import Card from './Card'; + +const meta: Meta = { + title: 'components/Card', + component: Card, + parameters: { + layout: 'fullscreen', + }, + tags: ['autodocs'], +}; + +export default meta; + +type Story = StoryObj; + +export const NoImages: Story = { + args: { + post: { + boardId: 0, + toolId: 0, + toolName: 'ChatGPT', + toolLogo: + 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/ChatGPT-Logo.svg/2048px-ChatGPT-Logo.svg.png', + title: 'PM 일 잘 해요', + content: + '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', + images: [], + updatedAt: '2024.12.21', + nickName: '내이름은고은', + commentCount: 63, + }, + }, +}; + +export const OneImage: Story = { + args: { + post: { + boardId: 1, + toolId: 1, + toolName: 'ChatGPT', + toolLogo: + 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/ChatGPT-Logo.svg/2048px-ChatGPT-Logo.svg.png', + title: 'PM 일 잘 해요', + content: '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', + images: ['https://placehold.co/600x400'], + updatedAt: '2024.12.21', + nickName: '내이름은고은', + commentCount: 63, + }, + }, +}; + +export const TwoImages: Story = { + args: { + post: { + boardId: 2, + toolId: 2, + toolName: 'ChatGPT', + toolLogo: + 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/ChatGPT-Logo.svg/2048px-ChatGPT-Logo.svg.png', + title: 'PM 일 잘 해요', + content: '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', + images: ['https://placehold.co/600x400', 'https://placehold.co/600x400'], + updatedAt: '2024.12.21', + nickName: '내이름은고은', + commentCount: 63, + }, + }, +}; + +export const ThreeImages: Story = { + args: { + post: { + boardId: 3, + toolId: 3, + toolName: 'ChatGPT', + toolLogo: + 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/ChatGPT-Logo.svg/2048px-ChatGPT-Logo.svg.png', + title: 'PM 일 잘 해요', + content: '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', + images: ['https://placehold.co/600x400', 'https://placehold.co/600x400', 'https://placehold.co/600x400'], + updatedAt: '2024.12.21', + nickName: '내이름은고은', + commentCount: 63, + }, + }, +}; + +export const FourImages: Story = { + args: { + post: { + boardId: 4, + toolId: 4, + toolName: 'ChatGPT', + toolLogo: + 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/ChatGPT-Logo.svg/2048px-ChatGPT-Logo.svg.png', + title: 'PM 일 잘 해요', + content: + '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', + images: [ + 'https://placehold.co/600x400', + 'https://placehold.co/600x400', + 'https://placehold.co/600x400', + 'https://placehold.co/600x400', + ], + updatedAt: '2024.12.21', + nickName: '내이름은고은', + commentCount: 63, + }, + }, +}; + +export const FiveImages: Story = { + args: { + post: { + boardId: 5, + toolId: 5, + toolName: 'ChatGPT', + toolLogo: + 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/ChatGPT-Logo.svg/2048px-ChatGPT-Logo.svg.png', + title: 'PM 일 잘 해요', + content: + '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', + images: [ + 'https://placehold.co/600x400', + 'https://placehold.co/600x400', + 'https://placehold.co/600x400', + 'https://placehold.co/600x400', + 'https://placehold.co/600x400', + ], + updatedAt: '2024.12.21', + nickName: '내이름은고은', + commentCount: 63, + }, + }, +}; diff --git a/src/pages/community/components/card/Card.styled.ts b/src/pages/community/components/card/Card.styled.ts index bc814cbc..27089bae 100644 --- a/src/pages/community/components/card/Card.styled.ts +++ b/src/pages/community/components/card/Card.styled.ts @@ -41,7 +41,7 @@ export const MetaInfo = styled.span` export const CardDivider = styled.div` flex-shrink: 0; - width: 67rem; + width: 100%; height: 0.1rem; background-color: ${({ theme }) => theme.colors.gray4}; From 5aa656557596437a9f5c7b891cc19171f7953bd0 Mon Sep 17 00:00:00 2001 From: goeun kim Date: Wed, 15 Jan 2025 10:30:54 +0900 Subject: [PATCH 15/22] =?UTF-8?q?Design/#38:=20commnet=20icon=20=EA=B5=90?= =?UTF-8?q?=EC=B2=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/svgs/ic_comment.svg | 3 --- public/svgs/ic_comment_gray_24.svg | 2 +- src/assets/svgs/IcComment.tsx | 12 ------------ src/assets/svgs/IcCommentGray24.tsx | 7 +++---- src/assets/svgs/index.ts | 1 - src/pages/community/components/card/Card.tsx | 4 ++-- 6 files changed, 6 insertions(+), 23 deletions(-) delete mode 100644 public/svgs/ic_comment.svg delete mode 100644 src/assets/svgs/IcComment.tsx diff --git a/public/svgs/ic_comment.svg b/public/svgs/ic_comment.svg deleted file mode 100644 index 8b55890c..00000000 --- a/public/svgs/ic_comment.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/svgs/ic_comment_gray_24.svg b/public/svgs/ic_comment_gray_24.svg index 114171e2..a2314e29 100644 --- a/public/svgs/ic_comment_gray_24.svg +++ b/public/svgs/ic_comment_gray_24.svg @@ -1,3 +1,3 @@ - + diff --git a/src/assets/svgs/IcComment.tsx b/src/assets/svgs/IcComment.tsx deleted file mode 100644 index bdd185d1..00000000 --- a/src/assets/svgs/IcComment.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from 'react'; -import type { SVGProps } from 'react'; - -const SvgIcComment = (props: SVGProps) => ( - - - -); -export default SvgIcComment; diff --git a/src/assets/svgs/IcCommentGray24.tsx b/src/assets/svgs/IcCommentGray24.tsx index 94b58ea6..27dd6f3a 100644 --- a/src/assets/svgs/IcCommentGray24.tsx +++ b/src/assets/svgs/IcCommentGray24.tsx @@ -4,10 +4,9 @@ import type { SVGProps } from 'react'; const SvgIcCommentGray24 = (props: SVGProps) => ( ); diff --git a/src/assets/svgs/index.ts b/src/assets/svgs/index.ts index bf94da22..ee8dcd4d 100644 --- a/src/assets/svgs/index.ts +++ b/src/assets/svgs/index.ts @@ -7,7 +7,6 @@ export { default as IcBookmark32 } from './IcBookmark32'; export { default as IcBookmarkGray24Dact } from './IcBookmarkGray24Dact'; export { default as IcChevron } from './IcChevron'; export { default as IcCmtimgGray24 } from './IcCmtimgGray24'; -export { default as IcComment } from './IcComment'; export { default as IcCommentGray24 } from './IcCommentGray24'; export { default as IcInstaGray20 } from './IcInstaGray20'; export { default as IcOverflowGray24 } from './IcOverflowGray24'; diff --git a/src/pages/community/components/card/Card.tsx b/src/pages/community/components/card/Card.tsx index dbf3f4a7..d2c9ac08 100644 --- a/src/pages/community/components/card/Card.tsx +++ b/src/pages/community/components/card/Card.tsx @@ -1,4 +1,4 @@ -import { IcComment, IcBookmark, IcOverflowGray44 } from '@assets/svgs'; +import { IcCommentGray24, IcBookmark, IcOverflowGray44 } from '@assets/svgs'; import SquareButton from '@components/button/squareButton/SquareButton'; import Chip from '@components/chip/Chip'; import DropDown from '@components/dropdown/DropDown'; @@ -52,7 +52,7 @@ const Card = ({ post }: CardDataProp) => { - } size="small" stroke={false}>{`${commentCount}개`} + } size="small" stroke={false}>{`${commentCount}개`} } size="small" stroke={false}> 북마크 From 77afc3136069b462d93963c4912cf581e144462a Mon Sep 17 00:00:00 2001 From: goeun kim Date: Wed, 15 Jan 2025 10:37:07 +0900 Subject: [PATCH 16/22] =?UTF-8?q?Chore/#38:=20card=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=20storybook=20layout=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/community/components/card/Card.stories.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/community/components/card/Card.stories.ts b/src/pages/community/components/card/Card.stories.ts index 3f4cd14f..a5f8a6e4 100644 --- a/src/pages/community/components/card/Card.stories.ts +++ b/src/pages/community/components/card/Card.stories.ts @@ -6,7 +6,7 @@ const meta: Meta = { title: 'components/Card', component: Card, parameters: { - layout: 'fullscreen', + layout: 'centered', }, tags: ['autodocs'], }; From 8a3e4578c4a3d7d6310aea2f083724712d4baff6 Mon Sep 17 00:00:00 2001 From: goeun kim Date: Wed, 15 Jan 2025 10:43:28 +0900 Subject: [PATCH 17/22] =?UTF-8?q?Chore/#38:=20=EC=BD=94=EB=94=A9=20?= =?UTF-8?q?=EC=BB=A8=EB=B2=A4=EC=85=98=EC=97=90=20=EB=A7=9E=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/community/Community.style.ts | 2 +- src/pages/community/Community.tsx | 2 +- src/pages/community/components/card/Card.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/community/Community.style.ts b/src/pages/community/Community.style.ts index 8fd36d4d..a8aedab0 100644 --- a/src/pages/community/Community.style.ts +++ b/src/pages/community/Community.style.ts @@ -11,7 +11,7 @@ export const CommunityWrapper = styled.section` export const CommunityContainer = styled.section` display: inline-flex; - gap: 14px; + gap: 1.4rem; align-items: flex-start; justify-content: center; `; diff --git a/src/pages/community/Community.tsx b/src/pages/community/Community.tsx index 83fc8bdf..dcf7f3ca 100644 --- a/src/pages/community/Community.tsx +++ b/src/pages/community/Community.tsx @@ -29,7 +29,7 @@ const Community = () => { }> 글쓰기 - + diff --git a/src/pages/community/components/card/Card.tsx b/src/pages/community/components/card/Card.tsx index d2c9ac08..d629d9be 100644 --- a/src/pages/community/components/card/Card.tsx +++ b/src/pages/community/components/card/Card.tsx @@ -45,7 +45,7 @@ const Card = ({ post }: CardDataProp) => { {formatContent(content, images.length)} {images.map((image, i) => ( -
{`${i}`} + {`Post-card-img-${i}`} ))} From 5b767d3513b951756605197d75c9c57f7ac48c39 Mon Sep 17 00:00:00 2001 From: goeun kim Date: Wed, 15 Jan 2025 10:51:31 +0900 Subject: [PATCH 18/22] =?UTF-8?q?Chore/#38:=20banner=20=EC=8A=A4=ED=86=A0?= =?UTF-8?q?=EB=A6=AC=EB=B6=81=20title=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/community/components/banner/Banner.stories.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/community/components/banner/Banner.stories.tsx b/src/pages/community/components/banner/Banner.stories.tsx index 31f504bd..d5e158d8 100644 --- a/src/pages/community/components/banner/Banner.stories.tsx +++ b/src/pages/community/components/banner/Banner.stories.tsx @@ -3,7 +3,7 @@ import type { Meta, StoryObj } from '@storybook/react'; import Banner from './Banner'; const meta: Meta = { - title: 'Components/Banner', + title: 'Components/Community Banner', component: Banner, parameters: { layout: 'fullscreen', From d0e233e5037b9b8d6e8bcf732fc147c085a7e739 Mon Sep 17 00:00:00 2001 From: goeun kim Date: Wed, 15 Jan 2025 15:55:10 +0900 Subject: [PATCH 19/22] =?UTF-8?q?Fix/#38:=20=EC=83=9D=EC=84=B1=EB=82=A0?= =?UTF-8?q?=EC=A7=9C=20=ED=83=80=EC=9E=85=20=EB=B3=80=EA=B2=BD=20=EB=B0=98?= =?UTF-8?q?=EC=98=81=20=EB=B0=8F=20=EB=93=9C=EB=A1=AD=EB=8B=A4=EC=9A=B4=20?= =?UTF-8?q?=EB=B0=A9=ED=96=A5=20=EB=B6=84=EA=B8=B0=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/dropdown/DropDown.stories.tsx | 2 +- .../common/dropdown/DropDown.styled.ts | 4 +-- src/components/common/dropdown/DropDown.tsx | 5 ++-- src/pages/community/Community.stories.tsx | 1 - .../community/components/card/Card.stories.ts | 12 ++++---- .../community/components/card/Card.styled.ts | 2 +- src/pages/community/components/card/Card.tsx | 2 +- src/pages/community/mocks/index.ts | 28 ++++++++++++++----- 8 files changed, 35 insertions(+), 21 deletions(-) diff --git a/src/components/common/dropdown/DropDown.stories.tsx b/src/components/common/dropdown/DropDown.stories.tsx index 50ed33c9..2d5389a7 100644 --- a/src/components/common/dropdown/DropDown.stories.tsx +++ b/src/components/common/dropdown/DropDown.stories.tsx @@ -107,7 +107,7 @@ export const TopList = DropDownTemplate.bind({}); TopList.args = { children: ( <> - + { alert('첫번째 클릭!'); diff --git a/src/components/common/dropdown/DropDown.styled.ts b/src/components/common/dropdown/DropDown.styled.ts index f04daa3b..e9cb32af 100644 --- a/src/components/common/dropdown/DropDown.styled.ts +++ b/src/components/common/dropdown/DropDown.styled.ts @@ -32,9 +32,9 @@ export const DropDownToggleBtn = styled.button<{ $isOpen: boolean }>` } `; -export const DropDownWrapper = styled.ul` +export const DropDownWrapper = styled.ul<{ $display: 'top' | 'bottom' }>` position: absolute; - top: 4.5rem; + ${({ $display }) => $display}: 4.5rem; z-index: 1; width: min-content; diff --git a/src/components/common/dropdown/DropDown.tsx b/src/components/common/dropdown/DropDown.tsx index 746bbe39..7e903ab8 100644 --- a/src/components/common/dropdown/DropDown.tsx +++ b/src/components/common/dropdown/DropDown.tsx @@ -45,12 +45,13 @@ const ToggleBtn = ({ children }: { children: ReactNode }) => { ); }; -const Content = ({ children }: { children: ReactNode }) => { +// $diplay: 'bottom'의 경우, 드롭다운이 위로 펼쳐지는 경우 입니다. +const Content = ({ children, $display = 'top' }: { children: ReactNode; $display?: 'top' | 'bottom' }) => { const { isOpen } = useComponentContext(DropDownContext, 'DropDown'); if (!isOpen) return null; - return {children}; + return {children}; }; const Item = ({ status, onClick, children }: DropDownItemPropType) => { diff --git a/src/pages/community/Community.stories.tsx b/src/pages/community/Community.stories.tsx index bd20befa..5a353e48 100644 --- a/src/pages/community/Community.stories.tsx +++ b/src/pages/community/Community.stories.tsx @@ -22,7 +22,6 @@ const meta: Meta = { ), ], - tags: ['autodocs'], }; export default meta; diff --git a/src/pages/community/components/card/Card.stories.ts b/src/pages/community/components/card/Card.stories.ts index a5f8a6e4..79944661 100644 --- a/src/pages/community/components/card/Card.stories.ts +++ b/src/pages/community/components/card/Card.stories.ts @@ -27,7 +27,7 @@ export const NoImages: Story = { content: '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', images: [], - updatedAt: '2024.12.21', + updatedAt: '2024-12-21', nickName: '내이름은고은', commentCount: 63, }, @@ -45,7 +45,7 @@ export const OneImage: Story = { title: 'PM 일 잘 해요', content: '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', images: ['https://placehold.co/600x400'], - updatedAt: '2024.12.21', + updatedAt: '2024-12-21', nickName: '내이름은고은', commentCount: 63, }, @@ -63,7 +63,7 @@ export const TwoImages: Story = { title: 'PM 일 잘 해요', content: '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', images: ['https://placehold.co/600x400', 'https://placehold.co/600x400'], - updatedAt: '2024.12.21', + updatedAt: '2024-12-21', nickName: '내이름은고은', commentCount: 63, }, @@ -81,7 +81,7 @@ export const ThreeImages: Story = { title: 'PM 일 잘 해요', content: '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', images: ['https://placehold.co/600x400', 'https://placehold.co/600x400', 'https://placehold.co/600x400'], - updatedAt: '2024.12.21', + updatedAt: '2024-12-21', nickName: '내이름은고은', commentCount: 63, }, @@ -105,7 +105,7 @@ export const FourImages: Story = { 'https://placehold.co/600x400', 'https://placehold.co/600x400', ], - updatedAt: '2024.12.21', + updatedAt: '2024-12-21', nickName: '내이름은고은', commentCount: 63, }, @@ -130,7 +130,7 @@ export const FiveImages: Story = { 'https://placehold.co/600x400', 'https://placehold.co/600x400', ], - updatedAt: '2024.12.21', + updatedAt: '2024-12-21', nickName: '내이름은고은', commentCount: 63, }, diff --git a/src/pages/community/components/card/Card.styled.ts b/src/pages/community/components/card/Card.styled.ts index 27089bae..4ac5816f 100644 --- a/src/pages/community/components/card/Card.styled.ts +++ b/src/pages/community/components/card/Card.styled.ts @@ -64,7 +64,7 @@ export const CardTitleItem = styled.h1` word-break: break-word; `; -export const CardTextItem = styled.h1` +export const CardTextItem = styled.pre` ${({ theme }) => theme.fonts.caption_14_m}; color: ${({ theme }) => theme.colors.gray1}; white-space: normal; diff --git a/src/pages/community/components/card/Card.tsx b/src/pages/community/components/card/Card.tsx index d629d9be..c4a7f67b 100644 --- a/src/pages/community/components/card/Card.tsx +++ b/src/pages/community/components/card/Card.tsx @@ -61,7 +61,7 @@ const Card = ({ post }: CardDataProp) => { - + { alert('클릭!'); diff --git a/src/pages/community/mocks/index.ts b/src/pages/community/mocks/index.ts index 23acdc2e..db4fcd85 100644 --- a/src/pages/community/mocks/index.ts +++ b/src/pages/community/mocks/index.ts @@ -14,7 +14,7 @@ export const POST_DATA = [ 'https://placehold.co/600x400', 'https://placehold.co/600x400', ], - updatedAt: '2024.12.21', + updatedAt: '2024-12-21', nickName: '내이름은고은', commentCount: 63, }, @@ -32,7 +32,7 @@ export const POST_DATA = [ 'https://placehold.co/600x400', 'https://placehold.co/600x400', ], - updatedAt: '2024.12.21', + updatedAt: '2024-12-21', nickName: '당신이름은용기', commentCount: 63, }, @@ -45,7 +45,7 @@ export const POST_DATA = [ content: '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', images: ['https://placehold.co/600x400', 'https://placehold.co/600x400', 'https://placehold.co/600x400'], - updatedAt: '2024.12.21', + updatedAt: '2024-12-21', nickName: '나는야쏘영', commentCount: 63, }, @@ -58,7 +58,7 @@ export const POST_DATA = [ content: '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', images: ['https://placehold.co/600x400', 'https://placehold.co/600x400'], - updatedAt: '2024.12.21', + updatedAt: '2024-12-21', nickName: '예스찬영', commentCount: 63, }, @@ -71,7 +71,7 @@ export const POST_DATA = [ content: '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', images: ['https://placehold.co/600x400'], - updatedAt: '2024.12.21', + updatedAt: '2024-12-21', nickName: '귀엽재영', commentCount: 63, }, @@ -81,11 +81,25 @@ export const POST_DATA = [ toolName: 'ChatGPT', toolLogo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/ChatGPT-Logo.svg/2048px-ChatGPT-Logo.svg.png', title: 'PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일', + content: `대박대박대박\n + 대박대박대박대박\n + 대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대`, + images: [], + updatedAt: '2024-12-21', + nickName: '미니미니치치', + commentCount: 63, + }, + { + boardId: 6, + toolId: 0, + toolName: 'ChatGPT', + toolLogo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/ChatGPT-Logo.svg/2048px-ChatGPT-Logo.svg.png', + title: 'PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일', content: '대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박', images: [], - updatedAt: '2024.12.21', - nickName: '미니미니치치', + updatedAt: '2024-12-21', + nickName: '안녕난또이야', commentCount: 63, }, ]; From ae22350149da063fda096579b35f12c218d54af4 Mon Sep 17 00:00:00 2001 From: goeun kim Date: Wed, 15 Jan 2025 16:07:35 +0900 Subject: [PATCH 20/22] =?UTF-8?q?Fix/#38:=20=EB=AF=B8=EB=A6=AC=EB=B3=B4?= =?UTF-8?q?=EA=B8=B0=20=ED=85=8D=EC=8A=A4=ED=8A=B8=20=ED=8F=AC=EB=A9=A7?= =?UTF-8?q?=ED=8C=85=20css=20=EB=A1=9C=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/community/components/card/Card.styled.ts | 11 ++++++++++- src/pages/community/components/card/Card.tsx | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/pages/community/components/card/Card.styled.ts b/src/pages/community/components/card/Card.styled.ts index 4ac5816f..b8b8562b 100644 --- a/src/pages/community/components/card/Card.styled.ts +++ b/src/pages/community/components/card/Card.styled.ts @@ -64,10 +64,18 @@ export const CardTitleItem = styled.h1` word-break: break-word; `; -export const CardTextItem = styled.pre` +export const CardTextItem = styled.pre<{ $isImgInclude: boolean }>` + display: -webkit-box; + width: 100%; + overflow: hidden; + ${({ theme }) => theme.fonts.caption_14_m}; color: ${({ theme }) => theme.colors.gray1}; white-space: normal; + text-overflow: ellipsis; + -webkit-line-clamp: ${({ $isImgInclude }) => ($isImgInclude ? 2 : 4)}; + -webkit-box-orient: vertical; + word-wrap: break-word; word-break: break-word; `; @@ -109,6 +117,7 @@ export const ImageGrid = styled.div<{ $imageCount: number }>` }}; gap: 0.8rem; width: 100%; + margin-top: 0.6rem; ${({ $imageCount }) => $imageCount === 5 && diff --git a/src/pages/community/components/card/Card.tsx b/src/pages/community/components/card/Card.tsx index c4a7f67b..17c78444 100644 --- a/src/pages/community/components/card/Card.tsx +++ b/src/pages/community/components/card/Card.tsx @@ -42,7 +42,7 @@ const Card = ({ post }: CardDataProp) => { {title} - {formatContent(content, images.length)} + = 1}>{formatContent(content, images.length)} {images.map((image, i) => ( {`Post-card-img-${i}`} From f7611de22f3bf853195ea0c58b7aefda7d3e99a6 Mon Sep 17 00:00:00 2001 From: goeun kim Date: Wed, 15 Jan 2025 16:15:19 +0900 Subject: [PATCH 21/22] =?UTF-8?q?Fix/#38:=20=EC=95=88=EC=A0=95=EC=84=B1?= =?UTF-8?q?=EC=9D=84=20=EC=9C=84=ED=95=9C=20:nth-of-type=20=EA=B5=90?= =?UTF-8?q?=EC=B2=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/community/components/card/Card.styled.ts | 12 +++++++----- src/pages/community/mocks/index.ts | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/pages/community/components/card/Card.styled.ts b/src/pages/community/components/card/Card.styled.ts index b8b8562b..d1c265a2 100644 --- a/src/pages/community/components/card/Card.styled.ts +++ b/src/pages/community/components/card/Card.styled.ts @@ -71,7 +71,7 @@ export const CardTextItem = styled.pre<{ $isImgInclude: boolean }>` ${({ theme }) => theme.fonts.caption_14_m}; color: ${({ theme }) => theme.colors.gray1}; - white-space: normal; + white-space: pre-wrap; text-overflow: ellipsis; -webkit-line-clamp: ${({ $isImgInclude }) => ($isImgInclude ? 2 : 4)}; -webkit-box-orient: vertical; @@ -127,22 +127,22 @@ export const ImageGrid = styled.div<{ $imageCount: number }>` grid-row: 1 / 2; } - & > *:nth-child(2) { + & > *:nth-of-type(2) { grid-column: 4 / 7; grid-row: 1 / 2; } - & > *:nth-child(3) { + & > *:nth-of-type(3) { grid-column: 1 / 3; grid-row: 2 / 3; } - & > *:nth-child(4) { + & > *:nth-of-type(4) { grid-column: 3 / 5; grid-row: 2 / 3; } - & > *:nth-child(5) { + & > *:nth-of-type(5) { grid-column: 5 / 7; grid-row: 2 / 3; } @@ -150,5 +150,7 @@ export const ImageGrid = styled.div<{ $imageCount: number }>` img { width: 100%; + + border-radius: 0.8rem; } `; diff --git a/src/pages/community/mocks/index.ts b/src/pages/community/mocks/index.ts index db4fcd85..deaefd0d 100644 --- a/src/pages/community/mocks/index.ts +++ b/src/pages/community/mocks/index.ts @@ -81,8 +81,8 @@ export const POST_DATA = [ toolName: 'ChatGPT', toolLogo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/ChatGPT-Logo.svg/2048px-ChatGPT-Logo.svg.png', title: 'PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일 잘 해요PM 일', - content: `대박대박대박\n - 대박대박대박대박\n + content: `대박대박대박 + 대박대박대박대박 대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대박대`, images: [], updatedAt: '2024-12-21', From c330d52e04df0a4ef922dcbda82da6ee0434981c Mon Sep 17 00:00:00 2001 From: goeun kim Date: Wed, 15 Jan 2025 16:55:14 +0900 Subject: [PATCH 22/22] =?UTF-8?q?Feat/#38:=20=EB=93=9C=EB=A1=AD=EB=8B=A4?= =?UTF-8?q?=EC=9A=B4=20=EC=82=AD=EC=A0=9C=EC=8B=9C=20=EB=AA=A8=EB=8B=AC=20?= =?UTF-8?q?popup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/modal/AlertModal.tsx | 6 ++--- .../common/modal/component/ModalWrapper.tsx | 8 +++--- src/pages/community/components/card/Card.tsx | 26 ++++++++++++++----- src/pages/community/hooks/.keep | 0 src/pages/community/hooks/index.ts | 3 +++ src/pages/community/hooks/useModal.ts | 21 +++++++++++++++ 6 files changed, 51 insertions(+), 13 deletions(-) delete mode 100644 src/pages/community/hooks/.keep create mode 100644 src/pages/community/hooks/index.ts create mode 100644 src/pages/community/hooks/useModal.ts diff --git a/src/components/common/modal/AlertModal.tsx b/src/components/common/modal/AlertModal.tsx index 030173cc..f75490c6 100644 --- a/src/components/common/modal/AlertModal.tsx +++ b/src/components/common/modal/AlertModal.tsx @@ -10,10 +10,10 @@ interface AlertModalProps { ImgPopupModal: FunctionComponent>; isSingleModal: boolean; - singleBtnContent: string; + singleBtnContent?: string; - modalContent: string; - DobblebtnProps: { + modalContent?: string; + DobblebtnProps?: { isPrimaryRight: boolean; primaryBtnContent: string; secondaryBtnContent: string; diff --git a/src/components/common/modal/component/ModalWrapper.tsx b/src/components/common/modal/component/ModalWrapper.tsx index 741cc7db..a2e8e24c 100644 --- a/src/components/common/modal/component/ModalWrapper.tsx +++ b/src/components/common/modal/component/ModalWrapper.tsx @@ -24,13 +24,15 @@ export default ModalWrapper; const S = { ModalWrapper: styled.dialog` + position: fixed; top: 0; + left: 0; z-index: 999; display: flex; align-items: center; justify-content: center; - width: 100vw; - height: 100vh; + width: 100%; + height: 100%; padding-top: 3.1rem; overflow: auto; @@ -44,7 +46,7 @@ const S = { align-items: center; justify-content: flex-end; width: 40rem; - height: auto; + margin: auto; padding: ${({ $isSingleModal }) => ($isSingleModal ? '4.4rem 4.8rem 2.8rem 4.8rem' : '3.1rem 0 0 0')}; background: ${({ theme }) => theme.colors.white1}; diff --git a/src/pages/community/components/card/Card.tsx b/src/pages/community/components/card/Card.tsx index 17c78444..0a27aba6 100644 --- a/src/pages/community/components/card/Card.tsx +++ b/src/pages/community/components/card/Card.tsx @@ -1,7 +1,9 @@ -import { IcCommentGray24, IcBookmark, IcOverflowGray44 } from '@assets/svgs'; +import { IcCommentGray24, IcBookmark, IcOverflowGray44, ImgModalexit } from '@assets/svgs'; import SquareButton from '@components/button/squareButton/SquareButton'; import Chip from '@components/chip/Chip'; import DropDown from '@components/dropdown/DropDown'; +import { AlterModal } from '@components/modal'; +import { useModal } from '@pages/community/hooks'; import { formatContent } from '@pages/community/utils'; import * as S from './Card.styled'; @@ -24,6 +26,8 @@ interface CardDataProp { const Card = ({ post }: CardDataProp) => { const { toolName, toolLogo, title, content, images, updatedAt, nickName, commentCount } = post; + const { isOpen, handleModalOpen, handleModalClose } = useModal(); + return ( @@ -69,18 +73,26 @@ const Card = ({ post }: CardDataProp) => { > 수정하기 - { - alert('클릭!'); - }} - > + 삭제하기
+
); }; diff --git a/src/pages/community/hooks/.keep b/src/pages/community/hooks/.keep deleted file mode 100644 index e69de29b..00000000 diff --git a/src/pages/community/hooks/index.ts b/src/pages/community/hooks/index.ts new file mode 100644 index 00000000..94a1b81c --- /dev/null +++ b/src/pages/community/hooks/index.ts @@ -0,0 +1,3 @@ +import useModal from './useModal'; + +export { useModal }; diff --git a/src/pages/community/hooks/useModal.ts b/src/pages/community/hooks/useModal.ts new file mode 100644 index 00000000..cb77cd95 --- /dev/null +++ b/src/pages/community/hooks/useModal.ts @@ -0,0 +1,21 @@ +import { useState } from 'react'; + +const useModal = () => { + const [isOpen, setIsOpen] = useState(false); + + const handleModalOpen = () => { + setIsOpen(true); + }; + + const handleModalClose = () => { + setIsOpen(false); + }; + + return { + isOpen, + handleModalOpen, + handleModalClose, + }; +}; + +export default useModal;