11<script  setup lang="ts">
2- import  { type  RuleMeta , languages  } from  ' ./data' 
2+ import  { type  RuleMeta , type   Filter ,  languages  } from  ' ./data' 
33import  { type  PropType , computed  } from  ' vue' 
44
55const =  defineProps ({
66  meta: { 
77    type: Object  as  PropType <RuleMeta >, 
88    required: true , 
9+   }, 
10+   filter: { 
11+     type: Object  as  PropType <Filter >, 
12+     required: true , 
913  } 
1014}) 
1115const =  computed (() =>  {
@@ -23,7 +27,12 @@ const moreFeatures = computed(() => Math.max(meta.features.length - 2, 0))
2327      <a  :href =" meta.link" class =" rule-name" target =" _blank" a >
2428      <div  class =" rule-badges" 
2529        <Badge  type =" info" 
26-           <a  :href =" `/catalog/${meta.language}/`" class =" override-badge-text-color" target =" _blank" 
30+           <a 
31+             :href =" `/catalog/${meta.language}/`" 
32+             class =" override-badge-text-color" 
33+             :class =" filter.selectedLanguages.length && 'highlight-filter'" 
34+             target =" _blank" 
35+           >
2736            {{ languages[meta.language] }}
2837          </a >
2938        </Badge >
@@ -69,10 +78,10 @@ a:hover {
6978  text-decoration underline ; 
7079} 
7180.override-badge-text-color  {
72-   color var (--vp-c-text-1  ); 
81+   color var (--vp-c-text-2  ); 
7382} 
7483.override-badge-text-color :hover  {
75-   color var (--vp-c-text-1  ); 
84+   color var (--vp-c-text-2  ); 
7685} 
7786
7887.link  {
@@ -117,7 +126,7 @@ a:hover {
117126} 
118127
119128.used  {
120-   filter :  saturate ( 0 ); 
129+   color :  var ( --vp-c-text-2 ); 
121130  user-select none ; 
122131  height 24px  ; 
123132  line-height 24px  ; 
@@ -127,4 +136,10 @@ a:hover {
127136  /*  Offset emoji visual spacing */  
128137  margin-right -2px  ; 
129138} 
139+ .highlight-filter  {
140+   color var (--vp-c-brand-1 ); 
141+ } 
142+ .highlight-filter :hover  {
143+   color var (--vp-c-brand-1 ); 
144+ } 
130145style >
0 commit comments