Skip to content

Commit c4d9320

Browse files
committed
Merge branch 'feature/frontend/#33' of https://github.com/osamhack2021/Web_Handover_TeamName into feature/frontend/#33
2 parents 85a82ad + 7a46e8f commit c4d9320

2 files changed

Lines changed: 136 additions & 11 deletions

File tree

โ€Žfrontend/components/pages/SearchPage/SearchPage.jsโ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export default function SearchPage() {
2121
}
2222
setLoading(false);
2323
});
24-
}, []);
24+
}, [searchQuery]);
2525
return !loading && (
2626
<div className="recommend-page">
2727
<div className="recommend-page-header">

โ€Žfrontend/components/pages/WelcomePage/WelcomePage.jsโ€Ž

Lines changed: 135 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,150 @@
1-
import React, { useEffect } from "react";
2-
import { useDispatch, useSelector } from "react-redux";
3-
import { push } from "connected-react-router";
4-
import R from "ramda";
1+
import React, { useEffect } from 'react';
2+
import { useDispatch, useSelector } from 'react-redux';
3+
import { push } from 'connected-react-router';
4+
import R, { none } from 'ramda';
55

6-
import Container from "@mui/material/Container";
7-
import Stack from "@mui/material/Stack";
6+
import Container from '@mui/material/Container';
7+
import Stack from '@mui/material/Stack';
8+
import Typography from '@mui/material/Typography';
9+
import Button from '@mui/material/Button';
10+
11+
function FeatureBlock(subTitle, title, description, imgSrc, position) {
12+
let justifyContent;
13+
let textAlign;
14+
let width;
15+
switch (position) {
16+
case 'center':
17+
justifyContent = 'center';
18+
textAlign = 'center';
19+
width = '400px';
20+
break;
21+
default:
22+
justifyContent = 'space-between';
23+
textAlign = 'left';
24+
width = '350px';
25+
break;
26+
}
27+
return (
28+
<Stack direction="row" alignItems="center" justifyContent={justifyContent} sx={{ marginBottom: '100px' }}>
29+
{position === 'left' ? <img width="280px" height="200px" src={imgSrc} /> : ''}
30+
<div>
31+
<Typography sx={{
32+
fontFamily: 'Roberto',
33+
fontStyle: 'normal',
34+
fontWeight: 'bold',
35+
fontSize: '18px',
36+
marginBottom: '15px',
37+
textAlign: { textAlign },
38+
}}
39+
>
40+
{subTitle}
41+
</Typography>
42+
<Typography sx={{
43+
fontFamily: 'Roberto',
44+
fontStyle: 'normal',
45+
fontWeight: 'bold',
46+
fontSize: '25px',
47+
marginBottom: '15px',
48+
textAlign: { textAlign },
49+
}}
50+
>
51+
{title}
52+
</Typography>
53+
<Typography sx={{
54+
fontFamily: 'Roberto',
55+
fontStyle: 'normal',
56+
fontWeight: 'bold',
57+
fontSize: '15px',
58+
color: 'rgba(0,0,0,0.5)',
59+
width: { width },
60+
}}
61+
>
62+
{description}
63+
</Typography>
64+
</div>
65+
{position === 'right' ? <img width="280px" height="200px" src={imgSrc} /> : ''}
66+
</Stack>
67+
);
68+
}
869

970
export default function WelcomePage() {
1071
const dispatch = useDispatch();
11-
const { user } = useSelector(R.pick(["user"]));
72+
const { user } = useSelector(R.pick(['user']));
1273

1374
useEffect(() => {
1475
if (!R.isEmpty(user)) {
15-
dispatch(push("/home"));
76+
dispatch(push('/home'));
1677
}
1778
}, []);
1879

1980
return (
20-
<Container maxWidth="md" sx={{ height: "100%" }}>
81+
<Container maxWidth="md" sx={{ height: '100%' }}>
2182
<Stack>
22-
Landing Page
83+
<Stack direction="row" justifyContent="space-between">
84+
<div>
85+
<Typography sx={{
86+
fontFamily: 'BM HANNA',
87+
fontStyle: 'normal',
88+
fontWeight: '500',
89+
fontSize: '40px',
90+
marginTop: '200px',
91+
marginBottom: '15px',
92+
}}
93+
>
94+
์†์‰ฌ์šด
95+
<br />
96+
๊ตญ๋ฐฉ์—…๋ฌด๊ณต์œ ์ฒด๊ณ„
97+
</Typography>
98+
<Typography sx={{
99+
fontFamily: 'Poppins',
100+
fontStyle: 'normal',
101+
fontWeight: '500',
102+
fontSize: '20px',
103+
color: 'rgba(0, 0, 0, 0.5)',
104+
marginBottom: '30px',
105+
}}
106+
>
107+
Handover ์€ ๊ตฐ์—์„œ์˜ ์ธ์ˆ˜์ธ๊ณ„๋ฅผ ์œ„ํ•œ
108+
<br />
109+
๊ตญ๋ฐฉ ์—…๋ฌด ๊ณต์œ ์ฒด๊ณ„ ์ž…๋‹ˆ๋‹ค
110+
</Typography>
111+
<Button sx={{
112+
width: '150px',
113+
height: '40px',
114+
background: 'linear-gradient(90deg, #ED6EA0 0%, #EC8C69 100%)',
115+
borderRadius: '40px',
116+
color: 'white',
117+
marginBottom: '200px',
118+
}}
119+
>
120+
{' '}
121+
์‹œ์ž‘ํ•˜๊ธฐ
122+
{' '}
123+
124+
</Button>
125+
</div>
126+
<img src="" alt="meetingSvg" />
127+
</Stack>
128+
<Container maxWidth="md">
129+
<Stack sx={{ justifyContent: 'center' }}>
130+
<Typography sx={{
131+
fontFamily: 'Poppins',
132+
fontStyle: 'normal',
133+
fontWeight: '500',
134+
fontSize: '40px',
135+
marginBottom: '100px',
136+
textAlign: 'center',
137+
}}
138+
>
139+
์„œ๋น„์Šค ์†Œ๊ฐœ
140+
141+
</Typography>
142+
{FeatureBlock('์ธ์ˆ˜ ์ธ๊ณ„์„œ ์ž‘์„ฑ', 'ํšจ์œจ์ ์ธ ๋ถ€๋Œ€ ๊ด€๋ฆฌ', '๋ถ€๋Œ€ ์—…๋ฌด๋ฅผ ํ•œ๊ณณ์— ๋ชจ์•„๋ณด์„ธ์š”. ์‚ฌ์šฉ์ž๊ฐ€ ์†ํ•œ ๊ทธ๋ฃน์˜ ์ธ์ˆ˜์ธ๊ณ„์„œ, ์—…๋ฌด๋“ค์„ ํ•œ๋ฒˆ์— ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.', '', 'right')}
143+
{FeatureBlock('ํŽธ๋ฆฌํ•œ ์ธ์ˆ˜ ์ธ๊ณ„', '์—…๋ฌด ๋ฌธ์„œ ๊ณต์œ ', '์ธ์ˆ˜์ธ๊ณ„๋ฅผ ์œ„ํ•ด์„œ๋Š” ๊ถŒํ•œ๋งŒ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค ์ธ์ˆ˜์ธ๊ณ„ ๋ฌธ์„œ๋งŒ ์ž‘์„ฑ์ด ๋˜์–ด ์žˆ๋‹ค๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ์ธ์ˆ˜์ธ๊ณ„๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๊ทธ์ € ํด๋ฆญ ๋ช‡๋ฒˆ์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์„ ์„ค์ •ํ•ด์ฃผ์„ธ์š”', '', 'left')}
144+
{FeatureBlock('๋Œ“๊ธ€ ๋ถ๋งˆํฌ ๊ธฐ๋Šฅ', '๋ณด๋‹ค ์‰ฌ์šด ์ธ์ˆ˜์ธ๊ณ„์„œ', 'Handover ์˜ ๋ชจ๋“  ๋ฌธ์„œ๋“ค์€ ์„œ๋ž, ๋ฌธ์„œ, ์นด๋“œ ์˜ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ๋ชจ๋“  ๋ณด์ง, ๊ทผ๋ฌด์˜ ์ธ์ˆ˜์ธ๊ณ„์„œ๋Š” ๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์„œ๋ž, ๋ฌธ์„œ, ์นด๋“œ 3๋‹จ๊ณ„๋กœ ์ฒด๊ณ„ํ™” ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์—…๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š”์ง€, ์–ด๋–ค ์ž‘์—…์ด ์žˆ๋Š”์ง€ ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ', '', 'right')}
145+
{FeatureBlock('๋” ๋ฐœ์ „ํ•ด ๋‚˜๊ฐ€๋Š” ๊ตญ๋ฐฉ ์—…๋ฌด', '์ปค๋ฎค๋‹ˆํ‹ฐ', '์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ํ†ตํ•ด์„œ ๋” ์ข‹์€ ์—…๋ฌด๋ฐฉ์‹์„ ์ฐพ์•„๋ณด์„ธ์š”. ๋‹ค์–‘ํ•œ ๋ถ€๋Œ€์— ๊ฐ™์€ ๋ณด์ง, ์—…๋ฌด๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ๋“ค์ด ๊ณต์œ ํ•œ ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉฐ ๋” ๋ฐœ์ „๋œ ๋ถ€๋Œ€ ์šด์˜์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.', '', 'center')}
146+
</Stack>
147+
</Container>
23148
</Stack>
24149
</Container>
25150
);

0 commit comments

Comments
ย (0)