Skip to content

Commit 8816028

Browse files
feat: add filter highlighting
1 parent edb56e0 commit 8816028

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

website/src/catalog/RuleItem.vue

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
<script setup lang="ts">
2-
import { type RuleMeta, languages } from './data'
2+
import { type RuleMeta, type Filter, languages } from './data'
33
import { type PropType, computed } from 'vue'
44
55
const { 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
})
1115
const 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>

website/src/catalog/RuleList.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const ruleMetaData = computed(() => getRuleMetaData(props.filter))
1717
<h3>Rule List</h3>
1818
<br/>
1919
<TransitionGroup class="rule-list" tag="ul">
20-
<RuleItem v-for="meta in ruleMetaData" :key="meta.language + meta.id" :meta="meta"/>
20+
<RuleItem v-for="meta in ruleMetaData" :key="meta.language + meta.id" :meta="meta" :filter="filter"/>
2121
</TransitionGroup>
2222
</template>
2323

0 commit comments

Comments
 (0)