rein0421 commited on
Commit
f514ea6
·
verified ·
1 Parent(s): 7c7c907

Upload index.html

Browse files
Files changed (1) hide show
  1. templates/index.html +51 -26
templates/index.html CHANGED
@@ -139,12 +139,8 @@
139
 
140
  if (!data || !data.members || !Array.isArray(data.members)) {
141
  console.error("Invalid member data received:", data);
142
- members = ["member1", "member2"];
143
  voiceData = [50, 50];
144
- if (members.length > 1) {
145
- members.push("その他");
146
- voiceData.push(0);
147
- }
148
  updateChart();
149
  return;
150
  }
@@ -158,20 +154,25 @@
158
  updateChart();
159
  } catch (error) {
160
  console.error("Failed to fetch member data:", error);
161
- members = ["member1", "member2"];
162
  voiceData = [50, 50];
163
- if (members.length > 1) {
164
- members.push("その他");
165
- voiceData.push(0);
166
- }
167
  updateChart();
168
  }
169
  }
170
 
171
  function updateChart() {
172
- speechChart.data.labels = members;
 
 
 
 
 
 
 
 
 
 
173
  speechChart.data.datasets[0].data = voiceData;
174
- speechChart.data.datasets[0].backgroundColor = getMemberColors(members.length);
175
  speechChart.update();
176
  }
177
 
@@ -250,7 +251,8 @@
250
  }
251
 
252
  function getMemberColors(memberCount) {
253
- if (memberCount === 2) {
 
254
  return ["#4caf50", "#757575"];
255
  } else {
256
  let colors = [];
@@ -262,20 +264,43 @@
262
  }
263
 
264
  function updateChartData(newRate) {
265
- if (count_voice === 0) {
266
- speechChart.data.datasets[0].data = [newRate, 100 - newRate];
267
- before_rate = newRate;
268
- } else if (count_voice === 1) {
269
- let tmp_rate = (newRate + before_rate) / 2;
270
- speechChart.data.datasets[0].data = [tmp_rate, 100 - tmp_rate];
271
- before_rate = tmp_rate;
 
 
 
 
 
 
 
 
 
 
 
 
272
  } else {
273
- let tmp_rate = (newRate + before_rate * 2) / 3;
274
- speechChart.data.datasets[0].data = [tmp_rate, 100 - tmp_rate];
275
- before_rate = tmp_rate;
 
 
 
 
 
 
 
 
 
 
 
 
276
  }
277
- count_voice++;
278
- speechChart.data.datasets[0].backgroundColor = getMemberColors(members.length);
279
  speechChart.update();
280
  }
281
 
@@ -293,4 +318,4 @@
293
  }
294
  </script>
295
  </body>
296
- </html>
 
139
 
140
  if (!data || !data.members || !Array.isArray(data.members)) {
141
  console.error("Invalid member data received:", data);
142
+ members = ["member1"];
143
  voiceData = [50, 50];
 
 
 
 
144
  updateChart();
145
  return;
146
  }
 
154
  updateChart();
155
  } catch (error) {
156
  console.error("Failed to fetch member data:", error);
157
+ members = ["member1"];
158
  voiceData = [50, 50];
 
 
 
 
159
  updateChart();
160
  }
161
  }
162
 
163
  function updateChart() {
164
+ // 一人モードの場合は、ユーザーとグレー(無音)の比率をチャートに表示
165
+ if (members.length === 1) {
166
+ const userName = members[0];
167
+ speechChart.data.labels = [userName, "無音"];
168
+ speechChart.data.datasets[0].backgroundColor = ["#4caf50", "#757575"];
169
+ } else {
170
+ // 複数メンバーの場合は通常通りの処理
171
+ speechChart.data.labels = members;
172
+ speechChart.data.datasets[0].backgroundColor = getMemberColors(members.length);
173
+ }
174
+
175
  speechChart.data.datasets[0].data = voiceData;
 
176
  speechChart.update();
177
  }
178
 
 
251
  }
252
 
253
  function getMemberColors(memberCount) {
254
+ // 一人モードの場合は特別な処理をしない(updateChartで処理するため)
255
+ if (memberCount <= 1) {
256
  return ["#4caf50", "#757575"];
257
  } else {
258
  let colors = [];
 
264
  }
265
 
266
  function updateChartData(newRate) {
267
+ // 一人モードの時の処理
268
+ if (members.length === 1) {
269
+ if (count_voice === 0) {
270
+ speechChart.data.datasets[0].data = [newRate, 100 - newRate];
271
+ before_rate = newRate;
272
+ } else if (count_voice === 1) {
273
+ let tmp_rate = (newRate + before_rate) / 2;
274
+ speechChart.data.datasets[0].data = [tmp_rate, 100 - tmp_rate];
275
+ before_rate = tmp_rate;
276
+ } else {
277
+ let tmp_rate = (newRate + before_rate * 2) / 3;
278
+ speechChart.data.datasets[0].data = [tmp_rate, 100 - tmp_rate];
279
+ before_rate = tmp_rate;
280
+ }
281
+ count_voice++;
282
+
283
+ // 一人モードでは常に緑色とグレーの組み合わせを使用
284
+ speechChart.data.labels = [members[0], "無音"];
285
+ speechChart.data.datasets[0].backgroundColor = ["#4caf50", "#757575"];
286
  } else {
287
+ // 複数メンバーの場合は元の処理
288
+ if (count_voice === 0) {
289
+ speechChart.data.datasets[0].data = [newRate, 100 - newRate];
290
+ before_rate = newRate;
291
+ } else if (count_voice === 1) {
292
+ let tmp_rate = (newRate + before_rate) / 2;
293
+ speechChart.data.datasets[0].data = [tmp_rate, 100 - tmp_rate];
294
+ before_rate = tmp_rate;
295
+ } else {
296
+ let tmp_rate = (newRate + before_rate * 2) / 3;
297
+ speechChart.data.datasets[0].data = [tmp_rate, 100 - tmp_rate];
298
+ before_rate = tmp_rate;
299
+ }
300
+ count_voice++;
301
+ speechChart.data.datasets[0].backgroundColor = getMemberColors(members.length);
302
  }
303
+
 
304
  speechChart.update();
305
  }
306
 
 
318
  }
319
  </script>
320
  </body>
321
+ </html>