add logging

This commit is contained in:
Julian Freeman
2025-12-02 10:44:14 -04:00
parent 068bc1c79e
commit d2cafc328f
6 changed files with 312 additions and 30 deletions

View File

@@ -2,18 +2,21 @@
<script setup lang="ts">
import { onMounted } from 'vue'
import { RouterView, RouterLink, useRoute } from 'vue-router'
import { Home, History, Settings as SettingsIcon, Download } from 'lucide-vue-next'
import { Home, History, Settings as SettingsIcon, Download, FileText } from 'lucide-vue-next'
import { useSettingsStore } from './stores/settings'
import { useQueueStore } from './stores/queue'
import { useLogsStore } from './stores/logs'
const settingsStore = useSettingsStore()
const queueStore = useQueueStore()
const logsStore = useLogsStore()
const route = useRoute()
onMounted(async () => {
await settingsStore.loadSettings()
await settingsStore.initYtdlp()
await queueStore.initListener()
await logsStore.initListener()
})
</script>
@@ -28,7 +31,8 @@ onMounted(async () => {
<span class="font-bold text-lg hidden lg:block">StreamCapture</span>
</div>
<nav class="flex-1 px-4 space-y-2 mt-4">
<nav class="flex-1 px-4 space-y-2 mt-4 flex flex-col">
<!-- Top Section -->
<RouterLink to="/"
class="flex items-center gap-3 px-4 py-3 rounded-xl transition-colors"
:class="route.path === '/' ? 'bg-blue-50 text-blue-600 dark:bg-blue-900/20 dark:text-blue-400' : 'hover:bg-gray-100 dark:hover:bg-zinc-800'"
@@ -45,21 +49,25 @@ onMounted(async () => {
<span class="hidden lg:block font-medium">History</span>
</RouterLink>
<RouterLink to="/settings"
<div class="flex-1"></div>
<!-- Bottom Section -->
<RouterLink to="/logs"
class="flex items-center gap-3 px-4 py-3 rounded-xl transition-colors"
:class="route.path === '/logs' ? 'bg-blue-50 text-blue-600 dark:bg-blue-900/20 dark:text-blue-400' : 'hover:bg-gray-100 dark:hover:bg-zinc-800'"
>
<FileText class="w-5 h-5 shrink-0" />
<span class="hidden lg:block font-medium">Logs</span>
</RouterLink>
<RouterLink to="/settings"
class="flex items-center gap-3 px-4 py-3 rounded-xl transition-colors mb-4"
:class="route.path === '/settings' ? 'bg-blue-50 text-blue-600 dark:bg-blue-900/20 dark:text-blue-400' : 'hover:bg-gray-100 dark:hover:bg-zinc-800'"
>
<SettingsIcon class="w-5 h-5 shrink-0" />
<span class="hidden lg:block font-medium">Settings</span>
</RouterLink>
</nav>
<div class="p-4 border-t border-gray-200 dark:border-zinc-800">
<div class="text-xs text-gray-400 text-center lg:text-left truncate">
<p v-if="settingsStore.isInitializing">Initializing...</p>
<p v-else>v{{ settingsStore.ytdlpVersion }}</p>
</div>
</div>
</aside>
<!-- Main Content -->
@@ -67,4 +75,4 @@ onMounted(async () => {
<RouterView />
</main>
</div>
</template>
</template>