From 8374227cb7b824a399ea8abac24c390fca519c4f Mon Sep 17 00:00:00 2001 From: Lee sang Yeop Date: Sat, 23 Dec 2023 21:03:48 +0900 Subject: [PATCH 1/9] =?UTF-8?q?feat(Icon):=20=EC=95=84=EC=9D=B4=EC=BD=98?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80=20=EC=96=B4=ED=95=99=EA=B3=BC=20=EC=B1=84?= =?UTF-8?q?=EC=9A=A9=20=EA=B3=B5=EC=A7=80=20UI=20=EC=97=90=20=ED=95=84?= =?UTF-8?q?=EC=9A=94=ED=95=9C=20=EC=95=84=EC=9D=B4=EC=BD=98=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/@types/styles/icon.ts | 4 +++- src/components/Common/Icon/index.tsx | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/@types/styles/icon.ts b/src/@types/styles/icon.ts index f6c4c757..364cad69 100644 --- a/src/@types/styles/icon.ts +++ b/src/@types/styles/icon.ts @@ -25,4 +25,6 @@ export type IconKind = | 'checkedRadio' | 'uncheckedRadio' | 'location' - | 'warning'; + | 'warning' + | 'account' + | 'language'; diff --git a/src/components/Common/Icon/index.tsx b/src/components/Common/Icon/index.tsx index 8e54dcd8..06c0a05e 100644 --- a/src/components/Common/Icon/index.tsx +++ b/src/components/Common/Icon/index.tsx @@ -28,6 +28,8 @@ import { MdOutlineError, MdOutlineKeyboardArrowRight, MdOutlineKeyboardArrowDown, + MdAssignmentInd, + MdLanguage, } from 'react-icons/md'; const ICON: { [key in IconKind]: IconType } = { @@ -58,6 +60,8 @@ const ICON: { [key in IconKind]: IconType } = { checkedRadio: MdRadioButtonChecked, location: MdOutlineMyLocation, warning: MdOutlineError, + account: MdAssignmentInd, + language: MdLanguage, }; interface IconProps { From 6a7eb68b5909292bf533c99a6548ddf0b3686acd Mon Sep 17 00:00:00 2001 From: Lee sang Yeop Date: Sat, 23 Dec 2023 21:04:46 +0900 Subject: [PATCH 2/9] =?UTF-8?q?style(theme):=20=EC=96=B4=EB=91=90=EC=9A=B4?= =?UTF-8?q?=20=EA=B2=80=EC=9D=80=EC=83=89=20=EC=B6=94=EA=B0=80=20=EB=B0=8F?= =?UTF-8?q?=20=EA=B8=B0=EB=B3=B8=20=EC=83=89=EC=83=81=20=EB=B3=80=EA=B2=BD?= =?UTF-8?q?=20Primary=20color=20=EB=A5=BC=20=EC=A1=B0=EA=B8=88=20=EB=8D=94?= =?UTF-8?q?=20=EC=A7=84=ED=95=9C=20=ED=8C=8C=EB=9E=80=EC=83=89=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/styles/ThemeProvider/theme.ts | 5 +++-- src/styles/emotion.d.ts | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/styles/ThemeProvider/theme.ts b/src/styles/ThemeProvider/theme.ts index e8f6f8fd..24226f17 100644 --- a/src/styles/ThemeProvider/theme.ts +++ b/src/styles/ThemeProvider/theme.ts @@ -5,14 +5,15 @@ export const THEME: Theme = { TEXT: { BLACK: '#000000', + SEMIBLACK: '#444444', GRAY: '#808080', WHITE: '#FFFFFF', }, - PRIMARY: '#95B1DC', + PRIMARY: '#7A9DD3', BUTTON: { - BLUE: '#95B1DC', + BLUE: '#7A9DD3', GRAY: '#E7E7E7', }, diff --git a/src/styles/emotion.d.ts b/src/styles/emotion.d.ts index 1e36703d..faaddaeb 100644 --- a/src/styles/emotion.d.ts +++ b/src/styles/emotion.d.ts @@ -5,6 +5,7 @@ declare module '@emotion/react' { BACKGROUND: string; // EAEAEA TEXT: { BLACK: string; + SEMIBLACK: string; GRAY: string; WHITE: string; }; From 28ffd7141f247fb9e027f56045daf95c6035540b Mon Sep 17 00:00:00 2001 From: Lee sang Yeop Date: Sat, 23 Dec 2023 21:32:32 +0900 Subject: [PATCH 3/9] =?UTF-8?q?feat(InformHalfCardList):=20=ED=99=88=20?= =?UTF-8?q?=ED=99=94=EB=A9=B4=EC=97=90=20=EC=B6=94=EA=B0=80=EB=90=A0=20hal?= =?UTF-8?q?f=20card=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Home/components/InformHalfCardList.tsx | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/pages/Home/components/InformHalfCardList.tsx diff --git a/src/pages/Home/components/InformHalfCardList.tsx b/src/pages/Home/components/InformHalfCardList.tsx new file mode 100644 index 00000000..77bfa150 --- /dev/null +++ b/src/pages/Home/components/InformHalfCardList.tsx @@ -0,0 +1,64 @@ +import Icon from '@components/Common/Icon'; +import styled from '@emotion/styled'; +import useRouter from '@hooks/useRouter'; +import { THEME } from '@styles/ThemeProvider/theme'; +import { IconKind } from '@type/styles/icon'; + +interface InformHalfCardListProps { + iconKind: IconKind; + title: string; + subTitle: string; + link: string; +} + +const InformHalfCardList = ({ + iconKind, + title, + subTitle, + link, +}: InformHalfCardListProps) => { + const { routerTo } = useRouter(); + + return ( + routerTo(link)}> + + + {subTitle} + {title} + + + ); +}; + +export default InformHalfCardList; + +const Container = styled.div` + display: flex; + align-items: center; + justify-content: space-between; + width: 39%; + background-color: ${THEME.IVORY}; + padding: 3% 5% 3% 4%; + border-radius: 15px; + box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; + height: 55px; +`; + +const TitleWrapper = styled.div` + display: flex; + flex-direction: column; + padding-left: 7px; +`; + +const Title = styled.h2` + font-size: 16px; + font-weight: bold; +`; + +const SubTitle = styled.h3` + color: ${THEME.TEXT.SEMIBLACK}; + display: flex; + justify-content: flex-end; + font-size: 13px; + padding-bottom: 6px; +`; From 798e03be657c07e5ab8f5177555975b7f55ecff9 Mon Sep 17 00:00:00 2001 From: Lee sang Yeop Date: Sat, 23 Dec 2023 21:34:12 +0900 Subject: [PATCH 4/9] =?UTF-8?q?feat(pages/Home):=20=ED=99=88=20=ED=99=94?= =?UTF-8?q?=EB=A9=B4=EC=97=90=20HalfCard=20=EC=BB=B4=ED=8F=AC=EB=84=8C?= =?UTF-8?q?=ED=8A=B8=20=EC=B6=94=EA=B0=80=20=ED=95=B4=EB=8B=B9=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=EC=97=90=20=EC=B7=A8=EC=97=85=20?= =?UTF-8?q?=EA=B8=B8=EB=9D=BC=EC=9E=A1=EC=9D=B4,=20=EC=96=B4=ED=95=99=20?= =?UTF-8?q?=EA=B3=B5=EC=A7=80=EC=82=AC=ED=95=AD=20=EC=B9=B4=EB=93=9C=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/Home/index.tsx | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/pages/Home/index.tsx b/src/pages/Home/index.tsx index 5bbe61b6..1846f20f 100644 --- a/src/pages/Home/index.tsx +++ b/src/pages/Home/index.tsx @@ -1,5 +1,6 @@ import Carousel from '@components/Carousel'; import styled from '@emotion/styled'; +import InformHalfCardList from '@pages/Home/components/InformHalfCardList'; import { THEME } from '@styles/ThemeProvider/theme'; import InformCardList from './components/InformCardList'; @@ -11,6 +12,20 @@ const Home = () => { 학교 + + + + 비교과 @@ -38,6 +53,12 @@ const InformCardWrapper = styled.div` box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; `; +const HalfCardWrapper = styled.div` + display: flex; + justify-content: space-between; + margin-top: 5%; +`; + const InformTitle = styled.div` font-size: 20px; font-weight: bold; From 86d69347227bbe9c3f56928c7b8ac0a992c386bd Mon Sep 17 00:00:00 2001 From: Lee sang Yeop Date: Sat, 23 Dec 2023 21:35:22 +0900 Subject: [PATCH 5/9] =?UTF-8?q?fix(tip):=20readonly=20=ED=83=80=EC=9E=85?= =?UTF-8?q?=20=EC=A0=9C=EA=B1=B0=20=ED=95=B4=EB=8B=B9=20=EC=83=81=EC=88=98?= =?UTF-8?q?=EA=B0=92=EC=9D=B4=20=EB=8B=A4=EB=A5=B8=20=EB=B3=80=EC=88=98?= =?UTF-8?q?=EC=97=90=20=EC=9E=AC=ED=95=A0=EB=8B=B9=EB=90=98=EC=96=B4=20?= =?UTF-8?q?=ED=83=80=EC=9E=85=20=EC=97=90=EB=9F=AC=EA=B0=80=20=EB=B0=9C?= =?UTF-8?q?=EC=83=9D=ED=95=98=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0=EC=9D=84=20=EC=9C=84=ED=95=B4=20readonly=20=ED=83=80?= =?UTF-8?q?=EC=9E=85=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/constants/tip.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/constants/tip.ts b/src/constants/tip.ts index 190518ec..f0d76de2 100644 --- a/src/constants/tip.ts +++ b/src/constants/tip.ts @@ -6,7 +6,7 @@ export interface TipData { link: string; } -export const SHORTCUT_DATA: readonly TipData[] = [ +export const SHORTCUT_DATA: TipData[] = [ { title: '부경대학교', subTitle: '부경대학교\n홈페이지로 이동', @@ -58,7 +58,7 @@ export const SHORTCUT_DATA: readonly TipData[] = [ }, ] as const; -export const HONEY_TIP_DATA: readonly TipData[] = [ +export const HONEY_TIP_DATA: TipData[] = [ { title: '아우란트검사', subTitle: '인성·역량·취업준비도\n·진로적성검사', From 3d3b677e428fad36a5bdbaa7288b4ea9a58aba11 Mon Sep 17 00:00:00 2001 From: Lee sang Yeop Date: Sat, 23 Dec 2023 21:37:30 +0900 Subject: [PATCH 6/9] =?UTF-8?q?feat(constants/announcement,=20InformSearch?= =?UTF-8?q?Form):=20=EC=96=B4=ED=95=99,=20=EC=B1=84=EC=9A=A9=EC=9D=84=20?= =?UTF-8?q?=EC=83=81=EC=88=98=EC=97=90=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/InformUpperLayout/InformSearchForm.tsx | 2 +- src/constants/announcement.ts | 4 ++++ src/constants/path.ts | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/components/InformUpperLayout/InformSearchForm.tsx b/src/components/InformUpperLayout/InformSearchForm.tsx index 6fdf920a..4f71707b 100644 --- a/src/components/InformUpperLayout/InformSearchForm.tsx +++ b/src/components/InformUpperLayout/InformSearchForm.tsx @@ -8,7 +8,7 @@ import useToasts from '@hooks/useToast'; import React, { useRef } from 'react'; interface InformSearchForm { - category: 'school' | 'major'; + category: 'school' | 'major' | 'language' | 'recruit'; } const InformSearchForm = ({ category }: InformSearchForm) => { diff --git a/src/constants/announcement.ts b/src/constants/announcement.ts index 0b8e547a..7559ee43 100644 --- a/src/constants/announcement.ts +++ b/src/constants/announcement.ts @@ -1,11 +1,15 @@ export const ANNOUNCEMENT_TITLE = { SCHOOL: '학교 공지사항', MAROR: '학과 공지사항', + LANGUAGE: '어학 공지사항', + RECRUIT: '채용 공지사항', }; export const ANNOUNCEMENT_CATEGORY = { SCHOOL: 'school', MAJOR: 'major', + LANGUAGE: 'language', + RECRUIT: 'recruit', } as const; export const ANNOUNCEMENT_TYPE = { diff --git a/src/constants/path.ts b/src/constants/path.ts index eb5fa20b..acef2cbf 100644 --- a/src/constants/path.ts +++ b/src/constants/path.ts @@ -1,8 +1,10 @@ -type Category = 'school' | 'major'; +type Category = 'school' | 'major' | 'language' | 'recruit'; const PATH = { SCHOOL_ANNOUNCEMENT: '/school/:type', MAJOR_ANNOUNCEMENT: '/major/:type', + LANGUAGE_ANNOUNCEMENT: '/language/:type', + RECRUIT_ANNOUNCEMENT: '/recruit/:type', NORMAL_ANNOUNCEMENT: (category: Category) => `/announcement/${category}/normal`, PINNED_ANNOUNCEMENT: (category: Category) => From 4a006e90437da679874f042f28b975566d9f17e8 Mon Sep 17 00:00:00 2001 From: Lee sang Yeop Date: Sat, 23 Dec 2023 21:39:45 +0900 Subject: [PATCH 7/9] =?UTF-8?q?fix(suspense/fetch-announce-list):=20?= =?UTF-8?q?=EC=84=9C=EB=B2=84=EC=97=90=20=EC=9A=94=EC=B2=AD=ED=95=A0=20?= =?UTF-8?q?=EC=97=94=EB=93=9C=ED=8F=AC=EC=9D=B8=ED=8A=B8=20=EB=AC=B8?= =?UTF-8?q?=EC=9E=90=EC=97=B4=EC=9D=84=20=EC=A7=81=EC=A0=91=20=EB=A7=A4?= =?UTF-8?q?=EA=B0=9C=EB=B3=80=EC=88=98=EB=A1=9C=20=EB=B0=9B=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EB=B3=80=EA=B2=BD=20=EA=B8=B0=EC=A1=B4=EC=97=90?= =?UTF-8?q?=EB=8A=94=20=ED=95=99=EA=B3=BC=EA=B0=80=20=EC=9E=88=EB=8A=94?= =?UTF-8?q?=EC=A7=80=20=EC=97=86=EB=8A=94=EC=A7=80=EC=97=90=20=EB=8C=80?= =?UTF-8?q?=ED=95=9C=20=EA=B0=92=EC=9D=84=20=EB=A7=A4=EA=B0=9C=EB=B3=80?= =?UTF-8?q?=EC=88=98=EB=A1=9C=20=EB=B0=9B=EC=95=98=EC=A7=80=EB=A7=8C=20?= =?UTF-8?q?=ED=99=95=EC=9E=A5=EC=84=B1=EC=9D=84=20=EC=9C=84=ED=95=B4=20?= =?UTF-8?q?=EC=97=94=EB=93=9C=ED=8F=AC=EC=9D=B8=ED=8A=B8=EB=A5=BC=20?= =?UTF-8?q?=EC=A7=81=EC=A0=91=20=EB=B0=9B=EC=95=84=EC=84=9C=20=EC=9A=94?= =?UTF-8?q?=EC=B2=AD=ED=95=98=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/apis/Suspense/fetch-announce-list.ts | 5 ++--- src/pages/Announcement/components/AnnounceContainer.tsx | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/apis/Suspense/fetch-announce-list.ts b/src/apis/Suspense/fetch-announce-list.ts index 3a2ec00e..d7a8f4a7 100644 --- a/src/apis/Suspense/fetch-announce-list.ts +++ b/src/apis/Suspense/fetch-announce-list.ts @@ -1,12 +1,11 @@ -import Major from '@type/major'; import { AxiosResponse } from 'axios'; import wrapPromise from './wrap-promise'; import http from '../http'; -const fetchAnnounceList = (major: Major) => { +const fetchAnnounceList = (endPoint: string) => { const promise: Promise> = http - .get(major ? `/api/announcement?major=${major}` : `/api/announcement`) + .get(`/api/announcement` + endPoint) .then((res) => res.data); return wrapPromise(promise); diff --git a/src/pages/Announcement/components/AnnounceContainer.tsx b/src/pages/Announcement/components/AnnounceContainer.tsx index 426787f1..dea39550 100644 --- a/src/pages/Announcement/components/AnnounceContainer.tsx +++ b/src/pages/Announcement/components/AnnounceContainer.tsx @@ -19,7 +19,7 @@ import { useParams } from 'react-router-dom'; interface AnnounceContainerProps { title: string; category: AnnouncementCategory; - endPoint: string | null; + endPoint: string; } const AnnounceContainer = ({ From 0b329850d2b021cf099887690f2af93fe50b3944 Mon Sep 17 00:00:00 2001 From: Lee sang Yeop Date: Sat, 23 Dec 2023 21:41:08 +0900 Subject: [PATCH 8/9] =?UTF-8?q?feat(Announcement):=20=EC=96=B4=ED=95=99=20?= =?UTF-8?q?=EA=B3=B5=EC=A7=80=EC=82=AC=ED=95=AD=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=EB=A5=BC=20=EB=9D=BC=EC=9A=B0=ED=8C=85=20=EA=B2=BD?= =?UTF-8?q?=EB=A1=9C=EC=97=90=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/Announcement/index.tsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/pages/Announcement/index.tsx b/src/pages/Announcement/index.tsx index 4044c138..1bc072b1 100644 --- a/src/pages/Announcement/index.tsx +++ b/src/pages/Announcement/index.tsx @@ -30,7 +30,17 @@ const Announcement = () => { + } + /> + } /> From 8ba3282dcf14560bc50ec19df1b42afc48c1518f Mon Sep 17 00:00:00 2001 From: Lee sang Yeop Date: Thu, 28 Dec 2023 15:23:29 +0900 Subject: [PATCH 9/9] =?UTF-8?q?refactor(InformHalfCard):=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=9D=B4=EB=A6=84=EC=9D=84=20Inf?= =?UTF-8?q?ormHalfCardList=20->=20InformHalfCard=20=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{InformHalfCardList.tsx => InformHalfCard.tsx} | 8 ++++---- src/pages/Home/index.tsx | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) rename src/pages/Home/components/{InformHalfCardList.tsx => InformHalfCard.tsx} (90%) diff --git a/src/pages/Home/components/InformHalfCardList.tsx b/src/pages/Home/components/InformHalfCard.tsx similarity index 90% rename from src/pages/Home/components/InformHalfCardList.tsx rename to src/pages/Home/components/InformHalfCard.tsx index 77bfa150..76b59243 100644 --- a/src/pages/Home/components/InformHalfCardList.tsx +++ b/src/pages/Home/components/InformHalfCard.tsx @@ -4,19 +4,19 @@ import useRouter from '@hooks/useRouter'; import { THEME } from '@styles/ThemeProvider/theme'; import { IconKind } from '@type/styles/icon'; -interface InformHalfCardListProps { +interface InformHalfCardProps { iconKind: IconKind; title: string; subTitle: string; link: string; } -const InformHalfCardList = ({ +const InformHalfCard = ({ iconKind, title, subTitle, link, -}: InformHalfCardListProps) => { +}: InformHalfCardProps) => { const { routerTo } = useRouter(); return ( @@ -30,7 +30,7 @@ const InformHalfCardList = ({ ); }; -export default InformHalfCardList; +export default InformHalfCard; const Container = styled.div` display: flex; diff --git a/src/pages/Home/index.tsx b/src/pages/Home/index.tsx index 1846f20f..ac3e3ee7 100644 --- a/src/pages/Home/index.tsx +++ b/src/pages/Home/index.tsx @@ -1,6 +1,6 @@ import Carousel from '@components/Carousel'; import styled from '@emotion/styled'; -import InformHalfCardList from '@pages/Home/components/InformHalfCardList'; +import InformHalfCard from '@pages/Home/components/InformHalfCard'; import { THEME } from '@styles/ThemeProvider/theme'; import InformCardList from './components/InformCardList'; @@ -12,20 +12,20 @@ const Home = () => { 학교 - - + - - + 비교과 @@ -53,7 +53,7 @@ const InformCardWrapper = styled.div` box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; `; -const HalfCardWrapper = styled.div` +const InformHalfCardList = styled.div` display: flex; justify-content: space-between; margin-top: 5%;