Skip to content

Commit 812f685

Browse files
chore: clean composable
1 parent ed13532 commit 812f685

3 files changed

Lines changed: 10 additions & 17 deletions

File tree

app/components/Package/ActionBar.vue

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
<script setup lang="ts">
2-
defineProps<{
3-
hide?: boolean
4-
}>()
5-
62
const { selectedPackages, selectedPackagesParam, clearSelectedPackages } = usePackageSelection()
73
84
const shortcutKey = 'b'
@@ -23,7 +19,7 @@ onKeyStroke(
2319
<template>
2420
<Transition name="action-bar-slide" appear>
2521
<div
26-
v-if="selectedPackages.length && !hide"
22+
v-if="selectedPackages.length"
2723
class="fixed bottom-12 inset-is-0 w-full flex items-center justify-center z-36 pointer-events-none"
2824
>
2925
<div
@@ -53,7 +49,6 @@ onKeyStroke(
5349
:to="{ name: 'compare', query: { packages: selectedPackagesParam } }"
5450
variant="button-secondary"
5551
classicon="i-lucide:git-compare"
56-
:disabled="selectedPackages.length > 4"
5752
>
5853
Compare
5954
</LinkBase>

app/composables/usePackageSelection.ts

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,24 @@ export function usePackageSelection() {
99
return []
1010
}
1111

12-
return selectedPackagesParam.value.split(',').map(p => p.trim())
12+
return selectedPackagesParam.value
13+
.split(',')
14+
.map(p => p.trim())
15+
.filter(p => p.length > 0)
16+
.slice(0, 4)
1317
},
1418
set(value) {
1519
selectedPackagesParam.value = value.length > 0 ? value.join(',') : ''
1620
},
1721
})
1822

19-
function findPackageIndex(name: string): number {
20-
return selectedPackages.value.findIndex(selectedPackage => selectedPackage === name)
21-
}
22-
2323
function isPackageSelected(name: string): boolean {
24-
return findPackageIndex(name) !== -1
24+
return selectedPackages.value.includes(name)
2525
}
2626

2727
function togglePackageSelection(name: string) {
28-
const itemIndex = findPackageIndex(name)
29-
30-
if (itemIndex !== -1) {
31-
selectedPackages.value = selectedPackages.value.filter((_, i) => i !== itemIndex)
28+
if (isPackageSelected(name)) {
29+
selectedPackages.value = selectedPackages.value.filter(selected => selected !== name)
3230
} else {
3331
selectedPackages.value = [...selectedPackages.value, name]
3432
}

app/pages/search.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -542,7 +542,7 @@ defineOgImageComponent('Default', {
542542
</script>
543543

544544
<template>
545-
<PackageActionBar :hide="isSelectioView" />
545+
<PackageActionBar />
546546

547547
<main class="flex-1 py-8" :class="{ 'overflow-x-hidden': viewMode !== 'table' }">
548548
<div class="container-sm">

0 commit comments

Comments
 (0)