File size: 7,160 Bytes
4e1d4ee
94e14dc
 
 
 
65d94dd
995e423
3763d04
ec2f9d4
 
 
 
 
 
 
 
 
 
 
 
 
7a01815
 
 
a31b49e
 
772c6d6
 
a31b49e
 
 
 
 
 
 
 
 
 
772c6d6
a31b49e
 
 
 
 
 
7a01815
 
 
 
 
 
 
772c6d6
7a01815
 
 
 
 
 
ec2f9d4
a31b49e
 
f47f85a
772c6d6
 
 
 
 
 
 
 
ec2f9d4
3763d04
94e14dc
3763d04
65d94dd
a31b49e
 
 
 
 
 
 
 
 
 
 
 
 
 
65d94dd
a31b49e
 
 
 
 
 
 
65d94dd
f9d7605
 
ff18898
6b23076
995e423
3763d04
995e423
 
 
 
 
 
 
2404702
41a6c80
 
 
bcd40b3
41a6c80
 
 
 
bcd40b3
 
 
 
41a6c80
bcd40b3
 
 
 
 
 
 
 
 
 
 
 
 
 
995e423
41a6c80
 
 
bcd40b3
 
 
 
 
 
41a6c80
bcd40b3
 
a31b49e
bcd40b3
 
 
 
 
 
 
41a6c80
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ff18898
bcd40b3
3763d04
94e14dc
bcd40b3
41a6c80
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>API Request</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/notyf/notyf.min.css">
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
            background-color: #f0f0f0;
            margin: 0;
            padding: 0;
        }
        h1 {
            background-color: #4CAF50;
            color: white;
            padding: 20px;
            margin: 0;
            border-bottom: 2px solid #388E3C;
            font-size: 28px;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
        }
        .form-group {
            margin: 20px auto;
            width: 100%;
            max-width: 400px; /* Устанавливаем максимальную ширину */
            text-align: left;
        }
        .form-group label {
            display: block;
            margin-bottom: 8px;
            font-size: 16px;
        }
        .form-group input,
        .form-group select {
            width: 100%;
            padding: 12px; /* Увеличиваем внутренний отступ */
            font-size: 16px;
            border: 1px solid #ccc;
            border-radius: 5px;
            box-sizing: border-box;
            margin-bottom: 20px;
        }
        button {
            display: block;
            margin: 20px auto;
            color: white;
            background-color: #4CAF50;
            border: none;
            cursor: pointer;
            padding: 12px 24px; /* Увеличиваем внутренний отступ */
            font-size: 16px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }
        button:hover {
            background-color: #388E3C;
        }
        #dropdown-container {
            margin-top: 20px;
        }
        #dropdown-container select {
            width: 100%; /* Устанавливаем ширину выпадающего списка */
            padding: 12px; /* Увеличиваем внутренний отступ */
            font-size: 16px;
            border: 1px solid #ccc;
            border-radius: 5px;
            box-sizing: border-box;
        }
    </style>
</head>
<body>
    <h1>Комменты Бизон 365</h1>

    <div class="form-group">
        <label for="tokenInput">Enter Token:</label>
        <input type="text" id="tokenInput" placeholder="Your Token">
    </div>

    <div class="form-group">
        <label for="dateSelect">Select Date:</label>
        <select id="dateSelect">
            <option value="2021-01-01T00:00:00">2021-01-01</option>
            <option value="2022-01-01T00:00:00">2022-01-01</option>
            <option value="2023-01-01T00:00:00">2023-01-01</option>
            <option value="2024-01-01T00:00:00">2024-01-01</option>
        </select>
    </div>

    <div class="form-group">
        <label for="typeSelect">Type:</label>
        <select id="typeSelect">
            <option value="LiveWebinars">Live Webinars</option>
            <option value="AutoWebinars">Auto Webinars</option>
        </select>
    </div>

    <button id="sendRequestButton">Send Request</button>
    <div id="dropdown-container"></div>
    <button id="sendGetRequestButton">Send GET Request</button>

    <script src="https://cdn.jsdelivr.net/npm/notyf/notyf.min.js"></script>
    <script>
        const notyf = new Notyf({
            duration: 5000,
            position: {
                x: 'right',
                y: 'top',
            },
        });

        let requestButtonClicked = false;

        // Привязываем обработчики событий только один раз
        document.getElementById('sendRequestButton').addEventListener('click', function() {
            if (requestButtonClicked) return; // Если уже нажимали, выходим

            requestButtonClicked = true; // Устанавливаем флаг, что кнопка уже была нажата

            const token = document.getElementById('tokenInput').value;
            const minDate = document.getElementById('dateSelect').value;
            const type = document.getElementById('typeSelect').value;
            const url = '/send_request';

            fetch(url, {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded'
                },
                body: 'token=' + encodeURIComponent(token) + '&minDate=' + encodeURIComponent(minDate) + '&type=' + encodeURIComponent(type)
            })
            .then(response => response.json())
            .then(data => {
                console.log('JSON Response:', data);
                createDropdown(data);
            })
            .catch(error => {
                console.error('Error:', error);
                notyf.error('Error: ' + error.message);
            })
            .finally(() => {
                requestButtonClicked = false; // Сбрасываем флаг после завершения запроса
            });
        });

        function createDropdown(data) {
            const container = document.getElementById('dropdown-container');
            container.innerHTML = ''; // Очистить контейнер перед добавлением нового списка

            const select = document.createElement('select');
            select.id = 'dropdown';
            select.classList.add('form-group');
            data.forEach(item => {
                const option = document.createElement('option');
                option.value = item;
                option.text = item;
                select.appendChild(option);
            });
            container.appendChild(select);

            // Привязываем обработчик событий только один раз
            const sendGetRequestButton = document.getElementById('sendGetRequestButton');
            sendGetRequestButton.removeEventListener('click', handleGetRequest); // Удаляем старый обработчик, если есть
            sendGetRequestButton.addEventListener('click', handleGetRequest);
        }

        function handleGetRequest() {
            const selectedValue = document.getElementById('dropdown').value;
            const token = document.getElementById('tokenInput').value;
            const getUrl = '/send_get_request?token=' + encodeURIComponent(token) + '&webinarId=' + encodeURIComponent(selectedValue);

            fetch(getUrl, {
                method: 'GET'
            })
            .then(response => response.json())
            .then(data => {
                console.log('GET Response:', data);
                notyf.success('User data saved successfully');
            })
            .catch(error => {
                console.error('Error:', error);
                notyf.error('Error: ' + error.message);
            });
        }
    </script>
</body>
</html>