@@ -8,9 +8,27 @@ <h1>Arenas</h1>
88</ div >
99
1010< div class ="arenas-container ">
11+ < p class ="arenas-legend ">
12+ < span
13+ class ="filter-chip "
14+ data-filter ="test "
15+ role ="button "
16+ tabindex ="0 "
17+ aria-pressed ="false "
18+ title ="Click to highlight test set arenas "
19+ > < span class ="eval-badge "> ✚</ span > Test set arena</ span >
20+ < span
21+ class ="filter-chip "
22+ data-filter ="ladder "
23+ role ="button "
24+ tabindex ="0 "
25+ aria-pressed ="false "
26+ title ="Click to highlight arenas with a CC:Ladder "
27+ > < span class ="ladder-badge "> 🪜</ span > Has a < a href ="/insights/20260115_human_ai_ladder/ "> CC:Ladder</ a > </ span >
28+ </ p >
1129 < div class ="arenas-grid ">
1230 {%- for page in pages | sort(attribute='title') %}
13- < a href ="{{ url_for( "page ", path=page.path) }} ">
31+ < a href ="{{ url_for( "page ", path=page.path) }} "{% if page.split == ' test ' %} data-test{% endif %}{% if page.ladder %} data-ladder{% endif %} >
1432 < div class ="arena-card ">
1533 < p class ="arena-title ">
1634 < img
@@ -25,11 +43,35 @@ <h1>Arenas</h1>
2543 </ a >
2644 {%- endfor %}
2745 </ div >
28- < p class ="arenas-legend ">
29- < span class ="eval-badge "> ✚</ span > = Test set arena
30- •
31- < span class ="ladder-badge "> 🪜</ span > = Has a < a href ="/insights/20260115_human_ai_ladder/ "> CC:Ladder</ a >
32- </ p >
3346</ div >
34-
3547{% endblock content %}
48+
49+ {% block scripts %}
50+ < script >
51+ // Arena filter chips: click a legend marker to highlight matching arenas.
52+ // Hovering a chip previews the same dimming (see .filter-chip:hover in CSS).
53+ ( function ( ) {
54+ var container = document . querySelector ( '.arenas-container' ) ;
55+ if ( ! container ) return ;
56+
57+ document . querySelectorAll ( '.arenas-legend .filter-chip' ) . forEach ( function ( chip ) {
58+ function toggle ( ) {
59+ var name = chip . getAttribute ( 'data-filter' ) ;
60+ var active = container . classList . toggle ( 'filter-' + name ) ;
61+ chip . setAttribute ( 'aria-pressed' , active ? 'true' : 'false' ) ;
62+ }
63+ chip . addEventListener ( 'click' , toggle ) ;
64+ chip . addEventListener ( 'keydown' , function ( e ) {
65+ if ( e . key === 'Enter' || e . key === ' ' ) {
66+ e . preventDefault ( ) ;
67+ toggle ( ) ;
68+ }
69+ } ) ;
70+ // Let the nested CC:Ladder link navigate without toggling the filter.
71+ chip . querySelectorAll ( 'a' ) . forEach ( function ( link ) {
72+ link . addEventListener ( 'click' , function ( e ) { e . stopPropagation ( ) ; } ) ;
73+ } ) ;
74+ } ) ;
75+ } ) ( ) ;
76+ </ script >
77+ {% endblock scripts %}
0 commit comments