feat: add resources page with file management

- Add /resources page with file listing, filtering, and bulk operations
- Add useResources composable for file state management
- Add sidenav header and nav components for resources section
- Add files list API endpoint (GET /api/files)
- Track file size during upload
- Add resources link to home navigation
This commit is contained in:
Zoe
2026-05-11 17:42:28 -05:00
parent 103dedd9cc
commit a0f2e89154
9 changed files with 533 additions and 12 deletions
+4 -3
View File
@@ -1,6 +1,6 @@
<script setup lang="ts">
import { useFloating, offset, flip, shift, autoUpdate, hide } from '@floating-ui/vue';
import type { DialogType } from '~/composables/useDialog';
import { DialogType } from '~/composables/useDialog';
const { openDialog } = useDialog();
const { agents, createAgent, deleteAgent, updateAgent } = await useAgents();
@@ -115,7 +115,8 @@ onMounted(() => {
</span>
</div>
</SidenavItem>
<SidenavItem to="/" name="Home" icon="i-mynaui-home" />
<SidenavItem to="/" name="Home" icon="i-mynaui-home" active />
<SidenavItem to="/resources" name="Resources" icon="i-tabler-books" />
<!-- Header Toggle -->
<button
@@ -134,7 +135,7 @@ onMounted(() => {
class="disabled:cursor-wait flex items-center gap-2 px-1 h-9 shrink-0 rounded-lg md:text-sm text-[var(--text-secondary)] @hover:bg-[var(--color-hover)] transition-colors disabled:opacity-50 w-full">
<div class="h-9 w-9 md:h-7 md:w-7 flex items-center justify-center">
<span v-if="creatingAgent" class="i-svg-spinners-ring-resize text-5 md:text-4"></span>
<span v-else class="i-mynaui-plus text-5 md:text-4"></span>
<span v-else class="i-mynaui-plus-solid text-5 md:text-4"></span>
</div>
<span>New Agent</span>
</button>