Skip to content

Commit 2d8b413

Browse files
authored
fix: horizontal scrollbar for table view + columns picker (#390)
1 parent 7cf66b2 commit 2d8b413

2 files changed

Lines changed: 30 additions & 13 deletions

File tree

app/components/PackageListToolbar.vue

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -142,17 +142,11 @@ function getSortKeyLabelKey(key: SortKey): string {
142142

143143
<div class="flex-1" />
144144

145-
<div class="flex flex-wrap items-center gap-3">
146-
<!-- Column picker (table view only) -->
147-
<ColumnPicker
148-
v-if="viewMode === 'table'"
149-
:columns="columns"
150-
@toggle="emit('toggleColumn', $event)"
151-
@reset="emit('resetColumns')"
152-
/>
153-
145+
<div
146+
class="flex flex-wrap items-center gap-3 sm:justify-end justify-between w-full sm:w-auto"
147+
>
154148
<!-- Sort controls -->
155-
<div class="flex items-center gap-1 shrink-0">
149+
<div class="flex items-center gap-1 shrink-0 order-1 sm:order-1">
156150
<!-- Sort key dropdown -->
157151
<div class="relative">
158152
<label for="sort-select" class="sr-only">{{ $t('filters.sort.label') }}</label>
@@ -205,8 +199,31 @@ function getSortKeyLabelKey(key: SortKey): string {
205199
</button>
206200
</div>
207201

208-
<!-- View mode toggle -->
209-
<ViewModeToggle v-model="viewMode" />
202+
<!-- View mode toggle - mobile (left side, row 2) -->
203+
<div class="flex sm:hidden items-center gap-1 order-2">
204+
<ViewModeToggle v-model="viewMode" />
205+
</div>
206+
207+
<!-- Column picker - mobile (right side, row 2) -->
208+
<ColumnPicker
209+
v-if="viewMode === 'table'"
210+
class="flex sm:hidden order-3"
211+
:columns="columns"
212+
@toggle="emit('toggleColumn', $event)"
213+
@reset="emit('resetColumns')"
214+
/>
215+
216+
<!-- View mode toggle + Column picker - desktop (right side, row 1) -->
217+
<div class="hidden sm:flex items-center gap-1 order-2">
218+
<ViewModeToggle v-model="viewMode" />
219+
220+
<ColumnPicker
221+
v-if="viewMode === 'table'"
222+
:columns="columns"
223+
@toggle="emit('toggleColumn', $event)"
224+
@reset="emit('resetColumns')"
225+
/>
226+
</div>
210227
</div>
211228
</div>
212229

app/pages/search.vue

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

705705
<template>
706-
<main class="flex-1 overflow-x-hidden">
706+
<main class="flex-1" :class="{ 'overflow-x-hidden': viewMode !== 'table' }">
707707
<!-- Results area with container padding -->
708708
<div class="container-sm py-6">
709709
<section v-if="query" :aria-label="$t('search.results')">

0 commit comments

Comments
 (0)