|
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'; |
5 | 5 |
|
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 | +} |
8 | 69 |
|
9 | 70 | export default function WelcomePage() { |
10 | 71 | const dispatch = useDispatch(); |
11 | | - const { user } = useSelector(R.pick(["user"])); |
| 72 | + const { user } = useSelector(R.pick(['user'])); |
12 | 73 |
|
13 | 74 | useEffect(() => { |
14 | 75 | if (!R.isEmpty(user)) { |
15 | | - dispatch(push("/home")); |
| 76 | + dispatch(push('/home')); |
16 | 77 | } |
17 | 78 | }, []); |
18 | 79 |
|
19 | 80 | return ( |
20 | | - <Container maxWidth="md" sx={{ height: "100%" }}> |
| 81 | + <Container maxWidth="md" sx={{ height: '100%' }}> |
21 | 82 | <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> |
23 | 148 | </Stack> |
24 | 149 | </Container> |
25 | 150 | ); |
|
0 commit comments