@@ -57,14 +57,19 @@ <h1 style="margin:0;font-size:18px;">Visual regression report</h1>
5757 < span style ="color:#0969da; "> New: 96</ span >
5858 < span style ="color:#9a6700; "> Removed: 32</ span >
5959 </ div >
60- < div class ="filter ">
60+ < div class ="filter " id =" status-filter " >
6161 < button data-filter ="all " class ="active "> All</ button >
6262 < button data-filter ="changed "> Changed</ button >
6363 < button data-filter ="added "> New</ button >
6464 < button data-filter ="removed "> Removed</ button >
6565 < button data-filter ="unchanged "> Unchanged</ button >
6666 < input id ="search " type ="search " placeholder ="Filter by name… " autocomplete ="off " />
6767 </ div >
68+ < div class ="filter " id ="facet-filter ">
69+ < span style ="font-size:12px;color:#666; "> Theme:</ span >
70+ < button data-facet ="all " class ="active "> All</ button >
71+ < button data-facet ="canvas "> canvas</ button > < button data-facet ="light "> light</ button > < button data-facet ="dark "> dark</ button >
72+ </ div >
6873 </ header >
6974 < main >
7075 < section class ="row " data-status ="added " data-name ="alert-canvas.png " data-has-both ="false ">
@@ -599,22 +604,31 @@ <h3 id="lb-title"></h3>
599604
600605 < script >
601606 ( function ( ) {
602- const listState = { filter : 'all' , query : '' }
607+ const listState = { filter : 'all' , query : '' , facet : 'all' }
603608
604609 function applyFilters ( ) {
605610 const q = listState . query . toLowerCase ( )
606611 document . querySelectorAll ( '.row' ) . forEach ( r => {
607612 const matchesFilter = listState . filter === 'all' || r . dataset . status === listState . filter
608613 const matchesQuery = ! q || r . dataset . name . toLowerCase ( ) . includes ( q )
609- if ( matchesFilter && matchesQuery ) r . removeAttribute ( 'data-hidden' )
614+ const matchesFacet = listState . facet === 'all' || r . dataset . name . includes ( '-' + listState . facet + '.' )
615+ if ( matchesFilter && matchesQuery && matchesFacet ) r . removeAttribute ( 'data-hidden' )
610616 else r . setAttribute ( 'data-hidden' , '' )
611617 } )
612618 }
613619
614- document . querySelectorAll ( '. filter button' ) . forEach ( btn => {
620+ document . querySelectorAll ( '#status- filter button' ) . forEach ( btn => {
615621 btn . addEventListener ( 'click' , ( ) => {
616622 listState . filter = btn . dataset . filter
617- document . querySelectorAll ( '.filter button' ) . forEach ( b => b . classList . toggle ( 'active' , b === btn ) )
623+ document . querySelectorAll ( '#status-filter button' ) . forEach ( b => b . classList . toggle ( 'active' , b === btn ) )
624+ applyFilters ( )
625+ } )
626+ } )
627+
628+ document . querySelectorAll ( '#facet-filter button' ) . forEach ( btn => {
629+ btn . addEventListener ( 'click' , ( ) => {
630+ listState . facet = btn . dataset . facet
631+ document . querySelectorAll ( '#facet-filter button' ) . forEach ( b => b . classList . toggle ( 'active' , b === btn ) )
618632 applyFilters ( )
619633 } )
620634 } )
0 commit comments