@@ -7,7 +7,7 @@ const inputRef = ref()
7
7
8
8
const route = useRoute ()
9
9
const { replaceRoute } = useFilters (' modules' )
10
- const { fetchList, filteredModules, q, categories, stats } = useModules ()
10
+ const { fetchList, filteredModules, q, categories, stats, selectedOrder, sorts, selectedSort } = useModules ()
11
11
12
12
const { data : page } = await useAsyncData (route .path , () => queryContent (route .path ).findOne ())
13
13
@@ -64,7 +64,7 @@ const { copy } = useCopyToClipboard()
64
64
name =" q"
65
65
icon =" i-ph-magnifying-glass"
66
66
placeholder =" Search..."
67
- class =" w-full mb-4 "
67
+ class =" w-full mb-2 "
68
68
size =" md"
69
69
autocomplete =" off"
70
70
:ui =" { icon: { trailing: { pointer: '' } } }"
@@ -85,25 +85,56 @@ const { copy } = useCopyToClipboard()
85
85
</UKbd >
86
86
</template >
87
87
</UInput >
88
+ <UButtonGroup class =" mb-4 w-full" >
89
+ <USelectMenu
90
+ :model-value =" selectedSort"
91
+ :options =" sorts"
92
+ size =" md"
93
+ color =" white"
94
+ class =" w-full"
95
+ @update:model-value =" replaceRoute('sortBy', $event)"
96
+ />
97
+ <UButton
98
+ :icon =" selectedOrder.icon"
99
+ size =" md"
100
+ color =" gray"
101
+ @click =" replaceRoute('orderBy', selectedOrder.key === 'desc' ? 'asc' : 'desc')"
102
+ />
103
+ </UButtonGroup >
88
104
<UNavigationTree :links =" [{ label: 'Categories', disabled: true, children: categories }]" />
89
105
</UAside >
90
106
</template >
91
107
92
- <UPageBody class =" lg:pl-12 " >
93
- <div class =" lg:hidden mb-6" >
108
+ <UPageBody class =" lg:pl-8 " >
109
+ <div class =" lg:hidden mb-6 flex items-center gap-2 " >
94
110
<UInput
95
111
ref =" inputRef"
96
112
type =" search"
97
113
:model-value =" q"
98
114
name =" q"
99
115
icon =" i-ph-magnifying-glass"
100
116
placeholder =" Search a module..."
101
- class =" w-full mb-4 "
102
- size =" md "
117
+ class =" w-full"
118
+ size =" sm "
103
119
autocomplete =" off"
104
120
:ui =" { icon: { trailing: { pointer: '' } } }"
105
121
@update:model-value =" replaceRoute('q', $event)"
106
122
/>
123
+ <UButtonGroup >
124
+ <USelectMenu
125
+ :model-value =" selectedSort"
126
+ :options =" sorts"
127
+ size =" md"
128
+ color =" white"
129
+ @update:model-value =" replaceRoute('sortBy', $event)"
130
+ />
131
+ <UButton
132
+ :icon =" selectedOrder.icon"
133
+ size =" md"
134
+ color =" gray"
135
+ @click =" replaceRoute('orderBy', selectedOrder.key === 'desc' ? 'asc' : 'desc')"
136
+ />
137
+ </UButtonGroup >
107
138
</div >
108
139
<UPageGrid v-if =" filteredModules?.length" >
109
140
<UPageCard
0 commit comments