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 { meta } = 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 displayRuleCount = 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" >{{ meta.name }}</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+ }
130145 </style >
0 commit comments