arkaos 3.53.1 → 3.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/VERSION +1 -1
- package/dashboard/app/pages/agents/index.vue +47 -3
- package/package.json +1 -1
- package/pyproject.toml +1 -1
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.54.0
|
|
@@ -225,6 +225,43 @@ function goToAgent(id: string) {
|
|
|
225
225
|
navigateTo(`/agents/${id}`)
|
|
226
226
|
}
|
|
227
227
|
|
|
228
|
+
// PR95d v3.54.0 — keyboard nav for the table.
|
|
229
|
+
const cursorIndex = ref(-1)
|
|
230
|
+
|
|
231
|
+
function cursorDown() {
|
|
232
|
+
const total = paginatedAgents.value.length
|
|
233
|
+
if (total === 0) return
|
|
234
|
+
cursorIndex.value = Math.min(total - 1, Math.max(0, cursorIndex.value + 1))
|
|
235
|
+
scrollCursorIntoView()
|
|
236
|
+
}
|
|
237
|
+
function cursorUp() {
|
|
238
|
+
const total = paginatedAgents.value.length
|
|
239
|
+
if (total === 0) return
|
|
240
|
+
cursorIndex.value = Math.max(0, cursorIndex.value === -1 ? 0 : cursorIndex.value - 1)
|
|
241
|
+
scrollCursorIntoView()
|
|
242
|
+
}
|
|
243
|
+
function cursorOpen() {
|
|
244
|
+
if (cursorIndex.value < 0) return
|
|
245
|
+
const row = paginatedAgents.value[cursorIndex.value]
|
|
246
|
+
if (row?.id) goToAgent(row.id)
|
|
247
|
+
}
|
|
248
|
+
function scrollCursorIntoView() {
|
|
249
|
+
if (typeof document === 'undefined') return
|
|
250
|
+
// Defer to next tick so the class change has rendered.
|
|
251
|
+
setTimeout(() => {
|
|
252
|
+
const el = document.querySelector('[data-cursor="true"]')
|
|
253
|
+
el?.scrollIntoView({ block: 'nearest', behavior: 'smooth' })
|
|
254
|
+
}, 0)
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
defineShortcuts({
|
|
258
|
+
j: () => cursorDown(),
|
|
259
|
+
k: () => cursorUp(),
|
|
260
|
+
arrowdown: () => cursorDown(),
|
|
261
|
+
arrowup: () => cursorUp(),
|
|
262
|
+
enter: () => cursorOpen(),
|
|
263
|
+
})
|
|
264
|
+
|
|
228
265
|
// PR86a v3.15.0 — favorites.
|
|
229
266
|
// PR92b v3.40.0 — favoritesOnly persists in URL (`?fav=1`).
|
|
230
267
|
const favs = useFavorites()
|
|
@@ -527,9 +564,16 @@ async function undoTrashIds(ids: string[]) {
|
|
|
527
564
|
/>
|
|
528
565
|
</template>
|
|
529
566
|
<template #name-cell="{ row }">
|
|
530
|
-
<
|
|
531
|
-
|
|
532
|
-
|
|
567
|
+
<div :data-cursor="row.index === cursorIndex ? 'true' : undefined" class="flex items-center gap-1.5">
|
|
568
|
+
<UIcon
|
|
569
|
+
v-if="row.index === cursorIndex"
|
|
570
|
+
name="i-lucide-chevron-right"
|
|
571
|
+
class="size-3.5 text-primary shrink-0"
|
|
572
|
+
/>
|
|
573
|
+
<button class="text-left font-medium text-primary hover:underline" @click="goToAgent(row.original.id)">
|
|
574
|
+
{{ row.original.name }}
|
|
575
|
+
</button>
|
|
576
|
+
</div>
|
|
533
577
|
</template>
|
|
534
578
|
<template #department-cell="{ row }">
|
|
535
579
|
<UBadge :label="row.original.department" variant="subtle" size="sm" />
|
package/package.json
CHANGED