Reggie commited on
Commit
3334ac8
1 Parent(s): 488bb7c

Rename static/index.js to static/script.js

Browse files
Files changed (2) hide show
  1. static/index.js +0 -126
  2. static/script.js +47 -0
static/index.js DELETED
@@ -1,126 +0,0 @@
1
- if (document.location.search.includes('dark-theme=true')) {
2
- document.body.classList.add('dark-theme');
3
- }
4
-
5
- let cursor = 0;
6
- const RANGE = 5;
7
- const LIMIT = 16_000;
8
-
9
- const textToImage = async (text) => {
10
- const inferenceResponse = await fetch(`infer_biggan?input=${text}`);
11
- const inferenceBlob = await inferenceResponse.blob();
12
-
13
- return URL.createObjectURL(inferenceBlob);
14
- };
15
-
16
- const translateText = async (text) => {
17
- const inferResponse = await fetch(`infer_t5?input=${text}`);
18
- const inferJson = await inferResponse.json();
19
-
20
- return inferJson.output;
21
- };
22
-
23
- const queryDataset = async (start, end) => {
24
- const queryResponse = await fetch(`query_emotion?start=${start}&end=${end}`);
25
- const queryJson = await queryResponse.json();
26
-
27
- return queryJson.output;
28
- };
29
-
30
- const updateTable = async (cursor, range = RANGE) => {
31
- const table = document.querySelector('.dataset-output');
32
-
33
- const fragment = new DocumentFragment();
34
-
35
- const observations = await queryDataset(cursor, cursor + range);
36
-
37
- for (const observation of observations) {
38
- let row = document.createElement('tr');
39
- let text = document.createElement('td');
40
- let emotion = document.createElement('td');
41
-
42
- text.textContent = observation.text;
43
- emotion.textContent = observation.emotion;
44
-
45
- row.appendChild(text);
46
- row.appendChild(emotion);
47
- fragment.appendChild(row);
48
- }
49
-
50
- table.innerHTML = '';
51
-
52
- table.appendChild(fragment);
53
-
54
- table.insertAdjacentHTML(
55
- 'afterbegin',
56
- `<thead>
57
- <tr>
58
- <td>text</td>
59
- <td>emotion</td>
60
- </tr>
61
- </thead>`
62
- );
63
- };
64
-
65
- const imageGenSelect = document.getElementById('image-gen-input');
66
- const imageGenImage = document.querySelector('.image-gen-output');
67
- const textGenForm = document.querySelector('.text-gen-form');
68
- const tableButtonPrev = document.querySelector('.table-previous');
69
- const tableButtonNext = document.querySelector('.table-next');
70
-
71
- imageGenSelect.addEventListener('change', async (event) => {
72
- const value = event.target.value;
73
-
74
- try {
75
- imageGenImage.src = await textToImage(value);
76
- imageGenImage.alt = value + ' generated from BigGAN AI model';
77
- } catch (err) {
78
- console.error(err);
79
- }
80
- });
81
-
82
- textGenForm.addEventListener('submit', async (event) => {
83
- event.preventDefault();
84
-
85
- const textGenInput = document.getElementById('text-gen-input');
86
- const textGenParagraph = document.querySelector('.text-gen-output');
87
-
88
- try {
89
- textGenParagraph.textContent = await translateText(textGenInput.value);
90
- } catch (err) {
91
- console.error(err);
92
- }
93
- });
94
-
95
- tableButtonPrev.addEventListener('click', () => {
96
- cursor = cursor > RANGE ? cursor - RANGE : 0;
97
-
98
- if (cursor < RANGE) {
99
- tableButtonPrev.classList.add('hidden');
100
- }
101
- if (cursor < LIMIT - RANGE) {
102
- tableButtonNext.classList.remove('hidden');
103
- }
104
-
105
- updateTable(cursor);
106
- });
107
-
108
- tableButtonNext.addEventListener('click', () => {
109
- cursor = cursor < LIMIT - RANGE ? cursor + RANGE : cursor;
110
-
111
- if (cursor >= RANGE) {
112
- tableButtonPrev.classList.remove('hidden');
113
- }
114
- if (cursor >= LIMIT - RANGE) {
115
- tableButtonNext.classList.add('hidden');
116
- }
117
-
118
- updateTable(cursor);
119
- });
120
-
121
- textToImage(imageGenSelect.value)
122
- .then((image) => (imageGenImage.src = image))
123
- .catch(console.error);
124
-
125
- updateTable(cursor)
126
- .catch(console.error);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
static/script.js ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ $(document).ready(function () {
2
+ let recording = false;
3
+
4
+ $("#startBtn").click(function () {
5
+ const youtubeUrl = $("#urlInput").val().trim();
6
+ if (youtubeUrl === "") {
7
+ showMessage("Please enter a valid YouTube Livestream URL.", "danger");
8
+ return;
9
+ }
10
+
11
+ // Call the start_process route in Flask
12
+ $.ajax({
13
+ type: "POST",
14
+ url: "/start_process",
15
+ data: { url: youtubeUrl },
16
+ success: function (data) {
17
+ showMessage(data.message, "success");
18
+ recording = true;
19
+ },
20
+ error: function (xhr, status, error) {
21
+ showMessage("Error: " + xhr.responseText, "danger");
22
+ },
23
+ });
24
+ });
25
+
26
+ $("#stopBtn").click(function () {
27
+ showMessage("Stopping transcription. This may take upto 30 sec.", "success");
28
+ // Call the stop_process route in Flask
29
+ $.ajax({
30
+ type: "POST",
31
+ url: "/stop_process",
32
+ success: function (data) {
33
+ showMessage(data.message, "success");
34
+ recording = false;
35
+ },
36
+ error: function (xhr, status, error) {
37
+ showMessage("Error: " + xhr.responseText, "danger");
38
+ },
39
+ });
40
+ });
41
+
42
+ function showMessage(message, type) {
43
+ $("#message").html(
44
+ `<div class="alert alert-${type}" role="alert">${message}</div>`
45
+ );
46
+ }
47
+ });