openhands openhands commited on
Commit
72b86cb
·
1 Parent(s): 6737ff3

Fix table icons layout and add Qwen/MiniMax logos

Browse files

1. Fixed table icons to display horizontally using flex container
2. Added proper Qwen logo (purple star) replacing Alibaba logo
3. Added MiniMax logo (pink waveform)
4. Updated COMPANY_LOGO_MAP in both files

Co-authored-by: openhands <openhands@all-hands.dev>

assets/logo-minimax.svg ADDED
assets/logo-qwen.svg ADDED
leaderboard_transformer.py CHANGED
@@ -32,10 +32,11 @@ COMPANY_LOGO_MAP = {
32
  "grok": {"path": "assets/logo-xai.svg", "name": "xAI"},
33
  "cohere": {"path": "assets/logo-cohere.svg", "name": "Cohere"},
34
  "command": {"path": "assets/logo-cohere.svg", "name": "Cohere"},
35
- "qwen": {"path": "assets/logo-alibaba.svg", "name": "Alibaba"},
36
- "alibaba": {"path": "assets/logo-alibaba.svg", "name": "Alibaba"},
37
  "kimi": {"path": "assets/logo-moonshot.svg", "name": "Moonshot"},
38
  "moonshot": {"path": "assets/logo-moonshot.svg", "name": "Moonshot"},
 
39
  }
40
 
41
 
 
32
  "grok": {"path": "assets/logo-xai.svg", "name": "xAI"},
33
  "cohere": {"path": "assets/logo-cohere.svg", "name": "Cohere"},
34
  "command": {"path": "assets/logo-cohere.svg", "name": "Cohere"},
35
+ "qwen": {"path": "assets/logo-qwen.svg", "name": "Qwen"},
36
+ "alibaba": {"path": "assets/logo-qwen.svg", "name": "Qwen"},
37
  "kimi": {"path": "assets/logo-moonshot.svg", "name": "Moonshot"},
38
  "moonshot": {"path": "assets/logo-moonshot.svg", "name": "Moonshot"},
39
+ "minimax": {"path": "assets/logo-minimax.svg", "name": "MiniMax"},
40
  }
41
 
42
 
ui_components.py CHANGED
@@ -59,10 +59,11 @@ COMPANY_LOGO_MAP = {
59
  "grok": {"path": "assets/logo-xai.svg", "name": "xAI"},
60
  "cohere": {"path": "assets/logo-cohere.svg", "name": "Cohere"},
61
  "command": {"path": "assets/logo-cohere.svg", "name": "Cohere"},
62
- "qwen": {"path": "assets/logo-alibaba.svg", "name": "Alibaba"},
63
- "alibaba": {"path": "assets/logo-alibaba.svg", "name": "Alibaba"},
64
  "kimi": {"path": "assets/logo-moonshot.svg", "name": "Moonshot"},
65
  "moonshot": {"path": "assets/logo-moonshot.svg", "name": "Moonshot"},
 
66
  }
67
 
68
 
@@ -467,21 +468,21 @@ def create_leaderboard_display(
467
 
468
  # Add Pareto trophy if on frontier
469
  if row['id'] in pareto_agent_names:
470
- icons_html += f'<img src="{trophy_uri}" alt="On Pareto Frontier" title="On Pareto Frontier" style="width:18px; height:18px; vertical-align:middle; margin-right:4px;">'
471
 
472
  # Add openness lock icon
473
  openness_val = row.get('Openness', '')
474
  if openness_val in [aliases.CANONICAL_OPENNESS_OPEN, 'Open', 'Open Source', 'Open Source + Open Weights']:
475
  lock_uri = get_svg_as_data_uri("assets/lock-open.svg")
476
- icons_html += f'<img src="{lock_uri}" alt="Open" title="Open source model" style="width:16px; height:16px; vertical-align:middle; margin-right:4px;">'
477
  else:
478
  lock_uri = get_svg_as_data_uri("assets/lock-closed.svg")
479
- icons_html += f'<img src="{lock_uri}" alt="Closed" title="Closed source model" style="width:16px; height:16px; vertical-align:middle; margin-right:4px;">'
480
 
481
  # Add company logo
482
  company_html = get_company_logo_html(row['Language Model'])
483
  if company_html:
484
- icons_html += company_html.replace('style="', 'style="vertical-align:middle; margin-right:6px; ')
485
 
486
  # Format the model name
487
  model_name = row['Language Model']
@@ -496,7 +497,8 @@ def create_leaderboard_display(
496
  else:
497
  model_text = str(model_name)
498
 
499
- return f'{icons_html}{model_text}'
 
500
 
501
  df_display['Language Model'] = df_display.apply(format_language_model_with_icons, axis=1)
502
 
@@ -686,21 +688,21 @@ def create_benchmark_details_display(
686
 
687
  # Add Pareto trophy if on frontier
688
  if row['id'] in pareto_agent_names:
689
- icons_html += f'<img src="{trophy_uri}" alt="On Pareto Frontier" title="On Pareto Frontier" style="width:18px; height:18px; vertical-align:middle; margin-right:4px;">'
690
 
691
  # Add openness lock icon
692
  openness_val = row.get('Openness', '')
693
  if openness_val in [aliases.CANONICAL_OPENNESS_OPEN, 'Open', 'Open Source', 'Open Source + Open Weights']:
694
  lock_uri = get_svg_as_data_uri("assets/lock-open.svg")
695
- icons_html += f'<img src="{lock_uri}" alt="Open" title="Open source model" style="width:16px; height:16px; vertical-align:middle; margin-right:4px;">'
696
  else:
697
  lock_uri = get_svg_as_data_uri("assets/lock-closed.svg")
698
- icons_html += f'<img src="{lock_uri}" alt="Closed" title="Closed source model" style="width:16px; height:16px; vertical-align:middle; margin-right:4px;">'
699
 
700
  # Add company logo
701
  company_html = get_company_logo_html(row['Language Model'])
702
  if company_html:
703
- icons_html += company_html.replace('style="', 'style="vertical-align:middle; margin-right:6px; ')
704
 
705
  # Format the model name
706
  model_name = row['Language Model']
@@ -715,7 +717,8 @@ def create_benchmark_details_display(
715
  else:
716
  model_text = str(model_name)
717
 
718
- return f'{icons_html}{model_text}'
 
719
 
720
  benchmark_table_df['Language Model'] = benchmark_table_df.apply(format_language_model_with_icons, axis=1)
721
 
 
59
  "grok": {"path": "assets/logo-xai.svg", "name": "xAI"},
60
  "cohere": {"path": "assets/logo-cohere.svg", "name": "Cohere"},
61
  "command": {"path": "assets/logo-cohere.svg", "name": "Cohere"},
62
+ "qwen": {"path": "assets/logo-qwen.svg", "name": "Qwen"},
63
+ "alibaba": {"path": "assets/logo-qwen.svg", "name": "Qwen"},
64
  "kimi": {"path": "assets/logo-moonshot.svg", "name": "Moonshot"},
65
  "moonshot": {"path": "assets/logo-moonshot.svg", "name": "Moonshot"},
66
+ "minimax": {"path": "assets/logo-minimax.svg", "name": "MiniMax"},
67
  }
68
 
69
 
 
468
 
469
  # Add Pareto trophy if on frontier
470
  if row['id'] in pareto_agent_names:
471
+ icons_html += f'<img src="{trophy_uri}" alt="On Pareto Frontier" title="On Pareto Frontier" style="width:18px; height:18px;">'
472
 
473
  # Add openness lock icon
474
  openness_val = row.get('Openness', '')
475
  if openness_val in [aliases.CANONICAL_OPENNESS_OPEN, 'Open', 'Open Source', 'Open Source + Open Weights']:
476
  lock_uri = get_svg_as_data_uri("assets/lock-open.svg")
477
+ icons_html += f'<img src="{lock_uri}" alt="Open" title="Open source model" style="width:16px; height:16px;">'
478
  else:
479
  lock_uri = get_svg_as_data_uri("assets/lock-closed.svg")
480
+ icons_html += f'<img src="{lock_uri}" alt="Closed" title="Closed source model" style="width:16px; height:16px;">'
481
 
482
  # Add company logo
483
  company_html = get_company_logo_html(row['Language Model'])
484
  if company_html:
485
+ icons_html += company_html
486
 
487
  # Format the model name
488
  model_name = row['Language Model']
 
497
  else:
498
  model_text = str(model_name)
499
 
500
+ # Wrap in a flex container to keep icons horizontal
501
+ return f'<div style="display:flex; align-items:center; gap:4px; flex-wrap:nowrap;">{icons_html}<span>{model_text}</span></div>'
502
 
503
  df_display['Language Model'] = df_display.apply(format_language_model_with_icons, axis=1)
504
 
 
688
 
689
  # Add Pareto trophy if on frontier
690
  if row['id'] in pareto_agent_names:
691
+ icons_html += f'<img src="{trophy_uri}" alt="On Pareto Frontier" title="On Pareto Frontier" style="width:18px; height:18px;">'
692
 
693
  # Add openness lock icon
694
  openness_val = row.get('Openness', '')
695
  if openness_val in [aliases.CANONICAL_OPENNESS_OPEN, 'Open', 'Open Source', 'Open Source + Open Weights']:
696
  lock_uri = get_svg_as_data_uri("assets/lock-open.svg")
697
+ icons_html += f'<img src="{lock_uri}" alt="Open" title="Open source model" style="width:16px; height:16px;">'
698
  else:
699
  lock_uri = get_svg_as_data_uri("assets/lock-closed.svg")
700
+ icons_html += f'<img src="{lock_uri}" alt="Closed" title="Closed source model" style="width:16px; height:16px;">'
701
 
702
  # Add company logo
703
  company_html = get_company_logo_html(row['Language Model'])
704
  if company_html:
705
+ icons_html += company_html
706
 
707
  # Format the model name
708
  model_name = row['Language Model']
 
717
  else:
718
  model_text = str(model_name)
719
 
720
+ # Wrap in a flex container to keep icons horizontal
721
+ return f'<div style="display:flex; align-items:center; gap:4px; flex-wrap:nowrap;">{icons_html}<span>{model_text}</span></div>'
722
 
723
  benchmark_table_df['Language Model'] = benchmark_table_df.apply(format_language_model_with_icons, axis=1)
724