Bookmark.js 2.53 KB
Newer Older
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
1
2
3
import React, { useState, useEffect } from 'react'
import { Alert, Col, Card, Container, Form, Row, Button, Nav, Navbar, ListGroup, Image, Table } from "react-bootstrap"
import axios from "axios"
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
4
import catchErrors from './utils/catchErrors.js'
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
5
import { isAuthenticated } from './utils/auth'
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
6

Lee SeoYeon's avatar
.    
Lee SeoYeon committed
7

Lee SeoYeon's avatar
..    
Lee SeoYeon committed
8
const INIT_PAGE = {
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
9
10
    bookmark: ['성산일출봉', '제주도', '한라산', '주상절리', '오설록 티 뮤지엄',]

Lee SeoYeon's avatar
.    
Lee SeoYeon committed
11
12
}

Lee SeoYeon's avatar
.    
Lee SeoYeon committed
13
14
const user = isAuthenticated()

Lee SeoYeon's avatar
.    
Lee SeoYeon committed
15
function Bookmark() {
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
16
    const [page, setPage] = useState(INIT_PAGE)
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
17
    const [error, setError] = useState('')
Lee SeoYeon's avatar
..    
Lee SeoYeon committed
18
19
    const [success, setSuccess] = useState(false)
    const [state, setState] = useState(false);
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
20

Lee SeoYeon's avatar
.    
Lee SeoYeon committed
21
22
    const user = isAuthenticated()

Lee SeoYeon's avatar
..    
Lee SeoYeon committed
23
24
    const userId = localStorage.getItem('loginStatus')

Lee SeoYeon's avatar
.    
Lee SeoYeon committed
25
    async function getBookmark() {
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
26
27
        try {
            setError('')
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
28
29
            console.log(page.bookmark)
            const bookmark = page.bookmark
Lee SeoYeon's avatar
..    
Lee SeoYeon committed
30
            console.log(userId)
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
31
32
            const response = await axios.put(`/api/users/bookmark`, { bookmark: bookmark, userId: userId })
            console.log(response.data)
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
33
34
        } catch (error) {
            catchErrors(error, setError)
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
35
        }
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
36
37
    }

Lee SeoYeon's avatar
..    
Lee SeoYeon committed
38
39
40
41
42
43
44
45
46
47
48
49
50
51
    // async function handleSubmit(e){
    //     setState(true);  //버튼이 눌려서 handlesubmit이될때 setState값이 true로 바뀐다
    //     try { //respons 서버에 post로 요청하여 데이터를 받아온다
    //         const response = await axios.post('/api/users/bookmark', page)
    //         setSuccess(true)
    //     } catch (error) {
    //         console.log(error)
    //         catchErrors(error, setError)
    //     }
    // }

    // useEffect(() => {
    //     getBookmark(user)
    // }, [user])
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
52
53


Lee SeoYeon's avatar
.    
Lee SeoYeon committed
54
55
56
57
58
59
60
61

    return (
        <Container>
            <Navbar bg="primary" variant="dark">
                <Navbar.Brand href="/">북마크</Navbar.Brand>
                <Nav className="mr-auto">
                    <Nav.Link href="/">Home</Nav.Link>
                </Nav>
Lee SeoYeon's avatar
..    
Lee SeoYeon committed
62
                <Button type='submit' onClick={getBookmark}>저장</Button>
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
63
            </Navbar>
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
64
65
66
67
68
69
70
71
72
            <Form>
                <ListGroup>
                    <ListGroup.Item>{page.bookmark[0]}</ListGroup.Item>
                    <ListGroup.Item>{page.bookmark[1]}</ListGroup.Item>
                    <ListGroup.Item>{page.bookmark[2]}</ListGroup.Item>
                    <ListGroup.Item>{page.bookmark[3]}</ListGroup.Item>
                    <ListGroup.Item>{page.bookmark[4]}</ListGroup.Item>
                </ListGroup>
            </Form>
Lee SeoYeon's avatar
.    
Lee SeoYeon committed
73
74
75
76
77
        </Container>
    )
}

export default Bookmark