Admin.js 2.42 KB
Newer Older
baesangjune's avatar
baesangjune committed
1
import React, { useState } 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
splice    
Jiwon Yoon committed
6
let QnAadmins = []
Jiwon Yoon's avatar
h    
Jiwon Yoon committed
7

baesangjune's avatar
baesangjune committed
8
function Admin() {
baesangjune's avatar
baesangjune committed
9

Jiwon Yoon's avatar
A    
Jiwon Yoon committed
10
11
    const [result, setresult] = useState('')
    const [QuizBtnCount, setQuizBtnCount] = useState(4)
Jiwon Yoon's avatar
splice    
Jiwon Yoon committed
12
    const [n, setn] = useState(0)
baesangjune's avatar
baesangjune 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
splice    
Jiwon Yoon committed
19
20
        setn(e.target.id)
        setresult(<AdminQuiz quizNum={e.target.id} fn={handleClickSave} data={QnAadmins} />)
baesangjune's avatar
baesangjune committed
21
    }
Jiwon Yoon's avatar
A    
Jiwon Yoon committed
22
23
24

    function handleClickAddQuiz() {
        QuizBtn.push(
Jiwon Yoon's avatar
a    
Jiwon Yoon committed
25
            <button type='button' className='btn btn-outline-primary' id={QuizBtnCount} onClick={handleClickQuiz}>Quiz {QuizBtnCount}</button>
Jiwon Yoon's avatar
d    
Jiwon Yoon committed
26
        )
Jiwon Yoon's avatar
A    
Jiwon Yoon committed
27
        setQuizBtnCount(QuizBtnCount + 1)
Jiwon Yoon's avatar
d    
Jiwon Yoon committed
28
29
    }

Jiwon Yoon's avatar
splice    
Jiwon Yoon committed
30
31
32
33
34
35

    function handleClickSave(QnAadmin){
        QnAadmins.splice(n, 0, QnAadmin)
        localStorage.setItem('QnA', JSON.stringify(QnAadmins))
    }

baesangjune's avatar
baesangjune committed
36
37
    return (
        <>
Jiwon Yoon's avatar
A    
Jiwon Yoon committed
38
            <div className="container-fluid">
Jiwon Yoon's avatar
ha..    
Jiwon Yoon committed
39
                <div className="row justify-content-md-center mt-5">
Jiwon Yoon's avatar
ㅠㅠ    
Jiwon Yoon committed
40
41
42
                    <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
43
                        </div>
Jiwon Yoon's avatar
ㅠㅠ    
Jiwon Yoon committed
44
45
                        <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
46
                        </div>
Jiwon Yoon's avatar
ㅠㅠ    
Jiwon Yoon committed
47
                        <div className="btn-group-vertical py-4">
Jiwon Yoon's avatar
A    
Jiwon Yoon committed
48
49
50
51
52
                            <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
53

Jiwon Yoon's avatar
A    
Jiwon Yoon committed
54
                        </div>
Jiwon Yoon's avatar
h    
Jiwon Yoon committed
55
                    </div>
Jiwon Yoon's avatar
d    
Jiwon Yoon committed
56

Jiwon Yoon's avatar
ha..    
Jiwon Yoon committed
57
                    <div className="col-8 ">
Jiwon Yoon's avatar
a    
Jiwon Yoon committed
58
                        {result}
Jiwon Yoon's avatar
h    
Jiwon Yoon committed
59
60
61
62
                    </div>
                </div>
            </div>

baesangjune's avatar
admin    
baesangjune committed
63

Jiwon Yoon's avatar
A    
Jiwon Yoon committed
64
        </>
baesangjune's avatar
baesangjune committed
65
66
67
68
    )
}

export default Admin