juancauma commited on
Commit
07bb213
·
1 Parent(s): b92da5d

changes to font color

Browse files
Files changed (2) hide show
  1. app.py +97 -12
  2. styles.css +72 -14
app.py CHANGED
@@ -2,6 +2,7 @@ import gradio as gr
2
  import pandas as pd
3
  import json
4
  import os
 
5
 
6
  # Load external CSS from the file "styles.css"
7
  try:
@@ -25,6 +26,53 @@ div.gradio-container [class*="block"] .search-panel {
25
  """
26
  custom_css += additional_css
27
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  def strip_timestamp(name):
29
  """Remove the timestamp portion from the model name."""
30
  parts = name.split('-')
@@ -314,7 +362,10 @@ def update_leaderboard(selected_mwoz, selected_tau_airline, selected_tau_retail,
314
  {html_table}
315
  """
316
 
317
- with gr.Blocks(css=custom_css, title="TD-EVAL Leaderboard") as demo:
 
 
 
318
  gr.Markdown("# 🏆 TD-EVAL Model Evaluation Leaderboard")
319
  gr.HTML('<div class="subtitle">This leaderboard displays aggregated model performance across multiple evaluation metrics.</div>')
320
 
@@ -327,26 +378,50 @@ with gr.Blocks(css=custom_css, title="TD-EVAL Leaderboard") as demo:
327
  var checkboxPanels = document.querySelectorAll('.checkbox-panel');
328
  for (var i = 0; i < checkboxPanels.length; i++) {
329
  checkboxPanels[i].style.backgroundColor = 'green';
 
 
 
 
 
 
330
  }
331
 
332
  // Fix search panel
333
  var searchPanels = document.querySelectorAll('.search-panel');
334
  for (var i = 0; i < searchPanels.length; i++) {
335
  searchPanels[i].style.backgroundColor = 'green';
 
 
 
 
 
 
336
  }
337
 
338
  // Also try to find parent blocks and set their background
339
- checkboxPanels.forEach(function(panel) {
340
- var parent = panel.closest('.block');
341
- if (parent) {
342
- parent.style.backgroundColor = 'green';
 
 
 
 
 
 
 
 
343
  }
344
- });
345
-
346
- searchPanels.forEach(function(panel) {
347
- var parent = panel.closest('.block');
348
- if (parent) {
349
- parent.style.backgroundColor = 'green';
 
 
 
 
350
  }
351
  });
352
  }
@@ -372,11 +447,19 @@ with gr.Blocks(css=custom_css, title="TD-EVAL Leaderboard") as demo:
372
  </div>
373
  ''')
374
 
 
 
 
375
  with gr.Row(elem_classes="checkbox-panel", elem_id="checkbox-panel"):
376
  cb_mwoz = gr.Checkbox(label="mwoz", value=True)
377
  cb_tau_airline = gr.Checkbox(label="tau-airline", value=True)
378
  cb_tau_retail = gr.Checkbox(label="tau-retail", value=True)
379
-
 
 
 
 
 
380
  with gr.Row(elem_classes="search-panel", elem_id="search-panel"):
381
  search_input = gr.Textbox(
382
  label="Search models",
@@ -384,6 +467,8 @@ with gr.Blocks(css=custom_css, title="TD-EVAL Leaderboard") as demo:
384
  elem_classes="search-input"
385
  )
386
 
 
 
387
  hidden_sort_state = gr.State(value={"sort_by": "Average Score", "ascending": False})
388
 
389
  # Add sorting buttons
 
2
  import pandas as pd
3
  import json
4
  import os
5
+ from gradio.themes.utils import colors
6
 
7
  # Load external CSS from the file "styles.css"
8
  try:
 
26
  """
27
  custom_css += additional_css
28
 
29
+ # Create a custom theme with green for our panels
30
+ class CustomTheme(gr.themes.Base):
31
+ def __init__(self):
32
+ super().__init__(
33
+ primary_hue=colors.red,
34
+ secondary_hue=colors.green,
35
+ neutral_hue=colors.gray,
36
+ text_size=gr.themes.sizes.text_lg
37
+ )
38
+ # Set up theme-level CSS variables
39
+ self.block_background_fill = "transparent"
40
+ self.block_border_width = "0px"
41
+ self.block_shadow = "none"
42
+ # Set color variables for all panel backgrounds
43
+ self.background_fill_secondary = "green" # Used for panels
44
+
45
+ # Add additional CSS for the new styles
46
+ custom_css += """
47
+ /* Override Gradio theme variables */
48
+ :root {
49
+ --block-background-fill: transparent !important;
50
+ --background-fill-primary: transparent !important;
51
+ --background-fill-secondary: transparent !important;
52
+ }
53
+
54
+ /* Target Gradio's internal structure directly */
55
+ .dark .block, .dark .gradio-container, .gradio-container .dark {
56
+ color-scheme: dark;
57
+ }
58
+
59
+ .block.block.block,
60
+ [id="checkbox-panel"],
61
+ [id="search-panel"],
62
+ [class*="block"] [class*="checkbox-panel"],
63
+ [class*="block"] [class*="search-panel"] {
64
+ background-color: green !important;
65
+ }
66
+
67
+ /* Force all child elements to be transparent */
68
+ [id="checkbox-panel"] *,
69
+ [id="search-panel"] *,
70
+ .checkbox-panel *,
71
+ .search-panel * {
72
+ background-color: transparent !important;
73
+ }
74
+ """
75
+
76
  def strip_timestamp(name):
77
  """Remove the timestamp portion from the model name."""
78
  parts = name.split('-')
 
362
  {html_table}
363
  """
364
 
365
+ # Create our custom theme instance
366
+ custom_theme = CustomTheme()
367
+
368
+ with gr.Blocks(css=custom_css, title="TD-EVAL Leaderboard", theme=custom_theme) as demo:
369
  gr.Markdown("# 🏆 TD-EVAL Model Evaluation Leaderboard")
370
  gr.HTML('<div class="subtitle">This leaderboard displays aggregated model performance across multiple evaluation metrics.</div>')
371
 
 
378
  var checkboxPanels = document.querySelectorAll('.checkbox-panel');
379
  for (var i = 0; i < checkboxPanels.length; i++) {
380
  checkboxPanels[i].style.backgroundColor = 'green';
381
+
382
+ // Find ALL child elements and make their backgrounds transparent
383
+ var children = checkboxPanels[i].querySelectorAll('*');
384
+ for (var j = 0; j < children.length; j++) {
385
+ children[j].style.backgroundColor = 'transparent';
386
+ }
387
  }
388
 
389
  // Fix search panel
390
  var searchPanels = document.querySelectorAll('.search-panel');
391
  for (var i = 0; i < searchPanels.length; i++) {
392
  searchPanels[i].style.backgroundColor = 'green';
393
+
394
+ // Find ALL child elements and make their backgrounds transparent
395
+ var children = searchPanels[i].querySelectorAll('*');
396
+ for (var j = 0; j < children.length; j++) {
397
+ children[j].style.backgroundColor = 'transparent';
398
+ }
399
  }
400
 
401
  // Also try to find parent blocks and set their background
402
+ var blocks = document.querySelectorAll('.block');
403
+ blocks.forEach(function(block) {
404
+ if (block.querySelector('.checkbox-panel') || block.classList.contains('checkbox-panel')) {
405
+ block.style.backgroundColor = 'green';
406
+
407
+ // Make all direct children transparent
408
+ var children = block.children;
409
+ for (var j = 0; j < children.length; j++) {
410
+ if (!children[j].classList.contains('checkbox-panel')) {
411
+ children[j].style.backgroundColor = 'transparent';
412
+ }
413
+ }
414
  }
415
+ if (block.querySelector('.search-panel') || block.classList.contains('search-panel')) {
416
+ block.style.backgroundColor = 'green';
417
+
418
+ // Make all direct children transparent
419
+ var children = block.children;
420
+ for (var j = 0; j < children.length; j++) {
421
+ if (!children[j].classList.contains('search-panel')) {
422
+ children[j].style.backgroundColor = 'transparent';
423
+ }
424
+ }
425
  }
426
  });
427
  }
 
447
  </div>
448
  ''')
449
 
450
+ # Add a direct HTML wrapper with inline style for the checkboxes
451
+ gr.HTML('<div style="background-color: green; padding: 12px; border-radius: 6px; margin-bottom: 1rem;">')
452
+
453
  with gr.Row(elem_classes="checkbox-panel", elem_id="checkbox-panel"):
454
  cb_mwoz = gr.Checkbox(label="mwoz", value=True)
455
  cb_tau_airline = gr.Checkbox(label="tau-airline", value=True)
456
  cb_tau_retail = gr.Checkbox(label="tau-retail", value=True)
457
+
458
+ gr.HTML('</div>')
459
+
460
+ # Add a direct HTML wrapper with inline style for the search
461
+ gr.HTML('<div style="background-color: green; padding: 12px; border-radius: 6px; margin-bottom: 1rem;">')
462
+
463
  with gr.Row(elem_classes="search-panel", elem_id="search-panel"):
464
  search_input = gr.Textbox(
465
  label="Search models",
 
467
  elem_classes="search-input"
468
  )
469
 
470
+ gr.HTML('</div>')
471
+
472
  hidden_sort_state = gr.State(value={"sort_by": "Average Score", "ascending": False})
473
 
474
  # Add sorting buttons
styles.css CHANGED
@@ -190,32 +190,90 @@ input[type="text"]:focus {
190
  Checkbox Panel and Search Panel - High Specificity Rules
191
  ------------------------------------------------------------------ */
192
 
193
- /* Target all possible Gradio wrappers for checkbox-panel */
194
- div[class*="gradio-container"] div[class*="checkbox-panel"],
195
- div[class*="block"] div[class*="checkbox-panel"],
196
- div[class*="row"] div[class*="checkbox-panel"],
197
- .gradio-container .checkbox-panel,
198
- [data-testid*="row"] .checkbox-panel,
199
- .checkbox-panel {
 
 
 
 
 
 
 
 
200
  background-color: green !important;
201
  padding: 12px !important;
202
  border-radius: 6px !important;
203
  margin-bottom: 1rem !important;
204
  }
205
 
206
- /* Target all possible Gradio wrappers for search-panel */
207
- div[class*="gradio-container"] div[class*="search-panel"],
208
- div[class*="block"] div[class*="search-panel"],
209
- div[class*="row"] div[class*="search-panel"],
210
- .gradio-container .search-panel,
211
- [data-testid*="row"] .search-panel,
212
- .search-panel {
 
 
213
  background-color: green !important;
214
  padding: 12px !important;
215
  border-radius: 6px !important;
216
  margin-bottom: 1rem !important;
217
  }
218
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
219
  /* ------------------------------------------------------------------
220
  Override any Gradio-specific styles that might be interfering
221
  ------------------------------------------------------------------ */
 
190
  Checkbox Panel and Search Panel - High Specificity Rules
191
  ------------------------------------------------------------------ */
192
 
193
+ /* Global resets for all panel elements */
194
+ .checkbox-panel *,
195
+ .search-panel * {
196
+ background-color: transparent !important;
197
+ }
198
+
199
+ /* Target all possible Gradio wrappers for checkbox-panel with maximum specificity */
200
+ body div.gradio-container div[class*="block"] div.checkbox-panel,
201
+ body div.gradio-container [data-testid*="block"] div.checkbox-panel,
202
+ body div.gradio-container [class*="row"] div.checkbox-panel,
203
+ div[class*="gradio-container"] div.checkbox-panel,
204
+ div.gradio-container [class*="row"] div.checkbox-panel,
205
+ div.checkbox-panel,
206
+ .checkbox-panel,
207
+ #checkbox-panel {
208
  background-color: green !important;
209
  padding: 12px !important;
210
  border-radius: 6px !important;
211
  margin-bottom: 1rem !important;
212
  }
213
 
214
+ /* Target all possible Gradio wrappers for search-panel with maximum specificity */
215
+ body div.gradio-container div[class*="block"] div.search-panel,
216
+ body div.gradio-container [data-testid*="block"] div.search-panel,
217
+ body div.gradio-container [class*="row"] div.search-panel,
218
+ div[class*="gradio-container"] div.search-panel,
219
+ div.gradio-container [class*="row"] div.search-panel,
220
+ div.search-panel,
221
+ .search-panel,
222
+ #search-panel {
223
  background-color: green !important;
224
  padding: 12px !important;
225
  border-radius: 6px !important;
226
  margin-bottom: 1rem !important;
227
  }
228
 
229
+ /* Target gradio blocks that contain our panels */
230
+ div[class*="block"] div.checkbox-panel,
231
+ div.checkbox-panel[class*="block"],
232
+ div[class*="block"].checkbox-panel,
233
+ div[class*="block"] div.search-panel,
234
+ div.search-panel[class*="block"],
235
+ div[class*="block"].search-panel {
236
+ background-color: green !important;
237
+ }
238
+
239
+ /* Target the gradio block wrapper directly */
240
+ div[class*="block"][id*="checkbox-panel"],
241
+ div[class*="block"][id*="search-panel"] {
242
+ background-color: green !important;
243
+ }
244
+
245
+ /* Target any div inside these panels to ensure children are transparent */
246
+ .checkbox-panel div,
247
+ .search-panel div {
248
+ background-color: transparent !important;
249
+ }
250
+
251
+ /* Force all internal container elements to be transparent */
252
+ .checkbox-panel [class*="container"],
253
+ .search-panel [class*="container"],
254
+ .checkbox-panel [class*="wrap"],
255
+ .search-panel [class*="wrap"],
256
+ .checkbox-panel [class*="form"],
257
+ .search-panel [class*="form"] {
258
+ background-color: transparent !important;
259
+ }
260
+
261
+ /* Additional style overrides for specific Gradio elements */
262
+ .checkbox-panel .form,
263
+ .checkbox-panel .form div,
264
+ .checkbox-panel .block,
265
+ .checkbox-panel .block div,
266
+ .checkbox-panel .container,
267
+ .checkbox-panel .container div,
268
+ .search-panel .form,
269
+ .search-panel .form div,
270
+ .search-panel .block,
271
+ .search-panel .block div,
272
+ .search-panel .container,
273
+ .search-panel .container div {
274
+ background-color: transparent !important;
275
+ }
276
+
277
  /* ------------------------------------------------------------------
278
  Override any Gradio-specific styles that might be interfering
279
  ------------------------------------------------------------------ */