LoginComp.js 4.59 KB
Newer Older
Spark's avatar
Spark committed
1
import React, { useState } from 'react';
Spark's avatar
Spark committed
2
import '../App.css'
Spark's avatar
Spark committed
3
import { Form, Button, Row, Col, Card, Alert, FloatingLabel } from 'react-bootstrap';
Spark's avatar
Spark committed
4
import { LoginWithKakao } from '../utils/Oauth';
Spark's avatar
Spark committed
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

function LoginComp() {

    const cardstyled = {
        margin: 'auto',
        padding: '1em',
        display: 'flex',
        justifyContent: 'center',
        width: '100%',
        borderWidth: '3px',
        borderRadius: '20px',
        borderColor: 'rgb(110, 189, 142)',
        color: '#04AB70'
    }

    const inboxstyled = {
        display: 'flex',
        flexDirection: 'column',
Spark's avatar
Spark committed
23
        maxWidth: '80%',
Spark's avatar
Spark committed
24
25
        justifyContent: 'center',
        margin: 'auto',
Spark's avatar
Spark committed
26
27
        padding: '0.5em',
        color: 'black'
Spark's avatar
Spark committed
28
29
    }

Spark's avatar
Spark committed
30
31
    const [emailSentAlert, setEmailSentAlert] = useState(false)
    const [alertShow, setAlertShow] = useState(false)
Spark's avatar
Spark committed
32

Spark's avatar
Spark committed
33
    const [emailAddress, setEmailAddress] = useState('')
Spark's avatar
Spark committed
34

Spark's avatar
Spark committed
35
36
37
    function CheckEmailSend() {
        localStorage.setItem('login_email_Address', emailAddress)
        const emailIs = localStorage.getItem('login_email_Address').split('@')[1]
Spark's avatar
Spark committed
38
        if (emailIs) {
Spark's avatar
Spark committed
39
40
41
42
43
44
45
            setAlertShow(true)
            setEmailSentAlert(false)
        }
        else {
            setAlertShow(true)
            setEmailSentAlert(true)
        }
Spark's avatar
Spark committed
46
47
48
    }

    function addressUrl() {
Spark's avatar
Spark committed
49
        const afterAt = localStorage.getItem('login_email_Address').split('@')[1]
Spark's avatar
Spark committed
50
51
        const newLink = 'https://www.' + afterAt;
        window.open(newLink);
Spark's avatar
Spark committed
52
    }
Spark's avatar
Spark committed
53

Spark's avatar
Spark committed
54
55
56
57
58
    function handleChange(event) {
        setEmailAddress(event.target.value)
        console.log(emailAddress)
    }

Spark's avatar
Spark committed
59
60
61
    return (
        <Row className='text-center w-100 my-2'>
            <Card style={cardstyled}>
Spark's avatar
Spark committed
62
                <Card.Title id='impactTitle'>
Spark's avatar
Spark committed
63
64
                    LOGIN
                </Card.Title>
Spark's avatar
Spark committed
65
66
67
                <Card.Subtitle style={{ fontWeight: 'lighter' }}>
                    Log in with your social media account or email address
                </Card.Subtitle>
Spark's avatar
Spark committed
68
69
                <hr />
                <Card.Text>
Spark's avatar
Spark committed
70
                    <Row className='m-auto d-flex justify-content-center' style={{ width: '80%' }}>
Spark's avatar
Spark committed
71
                        {!emailSentAlert ?
Spark's avatar
Spark committed
72
73
74
75
                            <Alert show={alertShow} variant={'success'}>
                                <Col>
                                    😍 이메일 전송이 완료 되었습니다.
                                </Col>
Spark's avatar
Spark committed
76
                                <Alert.Link href="" onClick={addressUrl} target='_blank' style={{ fontSize: '0.8em' }}>
Spark's avatar
Spark committed
77
78
79
80
81
82
83
84
                                    이메일 확인 하러가기 
                                </Alert.Link>
                            </Alert>
                            :
                            <Alert show={alertShow} variant={'danger'}>
                                <Col>
                                    😭 이메일을 정확하게 적어주세요.
                                </Col>
Spark's avatar
Spark committed
85
86
87
                                <Alert.Link href="/signup" target='_blank' style={{ fontSize: '0.8em' }}>
                                    회원가입 하러가기 
                                </Alert.Link>
Spark's avatar
Spark committed
88
89
90
                            </Alert>
                        }
                    </Row>
Spark's avatar
Spark committed
91

Spark's avatar
Spark committed
92
                    <Form style={inboxstyled}>
Spark's avatar
Spark committed
93
94
95
96
                        <FloatingLabel
                            controlId="floatingInput"
                            label="Email"
                        >
Spark's avatar
Spark committed
97
                            <Form.Control type="email" placeholder="Email" onChange={handleChange} />
Spark's avatar
Spark committed
98
99

                        </FloatingLabel>
Spark's avatar
Spark committed
100
                        <Button variant='light' className='mt-3' id='formbtn' onClick={CheckEmailSend}>
Spark's avatar
Spark committed
101
102
103
                            LOGIN
                        </Button>
                    </Form>
Spark's avatar
Spark committed
104
105
106
107
108
109
110
111
112
113
114

                    <Row className='d-flex align-items-center m-2'>
                        <Col>
                            <hr />
                        </Col>
                        OR
                        <Col>
                            <hr />
                        </Col>
                    </Row>

Spark's avatar
Spark committed
115
116
117
                    <Row style={{ margin: 'auto', marginBottom: '5px', display: 'flex', justifyContent: 'center' }}>
                        <a href="#;" onClick={LoginWithKakao} id='socialLink' >
                            {/* 세미콜론이 붙으면 최상단 이동 x */}
Spark's avatar
Spark committed
118
                            <img src='http://image.kmib.co.kr/online_image/2020/0626/611514110014734788_1.jpg' id='logpng' alt='KAKAO' />
Spark's avatar
Spark committed
119
120
121
122
123
124
125
126
127
128
129
                        </a>

                    </Row>
                </Card.Text>
            </Card>

        </Row>
    )
}

export default LoginComp;