diff --git a/frontend/src/apis/auth.ts b/frontend/src/apis/auth.ts index 7941e2b7b..da3cdf0bb 100644 --- a/frontend/src/apis/auth.ts +++ b/frontend/src/apis/auth.ts @@ -1,27 +1,15 @@ import ApiClient from './apiClient'; export const kakaoOAuth = async (code: string) => { - const response = await ApiClient.postWithoutAuth('/auth/kakao/oauth', { + await ApiClient.postWithAuth('/auth/kakao', { code, }); - return response.json(); }; -export const appleOAuth = async ( - code: string, - memberId: string | null = null, -) => { - const response = await ApiClient.postWithoutAuth('/auth/apple/oauth', { - code, - memberId, - }); - return response.json(); -}; - export const googleOAuth = async ( idToken: string, memberId: string | null = null, ) => { - const response = await ApiClient.postWithoutAuth('/auth/google/oauth', { + const response = await ApiClient.postWithoutAuth('/auth/google', { idToken, memberId, }); diff --git a/frontend/src/apis/deletes.ts b/frontend/src/apis/deletes.ts index 635fe26c3..e3c5405ca 100644 --- a/frontend/src/apis/deletes.ts +++ b/frontend/src/apis/deletes.ts @@ -7,5 +7,5 @@ export const deleteCancelChamyo = async (moimId: number) => { }; export const deleteMyInfo = async () => { - await ApiClient.deleteWithLastDarakbangId(`/auth`); + await ApiClient.deleteWithAuth(`/auth`); }; diff --git a/frontend/src/apis/gets.ts b/frontend/src/apis/gets.ts index 1bd84bc67..1e016a47d 100644 --- a/frontend/src/apis/gets.ts +++ b/frontend/src/apis/gets.ts @@ -11,6 +11,7 @@ import { } from '@_types/index'; import { GetBet, + GetBetDetail, GetBets, GetChamyoAll, GetChamyoMine, @@ -233,6 +234,6 @@ export const getBetResult = async (betId: number) => { `/bet/${betId}/result`, ); - const json = await response.json(); + const json: GetBetDetail = await response.json(); return json.data.nickname; }; diff --git a/frontend/src/apis/responseTypes.ts b/frontend/src/apis/responseTypes.ts index 989e7afd8..06089085f 100644 --- a/frontend/src/apis/responseTypes.ts +++ b/frontend/src/apis/responseTypes.ts @@ -125,6 +125,12 @@ export interface GetBet { data: BetDetail; } +export interface GetBetDetail { + data: { + nickname: string; + }; +} + export interface PostBet { data: { betId: number; diff --git a/frontend/src/common/assets/apple_cirecle.svg b/frontend/src/common/assets/apple_cirecle.svg new file mode 100644 index 000000000..129960286 --- /dev/null +++ b/frontend/src/common/assets/apple_cirecle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/src/common/assets/fonts/DNFBitBitTTF.ttf b/frontend/src/common/assets/fonts/DNFBitBitTTF.ttf new file mode 100644 index 000000000..276c54824 Binary files /dev/null and b/frontend/src/common/assets/fonts/DNFBitBitTTF.ttf differ diff --git a/frontend/src/common/assets/fonts/PartialSansKR/PartialSansKR-Regular.otf b/frontend/src/common/assets/fonts/PartialSansKR/PartialSansKR-Regular.otf new file mode 100644 index 000000000..a51f1d7b9 Binary files /dev/null and b/frontend/src/common/assets/fonts/PartialSansKR/PartialSansKR-Regular.otf differ diff --git a/frontend/src/common/assets/fonts/PartialSansKR/PartialSansKR-Regular.woff2 b/frontend/src/common/assets/fonts/PartialSansKR/PartialSansKR-Regular.woff2 new file mode 100644 index 000000000..40937142b Binary files /dev/null and b/frontend/src/common/assets/fonts/PartialSansKR/PartialSansKR-Regular.woff2 differ diff --git a/frontend/src/common/assets/happy_logo.svg b/frontend/src/common/assets/happy_logo.svg new file mode 100644 index 000000000..42d9ad155 --- /dev/null +++ b/frontend/src/common/assets/happy_logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/frontend/src/common/assets/kakaoCircleOuathLogin.svg b/frontend/src/common/assets/kakaoCircleOuathLogin.svg new file mode 100644 index 000000000..253a1318c --- /dev/null +++ b/frontend/src/common/assets/kakaoCircleOuathLogin.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/frontend/src/common/assets/main_logo.svg b/frontend/src/common/assets/main_logo.svg new file mode 100644 index 000000000..c28fbe176 --- /dev/null +++ b/frontend/src/common/assets/main_logo.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/common/assets/missing_logo.svg b/frontend/src/common/assets/missing_logo.svg new file mode 100644 index 000000000..2823fd65f --- /dev/null +++ b/frontend/src/common/assets/missing_logo.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/common/font.style.ts b/frontend/src/common/font.style.ts index da9e13498..856984f6c 100644 --- a/frontend/src/common/font.style.ts +++ b/frontend/src/common/font.style.ts @@ -1,4 +1,6 @@ +import bitbit from './assets/fonts/DNFBitBitTTF.ttf'; import { css } from '@emotion/react'; +import partialSansKRRegular from './assets/fonts/PartialSansKR/PartialSansKR-Regular.woff2'; import pretendardBlackWoff2 from './assets/fonts/woff2-subset/Pretendard-Black.subset.woff2'; import pretendardBoldWoff2 from './assets/fonts/woff2-subset/Pretendard-Bold.subset.woff2'; import pretendardExtraBoldWoff2 from './assets/fonts/woff2-subset/Pretendard-ExtraBold.subset.woff2'; @@ -75,6 +77,18 @@ const fonts = css` font-display: swap; src: url(${pretendardThinWoff2}) format('woff2'); } + + @font-face { + font-family: PartialSansKR; + font-weight: 400; + font-display: swap; + src: url(${partialSansKRRegular}) format('woff2'); + } + + @font-face { + font-family: bitbit; + src: url(${bitbit}); + } `; export default fonts; diff --git a/frontend/src/common/getRoutes.ts b/frontend/src/common/getRoutes.ts index d084e7930..4405fde76 100644 --- a/frontend/src/common/getRoutes.ts +++ b/frontend/src/common/getRoutes.ts @@ -38,5 +38,15 @@ const GET_ROUTES = { getNowDarakbangRoute() + '/bet/' + betId + '/result', setting: () => getNowDarakbangRoute() + '/my-page/setting', }, + default: { + notFound: '/*', + main: '/', + home: '/home', + kakaoSelection: '/oauth-migration', + oAuthSelection: '/oauth-select', + resultMigration: '/oauth-migration', + oAuthGoogle: '/oauth', + oAuth: '/oauth/:provider', + }, }; export default GET_ROUTES; diff --git a/frontend/src/common/theme/theme.type.ts b/frontend/src/common/theme/theme.type.ts index c8823d499..02f48f236 100644 --- a/frontend/src/common/theme/theme.type.ts +++ b/frontend/src/common/theme/theme.type.ts @@ -40,6 +40,7 @@ export interface Typography { small: SerializedStyles; Tiny: SerializedStyles; tag: SerializedStyles; + partialSansKR: SerializedStyles; } export interface ColoredTypography { @@ -66,6 +67,7 @@ export interface ColoredTypography { small: (fontColor: string | SerializedStyles) => SerializedStyles; Tiny: (fontColor: string | SerializedStyles) => SerializedStyles; tag: (fontColor: string | SerializedStyles) => SerializedStyles; + partialSansKR: (fontColor: string | SerializedStyles) => SerializedStyles; } export interface Layout { default: SerializedStyles; diff --git a/frontend/src/common/theme/typography.ts b/frontend/src/common/theme/typography.ts index ce6ed78b8..a8cfd1b98 100644 --- a/frontend/src/common/theme/typography.ts +++ b/frontend/src/common/theme/typography.ts @@ -5,110 +5,110 @@ const typography: Typography = { h1: css` font-family: Pretendard; font-size: 4.8rem; - font-style: normal; font-weight: 700; + font-style: normal; line-height: 5.8rem; `, h2: css` font-family: Pretendard; font-size: 4rem; - font-style: normal; font-weight: 700; + font-style: normal; line-height: 4.8rem; `, h3: css` font-family: Pretendard; font-size: 3.2rem; - font-style: normal; font-weight: 700; + font-style: normal; line-height: 3.8rem; `, h4: css` font-family: Pretendard; font-size: 2.8rem; - font-style: normal; font-weight: 700; + font-style: normal; line-height: 3.4rem; `, h5: css` font-family: Pretendard; font-size: 2.4rem; - font-style: normal; font-weight: 700; + font-style: normal; line-height: 2.8rem; `, s1: css` font-family: Pretendard; font-size: 1.8rem; - font-style: normal; font-weight: 700; + font-style: normal; line-height: 2.8rem; `, s2: css` font-family: Pretendard; font-size: 1.6rem; - font-style: normal; font-weight: 700; + font-style: normal; line-height: 2.4rem; `, b1: css` font-family: Pretendard; font-size: 1.6rem; - font-style: normal; font-weight: 500; + font-style: normal; line-height: 2.4rem; `, b2: css` font-family: Pretendard; font-size: 1.6rem; - font-style: normal; font-weight: 400; + font-style: normal; line-height: 2.4rem; `, b3: css` font-family: Pretendard; font-size: 1.4rem; - font-style: normal; font-weight: 500; + font-style: normal; line-height: 2rem; `, b4: css` font-family: Pretendard; font-size: 1.4rem; - font-style: normal; font-weight: 400; + font-style: normal; line-height: 2rem; `, c1: css` font-family: Pretendard; font-size: 1.2rem; - font-style: normal; font-weight: 700; + font-style: normal; line-height: 1.6rem; `, c2: css` font-family: Pretendard; font-size: 1.2rem; - font-style: normal; font-weight: 400; + font-style: normal; line-height: 1.6rem; `, c3: css` font-family: Pretendard; font-size: 1rem; - font-style: normal; font-weight: 400; + font-style: normal; line-height: 1.4rem; `, label: css` font-family: Pretendard; font-size: 1.2rem; - font-style: normal; font-weight: 700; + font-style: normal; line-height: 1.6rem; text-transform: uppercase; `, @@ -116,62 +116,68 @@ const typography: Typography = { ButtonFont: css` font-family: Inter; font-size: 2.4rem; - font-style: normal; font-weight: 600; + font-style: normal; line-height: 2.8rem; `, Typeface: css` font-family: Inter; font-size: 1.6rem; - font-style: normal; font-weight: 400; + font-style: normal; line-height: 2.4rem; `, Giant: css` font-family: Pretendard; font-size: 1.8rem; - font-style: normal; font-weight: 700; + font-style: normal; line-height: 2.4rem; `, Large: css` font-family: Pretendard; font-size: 1.6rem; - font-style: normal; font-weight: 700; + font-style: normal; line-height: 2rem; `, Medium: css` font-family: Pretendard; font-size: 1.4rem; - font-style: normal; font-weight: 700; + font-style: normal; line-height: 1.6rem; `, small: css` font-family: Pretendard; font-size: 1.2rem; - font-style: normal; font-weight: 700; + font-style: normal; line-height: 1.6rem; `, Tiny: css` font-family: Pretendard; font-size: 1rem; - font-style: normal; font-weight: 800; + font-style: normal; line-height: 1.2rem; `, tag: css` font-family: Pretendard; font-size: 1.2rem; - font-style: normal; font-weight: 600; + font-style: normal; line-height: 130%; `, + partialSansKR: css` + font-family: PartialSansKR; + font-size: 2rem; + font-weight: 400; + font-style: normal; + `, }; export default typography; diff --git a/frontend/src/components/Button/BackArrowButton/BackArrowButton.tsx b/frontend/src/components/Button/BackArrowButton/BackArrowButton.tsx index 20dc47f98..01eae5844 100644 --- a/frontend/src/components/Button/BackArrowButton/BackArrowButton.tsx +++ b/frontend/src/components/Button/BackArrowButton/BackArrowButton.tsx @@ -9,7 +9,7 @@ export default function BackArrowButton(props: BackArrowButtonProps) { const { ...rest } = props; return ( - ); diff --git a/frontend/src/components/DarakbangNameWrapper/DarakbangNameWrapper.style.ts b/frontend/src/components/DarakbangNameWrapper/DarakbangNameWrapper.style.ts index 7c1802fe4..363d81ef9 100644 --- a/frontend/src/components/DarakbangNameWrapper/DarakbangNameWrapper.style.ts +++ b/frontend/src/components/DarakbangNameWrapper/DarakbangNameWrapper.style.ts @@ -2,10 +2,8 @@ import { SerializedStyles, css } from '@emotion/react'; export const name = ({ font }: { font: string | SerializedStyles }) => css` ${font} - - max-width: 40vw; - overflow-x: hidden; + max-width: 40vw; text-overflow: ellipsis; white-space: nowrap; `; diff --git a/frontend/src/components/Fallback/HappyFallback/HappyFallback.stories.tsx b/frontend/src/components/Fallback/HappyFallback/HappyFallback.stories.tsx new file mode 100644 index 000000000..39c831e08 --- /dev/null +++ b/frontend/src/components/Fallback/HappyFallback/HappyFallback.stories.tsx @@ -0,0 +1,29 @@ +import type { Meta, StoryObj } from '@storybook/react'; + +import HappyFallback from './HappyFallback'; +import { css } from '@emotion/react'; + +const meta: Meta = { + component: HappyFallback, +}; + +export default meta; +type Story = StoryObj; + +export const Default: Story = { + args: { text: '์—†์–ด์š”' }, + + decorators: (Story) => { + return ( +
+ +
+ ); + }, +}; diff --git a/frontend/src/components/Fallback/HappyFallback/HappyFallback.style.ts b/frontend/src/components/Fallback/HappyFallback/HappyFallback.style.ts new file mode 100644 index 000000000..c7ee1ab1f --- /dev/null +++ b/frontend/src/components/Fallback/HappyFallback/HappyFallback.style.ts @@ -0,0 +1,29 @@ +import { SerializedStyles, css } from '@emotion/react'; + +export const container = ({ + backgroundColor, +}: { + backgroundColor?: string | SerializedStyles; +}) => css` + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + + ${backgroundColor ? `background-color: ${backgroundColor};` : ''} + + min-width: 30rem; + min-height: 30rem; + + & > * { + text-align: center; + white-space: pre-line; + } +`; + +export const image = css` + width: 100%; + max-width: 40rem; + height: 100%; + max-height: 40rem; +`; diff --git a/frontend/src/components/Fallback/HappyFallback/HappyFallback.tsx b/frontend/src/components/Fallback/HappyFallback/HappyFallback.tsx new file mode 100644 index 000000000..c455398ca --- /dev/null +++ b/frontend/src/components/Fallback/HappyFallback/HappyFallback.tsx @@ -0,0 +1,22 @@ +import * as S from './HappyFallback.style'; + +import { SerializedStyles, useTheme } from '@emotion/react'; + +import happyLogo from '@_common/assets/happy_logo.svg?url'; + +interface HappyFallbackProps { + text: string; + font?: SerializedStyles; + backgroundColor?: string | SerializedStyles; +} + +export default function HappyFallback(props: HappyFallbackProps) { + const { text, font, backgroundColor } = props; + const theme = useTheme(); + return ( +
+ ์ข‹์•„์šฉ + {text} +
+ ); +} diff --git a/frontend/src/components/MissingFallback/MissingFallback.stories.tsx b/frontend/src/components/Fallback/MissingFallback/MissingFallback.stories.tsx similarity index 100% rename from frontend/src/components/MissingFallback/MissingFallback.stories.tsx rename to frontend/src/components/Fallback/MissingFallback/MissingFallback.stories.tsx diff --git a/frontend/src/components/MissingFallback/MissingFallback.style.ts b/frontend/src/components/Fallback/MissingFallback/MissingFallback.style.ts similarity index 86% rename from frontend/src/components/MissingFallback/MissingFallback.style.ts rename to frontend/src/components/Fallback/MissingFallback/MissingFallback.style.ts index 2643ef253..c7ee1ab1f 100644 --- a/frontend/src/components/MissingFallback/MissingFallback.style.ts +++ b/frontend/src/components/Fallback/MissingFallback/MissingFallback.style.ts @@ -22,8 +22,8 @@ export const container = ({ `; export const image = css` - width: 50%; - max-width: 30rem; - height: 50%; - max-height: 35rem; + width: 100%; + max-width: 40rem; + height: 100%; + max-height: 40rem; `; diff --git a/frontend/src/components/MissingFallback/MissingFallback.tsx b/frontend/src/components/Fallback/MissingFallback/MissingFallback.tsx similarity index 80% rename from frontend/src/components/MissingFallback/MissingFallback.tsx rename to frontend/src/components/Fallback/MissingFallback/MissingFallback.tsx index 0112dd089..1d7914a66 100644 --- a/frontend/src/components/MissingFallback/MissingFallback.tsx +++ b/frontend/src/components/Fallback/MissingFallback/MissingFallback.tsx @@ -2,7 +2,7 @@ import * as S from './MissingFallback.style'; import { SerializedStyles, useTheme } from '@emotion/react'; -import regretCat from '@_common/assets/regret_cat.webp'; +import missingLogo from '@_common/assets/missing_logo.svg?url'; interface MissingFallbackProps { text: string; @@ -15,7 +15,7 @@ export default function MissingFallback(props: MissingFallbackProps) { const theme = useTheme(); return (
- ๋ฏธ์•ˆํ•ด์šฉ + ๋ฏธ์•ˆํ•ด์šฉ {text}
); diff --git a/frontend/src/components/Funnel/FunnelErrorMessage/FunnelErrorMessage.style.ts b/frontend/src/components/Funnel/FunnelErrorMessage/FunnelErrorMessage.style.ts new file mode 100644 index 000000000..91314d853 --- /dev/null +++ b/frontend/src/components/Funnel/FunnelErrorMessage/FunnelErrorMessage.style.ts @@ -0,0 +1,7 @@ +import { css, Theme } from '@emotion/react'; + +export const errorMessage = ({ theme }: { theme: Theme }) => css` + font-size: 1.4rem; + color: ${theme.colorPalette.red[500]}; + text-align: center; +`; diff --git a/frontend/src/components/Funnel/FunnelErrorMessage/FunnelErrorMessage.tsx b/frontend/src/components/Funnel/FunnelErrorMessage/FunnelErrorMessage.tsx new file mode 100644 index 000000000..fc3d83598 --- /dev/null +++ b/frontend/src/components/Funnel/FunnelErrorMessage/FunnelErrorMessage.tsx @@ -0,0 +1,18 @@ +import { useTheme } from '@emotion/react'; +import * as S from './FunnelErrorMessage.style'; + +interface FunnelErrorMessageProps { + isError: boolean; + errorMessage: string; +} + +export default function FunnelErrorMessage(props: FunnelErrorMessageProps) { + const { isError, errorMessage } = props; + + const theme = useTheme(); + + if (!isError) { + return null; + } + return
{errorMessage}
; +} diff --git a/frontend/src/components/Funnel/FunnelInputErrorMessage/FunnelInputErrorMessage.tsx b/frontend/src/components/Funnel/FunnelInputErrorMessage/FunnelInputErrorMessage.tsx new file mode 100644 index 000000000..c9d278869 --- /dev/null +++ b/frontend/src/components/Funnel/FunnelInputErrorMessage/FunnelInputErrorMessage.tsx @@ -0,0 +1,19 @@ +import { useTheme } from '@emotion/react'; +import { HTMLAttributes, PropsWithChildren } from 'react'; + +interface FunnelInputErrorMessageProps + extends HTMLAttributes {} + +export default function FunnelInputErrorMessage( + props: PropsWithChildren, +) { + const { children, ...rest } = props; + + const theme = useTheme(); + + return ( + + {children} + + ); +} diff --git a/frontend/src/components/Funnel/FunnelQuestion/FunnelQuestion.tsx b/frontend/src/components/Funnel/FunnelQuestion/FunnelQuestion.tsx index 4a1080c42..577b2b4e4 100644 --- a/frontend/src/components/Funnel/FunnelQuestion/FunnelQuestion.tsx +++ b/frontend/src/components/Funnel/FunnelQuestion/FunnelQuestion.tsx @@ -1,11 +1,13 @@ -import { PropsWithChildren } from 'react'; +import { LabelHTMLAttributes, PropsWithChildren } from 'react'; import FunnelQuestionHighlight from './FunnelQuestionHighlight/FunnelQuestionHighlight'; import FunnelTextQuestionText from './FunnelQuestionText/FunnelQuestionText'; -function FunnelQuestion(props: PropsWithChildren) { - const { children } = props; +interface FunnelQuestionProps extends LabelHTMLAttributes {} - return
{children}
; +function FunnelQuestion(props: PropsWithChildren) { + const { children, ...rest } = props; + + return ; } FunnelQuestion.Text = FunnelTextQuestionText; diff --git a/frontend/src/components/GoogleLoginButton/GoogleLoginButton.tsx b/frontend/src/components/GoogleLoginButton/GoogleLoginButton.tsx index 91bc168be..d9c7b7a65 100644 --- a/frontend/src/components/GoogleLoginButton/GoogleLoginButton.tsx +++ b/frontend/src/components/GoogleLoginButton/GoogleLoginButton.tsx @@ -3,23 +3,35 @@ import { useEffect, useRef } from 'react'; import ROUTES from '@_constants/routes'; import { useNavigate } from 'react-router-dom'; -function GoogleLoginButton() { +interface GoogleLoginButtonProps { + type: 'bar' | 'circle'; +} +function GoogleLoginButton({ type }: GoogleLoginButtonProps) { const navigate = useNavigate(); const g_sso = useRef(null); useEffect(() => { if (g_sso.current) { + const renderOption = + type === 'bar' + ? { + theme: 'outline', + size: 'large', + width: 269, + } + : { + type: 'icon', + shape: 'circle', + theme: 'outline', + size: 'large', + }; window.google.accounts.id.initialize({ client_id: process.env.GOOGLE_O_AUTH_CLIENT_ID, callback: handleGoogleSignIn, ux_mode: 'popup', }); - window.google.accounts.id.renderButton(g_sso.current, { - theme: 'outline', - size: 'large', - width: 269, - }); + window.google.accounts.id.renderButton(g_sso.current, renderOption); } }, [g_sso]); diff --git a/frontend/src/components/HighlightSpan/HighlightSpan.tsx b/frontend/src/components/HighlightSpan/HighlightSpan.tsx index 25aae6d3e..48b7f5a16 100644 --- a/frontend/src/components/HighlightSpan/HighlightSpan.tsx +++ b/frontend/src/components/HighlightSpan/HighlightSpan.tsx @@ -8,6 +8,7 @@ interface HighlightSpanProps extends PropsWithChildren { normalColor?: SerializedStyles | string; font?: SerializedStyles | string; isCenterAlign?: boolean; + ariaLabel?: string; } interface HighlightSpanContext { @@ -24,6 +25,7 @@ function HighlightSpan(props: HighlightSpanProps) { normalColor = theme.colorPalette.black[100], font = theme.typography.h5, isCenterAlign = false, + ariaLabel, children, } = props; @@ -31,7 +33,10 @@ function HighlightSpan(props: HighlightSpanProps) { - + {children} diff --git a/frontend/src/components/Icons/AppleOAuthIcon.tsx b/frontend/src/components/Icons/AppleOAuthIcon.tsx index 8d203420f..55b391d01 100644 --- a/frontend/src/components/Icons/AppleOAuthIcon.tsx +++ b/frontend/src/components/Icons/AppleOAuthIcon.tsx @@ -1,32 +1,41 @@ -export default function AppleOAuthIcon() { - return ( - - - - - + + + + + + - - - - - ); + + + ); + } + if (type === 'circle') { + return ; + } } diff --git a/frontend/src/components/Icons/KakaoOAuthIcon.tsx b/frontend/src/components/Icons/KakaoOAuthIcon.tsx index 9c85460f7..0d028c09f 100644 --- a/frontend/src/components/Icons/KakaoOAuthIcon.tsx +++ b/frontend/src/components/Icons/KakaoOAuthIcon.tsx @@ -1,21 +1,33 @@ -export default function KakaoOAuthLoginIcon() { - return ( - - - - - - ); +import CircleKakaoLogin from '@_common/assets/kakaoCircleOuathLogin.svg'; +interface KakaoOAuthLoginIconProps { + type: 'bar' | 'circle'; +} + +export default function KakaoOAuthLoginIcon({ + type, +}: KakaoOAuthLoginIconProps) { + if (type === 'bar') { + return ( + + + + + + ); + } + if (type === 'circle') { + return ; + } } diff --git a/frontend/src/components/Icons/MainLogoIcon.tsx b/frontend/src/components/Icons/MainLogoIcon.tsx index 5d4c25daa..63c62bc7c 100644 --- a/frontend/src/components/Icons/MainLogoIcon.tsx +++ b/frontend/src/components/Icons/MainLogoIcon.tsx @@ -1,82 +1,4 @@ +import MainLogo from '@_common/assets/main_logo.svg'; export default function MainLogoIcon() { - return ( - - - - - - - - - - - - - - ); + return ; } diff --git a/frontend/src/components/Icons/PeopleIcon.tsx b/frontend/src/components/Icons/PeopleIcon.tsx new file mode 100644 index 000000000..a85924485 --- /dev/null +++ b/frontend/src/components/Icons/PeopleIcon.tsx @@ -0,0 +1,16 @@ +export default function PeopleIcon() { + return ( + + + + ); +} diff --git a/frontend/src/components/Icons/RouletteIcon.tsx b/frontend/src/components/Icons/RouletteIcon.tsx new file mode 100644 index 000000000..78fb77851 --- /dev/null +++ b/frontend/src/components/Icons/RouletteIcon.tsx @@ -0,0 +1,51 @@ +export default function RouletteIcon() { + return ( + + + + + + + + + + + + + ); +} diff --git a/frontend/src/components/NavigationBar/NavigationBar.tsx b/frontend/src/components/NavigationBar/NavigationBar.tsx index da27dec82..dba13f097 100644 --- a/frontend/src/components/NavigationBar/NavigationBar.tsx +++ b/frontend/src/components/NavigationBar/NavigationBar.tsx @@ -7,7 +7,7 @@ import NavigationBarItem from '@_components/NavigationBar/NavigationBarItem/Navi import { useState } from 'react'; import { useTheme } from '@emotion/react'; -export type Tab = 'ํ™ˆ' | '์ฑ„ํŒ…' | '์•ˆ๋‚ด๋ฉด์ง„๋‹ค' | '๋งˆ์ดํŽ˜์ด์ง€'; +export type Tab = 'ํ™ˆ' | '์ฑ„ํŒ…' | '๋ฃฐ๋ ›' | '๋งˆ์ดํŽ˜์ด์ง€'; export default function NavigationBar() { const theme = useTheme(); @@ -17,7 +17,7 @@ export default function NavigationBar() { const tabRoutes: Record = { ํ™ˆ: GET_ROUTES.nowDarakbang.main(), ์ฑ„ํŒ…: GET_ROUTES.nowDarakbang.chat(), - ์•ˆ๋‚ด๋ฉด์ง„๋‹ค: GET_ROUTES.nowDarakbang.bet(), + ๋ฃฐ๋ ›: GET_ROUTES.nowDarakbang.bet(), ๋งˆ์ดํŽ˜์ด์ง€: GET_ROUTES.nowDarakbang.myPage(), }; @@ -33,8 +33,8 @@ export default function NavigationBar() { }; return ( -