Admin.js 2.79 KB
Newer Older
Jiwon Yoon's avatar
Jiwon Yoon committed
1
import React, { useState, useEffect } from 'react';
Jiwon Yoon's avatar
a    
Jiwon Yoon committed
2
import AdminQuiz from './AdminQuiz'
Jiwon Yoon's avatar
Jiwon Yoon committed
3
import AdminSetting from './AdminSetting'
baesangjune's avatar
baesangjune committed
4

Jiwon Yoon's avatar
A    
Jiwon Yoon committed
5
let QuizBtn = []
Jiwon Yoon's avatar
Jiwon Yoon committed
6
let QnAadmins
baesangjune's avatar
baesangjune committed
7
function Admin() {
baesangjune's avatar
baesangjune committed
8

Jiwon Yoon's avatar
A    
Jiwon Yoon committed
9
10
    const [result, setresult] = useState('')
    const [QuizBtnCount, setQuizBtnCount] = useState(4)
Jiwon Yoon's avatar
splice    
Jiwon Yoon committed
11
    const [n, setn] = useState(0)
baesangjune's avatar
baesangjune committed
12

Jiwon Yoon's avatar
Jiwon Yoon committed
13

Jiwon Yoon's avatar
A    
Jiwon Yoon committed
14
15
    function handleClickSetting() {
        setresult(<AdminSetting />)
baesangjune's avatar
baesangjune committed
16
    }
Jiwon Yoon's avatar
h    
Jiwon Yoon committed
17

Jiwon Yoon's avatar
A    
Jiwon Yoon committed
18
    function handleClickQuiz(e) {
Jiwon Yoon's avatar
Jiwon Yoon committed
19
20
21
22
23
24
25
26
27
28
29
30
        if (QnAadmins) {
            let QnAadmins = []
            setn(e.target.id)
            setresult(<AdminQuiz quizNum={e.target.id} fn={handleClickSave} data={QnAadmins} />)
        }
        else {
            setn(e.target.id)
            // let QnAadmins = []
            let QnAadmins = JSON.parse(localStorage.getItem('QnA'))
            console.log(QnAadmins)
            setresult(<AdminQuiz quizNum={e.target.id} fn={handleClickSave} data={QnAadmins[Number(n)]} />)
        }
baesangjune's avatar
baesangjune committed
31
    }
Jiwon Yoon's avatar
A    
Jiwon Yoon committed
32
33
34

    function handleClickAddQuiz() {
        QuizBtn.push(
Jiwon Yoon's avatar
a    
Jiwon Yoon committed
35
            <button type='button' className='btn btn-outline-primary' id={QuizBtnCount} onClick={handleClickQuiz}>Quiz {QuizBtnCount}</button>
Jiwon Yoon's avatar
d    
Jiwon Yoon committed
36
        )
Jiwon Yoon's avatar
A    
Jiwon Yoon committed
37
        setQuizBtnCount(QuizBtnCount + 1)
Jiwon Yoon's avatar
d    
Jiwon Yoon committed
38
39
    }

Jiwon Yoon's avatar
Jiwon Yoon committed
40
    function handleClickSave(QnAadmin) {
Jiwon Yoon's avatar
splice    
Jiwon Yoon committed
41
42
43
44
        QnAadmins.splice(n, 0, QnAadmin)
        localStorage.setItem('QnA', JSON.stringify(QnAadmins))
    }

baesangjune's avatar
baesangjune committed
45
46
    return (
        <>
Jiwon Yoon's avatar
A    
Jiwon Yoon committed
47
            <div className="container-fluid">
Jiwon Yoon's avatar
ha..    
Jiwon Yoon committed
48
                <div className="row justify-content-md-center mt-5">
Jiwon Yoon's avatar
ㅠㅠ    
Jiwon Yoon committed
49
50
51
                    <div className="col-2 text-center border py-5 bg-white">
                        <div className="py-3 border-top border-bottom">
                            <h5 className="font-weight-bold">ADMIN</h5>
Jiwon Yoon's avatar
A    
Jiwon Yoon committed
52
                        </div>
Jiwon Yoon's avatar
ㅠㅠ    
Jiwon Yoon committed
53
54
                        <div className="border-bottom py-4">
                            <button type="button" className="btn btn-info" onClick={handleClickSetting}>Setting</button>
Jiwon Yoon's avatar
A    
Jiwon Yoon committed
55
                        </div>
Jiwon Yoon's avatar
ㅠㅠ    
Jiwon Yoon committed
56
                        <div className="btn-group-vertical py-4">
Jiwon Yoon's avatar
A    
Jiwon Yoon committed
57
58
59
60
61
                            <button type="button" className="btn btn-outline-primary" id="1" onClick={handleClickQuiz}>Quiz 1</button>
                            <button type="button" className="btn btn-outline-primary" id="2" onClick={handleClickQuiz}>Quiz 2</button>
                            <button type="button" className="btn btn-outline-primary" id="3" onClick={handleClickQuiz}>Quiz 3</button>
                            {QuizBtn.map((element) => element)}
                            <button type="button" className="btn btn-outline-primary" onClick={handleClickAddQuiz}>+</button>
baesangjune's avatar
baesangjune committed
62

Jiwon Yoon's avatar
A    
Jiwon Yoon committed
63
                        </div>
Jiwon Yoon's avatar
h    
Jiwon Yoon committed
64
                    </div>
Jiwon Yoon's avatar
d    
Jiwon Yoon committed
65

Jiwon Yoon's avatar
ha..    
Jiwon Yoon committed
66
                    <div className="col-8 ">
Jiwon Yoon's avatar
a    
Jiwon Yoon committed
67
                        {result}
Jiwon Yoon's avatar
h    
Jiwon Yoon committed
68
69
70
71
                    </div>
                </div>
            </div>

baesangjune's avatar
admin    
baesangjune committed
72

Jiwon Yoon's avatar
A    
Jiwon Yoon committed
73
        </>
baesangjune's avatar
baesangjune committed
74
75
76
77
    )
}

export default Admin