Skip to content

Commit f069028

Browse files
committed
feat: use debounce for filtering
1 parent cba049c commit f069028

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

app/pages/package/[[org]]/[name]/versions.vue

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,8 @@ async function toggleGroup(groupKey: string) {
119119
120120
// ─── Version filter ───────────────────────────────────────────────────────────
121121
122-
const versionFilter = ref('')
122+
const versionFilterInput = ref('')
123+
const versionFilter = refDebounced(versionFilterInput, 100)
123124
const isFilterActive = computed(() => versionFilter.value.trim() !== '')
124125
125126
const filteredVersionSet = computed(() => {
@@ -137,10 +138,11 @@ const filteredVersionSet = computed(() => {
137138
const filteredGroups = computed(() => {
138139
if (!isFilterActive.value || !filteredVersionSet.value) return versionGroups.value
139140
return versionGroups.value
140-
.map(group => ({
141-
...group,
142-
versions: group.versions.filter(v => filteredVersionSet.value!.has(v)),
143-
}))
141+
.map(group =>
142+
Object.assign({}, group, {
143+
versions: group.versions.filter(v => filteredVersionSet.value!.has(v)),
144+
}),
145+
)
144146
.filter(group => group.versions.length > 0)
145147
})
146148
@@ -207,7 +209,7 @@ const selectedChangelogContent = computed(() => {
207209
<h1 class="text-sm text-fg-muted shrink-0">{{ $t('package.versions.page_title') }}</h1>
208210
</div>
209211
<InputBase
210-
v-model="versionFilter"
212+
v-model="versionFilterInput"
211213
type="text"
212214
:placeholder="$t('package.versions.version_filter_placeholder')"
213215
:aria-label="$t('package.versions.version_filter_label')"

0 commit comments

Comments
 (0)