Skip to content

Commit

Permalink
Merge pull request #171 from ODOICHON/develop
Browse files Browse the repository at this point in the history
๊ณต์ธ์ค‘๊ฐœ์‚ฌ ํšŒ์› ๋ฐฐํฌ
  • Loading branch information
sangminlee98 authored Sep 26, 2023
2 parents cfb1e4d + d0d0bd9 commit a53c2db
Show file tree
Hide file tree
Showing 25 changed files with 2,286 additions and 361 deletions.
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
"@tanstack/react-query-devtools": "^4.24.6",
"@types/dompurify": "^3.0.1",
"@types/lodash": "^4.14.192",
"@types/react-gtm-module": "^2.0.1",
"@vitejs/plugin-react": "^3.1.0",
"aws-sdk": "^2.1363.0",
"axios": "^1.3.6",
Expand All @@ -34,6 +35,7 @@
"react-daum-postcode": "^3.1.3",
"react-dom": "^18.2.0",
"react-ga4": "^2.1.0",
"react-gtm-module": "^2.0.11",
"react-hook-form": "^7.43.5",
"react-icons": "^4.8.0",
"react-kakao-maps-sdk": "^1.1.9",
Expand Down
2 changes: 2 additions & 0 deletions src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ import { QueryClientProvider } from '@tanstack/react-query';
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
import { routes } from '@/Routes';
import useReactGA from './hooks/useReactGA';
import useReactGTM from './hooks/useReactGTM';
import { getClient } from './queryClient';

export default function App() {
useReactGA();
useReactGTM();

const queryClient = getClient();
const elem = useRoutes(routes);
Expand Down
2 changes: 2 additions & 0 deletions src/Routes.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import GlobalLayout from '@/pages/_layout';
const MainPage = lazy(() => import('@/pages/Main'));
const LoginPage = lazy(() => import('@/pages/Login'));
const SignUpPage = lazy(() => import('@/pages/SignUp'));
const AgentSignUpPage = lazy(() => import('@/pages/SignUp/AgentSignUp'));
const MyPage = lazy(() => import('@/pages/Mypage'));
const IntroducePage = lazy(() => import('@/pages/Introduce'));
const IntroWritePage = lazy(() => import('@/pages/Introduce/Write'));
Expand All @@ -28,6 +29,7 @@ export const routes: RouteObject[] = [
{ index: true, element: <MainPage /> },
{ path: 'login', element: <LoginPage /> },
{ path: 'signup', element: <SignUpPage /> },
{ path: 'agentSignup', element: <AgentSignUpPage /> },
{ path: 'mypage', element: <MyPage /> },
{ path: 'introduce', element: <IntroducePage /> },
{ path: 'intro_write', element: <IntroWritePage /> },
Expand Down
2 changes: 1 addition & 1 deletion src/apis/login.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
} from '@/types/apiResponseType';

export type LoginForm = {
email: string;
userName: string;
password: string;
};

Expand Down
37 changes: 37 additions & 0 deletions src/components/Common/Footer/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,43 @@ export default function Footer() {
<div className={styles.lower}>
<p>์ฃผ๋ง๋‚ด์ง‘ by ์˜ค์ด๋ฆฌ ยฉ 2022 ALL RIGHTS RESERVED. </p>
<p>๋ฌธ์˜์‚ฌํ•ญ : [email protected] </p>
<span className={styles.buttonWrapper}>
<button
className={styles.button}
type="button"
onClick={() => {
window.open(
'https://third-platypus-163.notion.site/4e45911e3e2141afa3ca3be8173d90c7?pvs=4',
);
}}
>
์„œ๋น„์Šค ์ด์šฉ์•ฝ๊ด€
</button>
<div className={styles.divider} />
<button
className={styles.button}
type="button"
onClick={() => {
window.open(
'https://third-platypus-163.notion.site/7f9b1c68a6174b64b859575163981a24?pvs=4',
);
}}
>
๊ณต์ธ์ค‘๊ฐœ์‚ฌ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ๋ฐฉ์นจ
</button>
<div className={styles.divider} />
<button
className={styles.button}
type="button"
onClick={() => {
window.open(
'https://third-platypus-163.notion.site/29002251361d409888c17161ec11fdf1?pvs=4',
);
}}
>
๋นˆ์ง‘๊ฑฐ๋ž˜ ์„œ๋น„์Šค ๊ด€๋ จ
</button>
</span>
</div>
</div>
);
Expand Down
18 changes: 18 additions & 0 deletions src/components/Common/Footer/styles.module.scss
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,21 @@
padding-left: 5rem;
}
}
.buttonWrapper {
display: flex;
gap: 1rem;
}
.button {
background-color: transparent;
border: none;
outline: none;
color: white;
padding: 0;
cursor: pointer;
}

.divider {
width: 1px;
height: 100%;
background-color: white;
}
50 changes: 50 additions & 0 deletions src/components/Terms/AgentTerm.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import styles from './styles.module.scss';

type AgentTermProps = {
onToggleClick: () => void;
};

export default function AgentTerm({ onToggleClick }: AgentTermProps) {
return (
<div className={styles.termsContainer}>
<h1>๊ณต์ธ์ค‘๊ฐœ์‚ฌ ์‹๋ณ„ ๊ฐœ์ธ์ •๋ณด ์ˆ˜์ง‘ ์ด์šฉ ๋™์˜(ํ•„์ˆ˜)</h1>
<div>
<p>
์ฃผ๋ง๋‚ด์ง‘์—์„œ๋Š” ๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ๋ฒ• ์ œ15์กฐ, ์ œ22์กฐ์— ๊ทผ๊ฑฐํ•˜์—ฌ ์ฃผ๋ง๋‚ด์ง‘
ํšŒ์›์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
</p>
<article style={{ marginTop: '2rem' }}>
<h1 className={styles.title}>1. ๊ฐœ์ธ์ •๋ณด์˜ ์ˆ˜์ง‘ยท์ด์šฉ ๋ชฉ์ </h1>
<p>
๊ณต์ธ์ค‘๊ฐœ์‚ฌ ํšŒ์›์— ๋Œ€ํ•œ ํ™•์ธ์„ ํ†ตํ•ด ์›ํ™œํ•œ ์ฃผ๋ง๋‚ด์ง‘ ์„œ๋น„์Šค ์ œ๊ณต์„
์œ„ํ•จ.
</p>
</article>
<article style={{ marginTop: '2rem' }}>
<h1 className={styles.title}>2. ๊ฐœ์ธ์ •๋ณด ๋ณด์œ  ๋ฐ ์ด์šฉ๊ธฐ๊ฐ„</h1>
<p>ํšŒ์› ํƒˆํ‡ด ์‹œ๊นŒ์ง€</p>
</article>
<article style={{ marginTop: '2rem' }}>
<h1 className={styles.title}>3. ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฐœ์ธ์ •๋ณด ํ•ญ๋ชฉ</h1>
<p>
โ–ก ํ•„์ˆ˜ํ•ญ๋ชฉ : ์„ฑ๋ช…, ์ „ํ™”๋ฒˆํ˜ธ, ๊ณต์ธ์ค‘๊ฐœ์‚ฌ ๋“ฑ๋ก๋ฒˆํ˜ธ, ์‚ฌ์—…์ž ๋“ฑ๋ก๋ฒˆํ˜ธ,
๊ณต์ธ์ค‘๊ฐœ์‚ฌ ์‚ฌ๋ฌด์†Œ ์ƒํ˜ธ๋ช…, ๋Œ€ํ‘œ์ž ์ด๋ฆ„, ๊ณต์ธ์ค‘๊ฐœ์‚ฌ ์‚ฌ๋ฌด์†Œ ๋Œ€ํ‘œ
์ „ํ™”๋ฒˆํ˜ธ, ์ค‘๊ฐœ ๋ณด์กฐ์›๋ช…, ๊ณต์ธ์ค‘๊ฐœ์‚ฌ ์‚ฌ๋ฌด์†Œ ์ฃผ์†Œ, ์ด๋ฉ”์ผ
</p>
</article>
<article style={{ marginTop: '2rem' }}>
<h1 className={styles.title}>
4. ๋™์˜๊ฑฐ๋ถ€ ๊ถŒ๋ฆฌ ๋ฐ ๋™์˜๊ฑฐ๋ถ€ ์‹œ ๋ถˆ์ด์ต ์•ˆ๋‚ด
</h1>
<p>
๊ท€ํ•˜๋Š” ๊ฐœ์ธ์ •๋ณด์— ์ˆ˜์ง‘ยท์ด์šฉ์— ๋Œ€ํ•œ ๋™์˜๋ฅผ ๊ฑฐ๋ถ€ํ•  ๊ถŒ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ค๋งŒ, ํ•„์ˆ˜ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ๋™์˜ ๊ฑฐ๋ถ€ ์‹œ์—๋Š” ํšŒ์›๊ฐ€์ž…์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
</p>
</article>
</div>
<button type="button" onClick={onToggleClick}>
ํ™•์ธ
</button>
</div>
);
}
33 changes: 33 additions & 0 deletions src/components/Terms/MarketingTerm.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import styles from './styles.module.scss';

type MarketingTermProps = {
onToggleClick: () => void;
};

export default function MarketingTerm({ onToggleClick }: MarketingTermProps) {
return (
<div className={styles.termsContainer}>
<h1>๋งˆ์ผ“ํŒ… ํ™œ์šฉ ๋ฐ ๊ด‘๊ณ ์„ฑ ์ •๋ณด ์ˆ˜์‹  ๋™์˜(์„ ํƒ)</h1>
<div>
<p style={{ marginTop: '2rem', marginBottom: '3rem' }}>
์ „์ž์  ์ „์†ก๋งค์ฒด(SMS/MMS/์ด๋ฉ”์ผ ๋“ฑ)๋ฅผ ํ†ตํ•ด, ์ฃผ๋ง๋‚ด์ง‘์ด ์ œ๊ณตํ•˜๋Š”
์ด๋ฒคํŠธ/ํ˜œํƒ ๋“ฑ ๋‹ค์–‘ํ•œ ์ •๋ณด(๋‰ด์Šค๋ ˆํ„ฐ ํฌํ•จ)๋ฅผ ์ˆ˜์‹ ํ•˜์‹ค ์ˆ˜ ์žˆ๊ณ , ๊ธฐํƒ€
์œ ์šฉํ•œ ๊ด‘๊ณ ๋‚˜ ์ •๋ณด๋ฅผ ์ˆ˜์‹ ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
</p>
<p style={{ marginBottom: '3rem' }}>
๋ณธ ๋งˆ์ผ€ํŒ… ํ™œ์šฉ ๋ฐ ๊ด‘๊ณ ์„ฑ ์ •๋ณด์ˆ˜์‹  ๋“ฑ์˜ ํ•ญ๋ชฉ์€ ์„ ํƒ์‚ฌํ•ญ์ด๋ฏ€๋กœ ๋™์˜๋ฅผ
๊ฑฐ๋ถ€ํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ์ฃผ๋ง๋‚ด์ง‘ ์„œ๋น„์Šค์˜ ์ด์šฉ์—๋Š” ์˜ํ–ฅ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ
๊ฑฐ๋ถ€์‹œ ๋™์˜๋ฅผ ํ†ตํ•ด ์ œ๊ณต ๊ฐ€๋Šฅํ•œ ๊ฐ์ข… ํ˜œํƒ, ์ด๋ฒคํŠธ ์•ˆ๋‚ด๋ฅผ ๋ฐ›์•„ ๋ณด์‹ค ์ˆ˜
์—†์Šต๋‹ˆ๋‹ค.
</p>
<p style={{ marginBottom: '3rem' }}>
๋ณธ ์ˆ˜์‹  ๋™์˜๋ฅผ ์ฒ ํšŒํ•˜๊ณ ์ž ํ•  ๊ฒฝ์šฐ์—๋Š” ๊ณ ๊ฐ์„ผํ„ฐ(์ฃผ๋ง๋‚ด์ง‘ ์ด๋ฉ”์ผ)๋ฅผ ํ†ตํ•ด
์–ธ์ œ๋“  ์ˆ˜์‹ ๋™์˜๋ฅผ ์ฒ ํšŒ๋ฅผ ์š”์ฒญํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
</p>
</div>
<button type="button" onClick={onToggleClick}>
ํ™•์ธ
</button>
</div>
);
}
36 changes: 36 additions & 0 deletions src/components/Terms/PrivacyTerm.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import styles from './styles.module.scss';

type PrivacyTermProps = {
onToggleClick: () => void;
};

export default function PrivacyTerm({ onToggleClick }: PrivacyTermProps) {
return (
<div className={styles.termsContainer}>
<h1>๊ฐœ์ธ์ •๋ณด ์ˆ˜์ง‘ ๋ฐ ์ด์šฉ ๋™์˜(์„ ํƒ)</h1>
<div>
<article style={{ marginTop: '2rem' }}>
<h1 className={styles.title}>1. ๊ฐœ์ธ์ •๋ณด์˜ ์ˆ˜์ง‘ยท์ด์šฉ ๋ชฉ์ </h1>
<p>๋งˆ์ผ€ํŒ…์—์˜ ํ™œ์šฉ.</p>
</article>
<article style={{ marginTop: '2rem' }}>
<h1 className={styles.title}>2. ๊ฐœ์ธ์ •๋ณด ๋ณด์œ  ๋ฐ ์ด์šฉ๊ธฐ๊ฐ„</h1>
<p>ํšŒ์› ํƒˆํ‡ด ์‹œ๊นŒ์ง€</p>
</article>
<article style={{ marginTop: '2rem' }}>
<h1 className={styles.title}>3. ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฐœ์ธ์ •๋ณด ํ•ญ๋ชฉ</h1>
<p>โ–ก ์ด๋ฆ„, ์ด๋ฉ”์ผ ์ฃผ์†Œ, ์ „ํ™”๋ฒˆํ˜ธ, ์ฃผ๊ฑฐ๋ž˜ ๋งค๋ฌผ, ์—ฐ๋ น๋Œ€</p>
</article>
<p style={{ marginTop: '3rem', marginBottom: '3rem' }}>
์ด๋Š” ์ฃผ๋ง๋‚ด์ง‘์ด ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ๋ณด๋‹ค ์›ํ™œํ•˜๊ฒŒ ์ด์šฉํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„œ
๊ทธ ์ˆ˜์ง‘ ๋ฐ ์ด์šฉ์ด ํ•„์š”ํ•œ ๊ฐœ์ธ์ •๋ณด์ด๋ฏ€๋กœ ํ•ด๋‹น ํ•ญ๋ชฉ์— ๋™์˜๋ฅผ ๊ฑฐ๋ถ€ํ•˜์‹œ๋Š”
๊ฒฝ์šฐ์—๋„ ์œ„ ๊ฐœ์ธ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ ๋ฐ ์ด์šฉํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋‚˜๋จธ์ง€
์„œ๋น„์Šค์— ๋Œ€ํ•ด์„œ๋Š” ์ด์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
</p>
</div>
<button type="button" onClick={onToggleClick}>
ํ™•์ธ
</button>
</div>
);
}
Loading

0 comments on commit a53c2db

Please sign in to comment.