feat(10-08): BreadcrumbBar in remaining admin views + SettingsView; EmptyState in SharedView + CloudStorageView

- AdminQuotasView: BreadcrumbBar (Quotas, showRoot=false)
- AdminAiView: BreadcrumbBar (AI Config, showRoot=false)
- AdminOverviewView: BreadcrumbBar (empty segments, showRoot=false) above existing h2
- SettingsView: BreadcrumbBar with breadcrumbSegments computed (Settings > activeTabLabel)
- SharedView: BreadcrumbBar (Shared with me) + EmptyState (icon=inbox)
- CloudStorageView: BreadcrumbBar in toolbar + EmptyState (icon=cloud) with Settings router-link CTA
- Full test suite: 178 passed, 0 failures
This commit is contained in:
curo1305
2026-06-15 20:27:00 +02:00
parent 8e360f4f21
commit 3e79423cfd
6 changed files with 43 additions and 12 deletions
+9 -1
View File
@@ -1,5 +1,7 @@
<template>
<div class="p-8 max-w-3xl mx-auto">
<BreadcrumbBar :segments="breadcrumbSegments" :show-root="false" class="mb-4" />
<h2 class="text-2xl font-semibold text-gray-900 mb-1">Settings</h2>
<p class="text-sm text-gray-500 mb-6">Account-level options for your DocuVault workspace.</p>
@@ -84,12 +86,13 @@
</template>
<script setup>
import { ref, onMounted } from 'vue'
import { ref, computed, onMounted } from 'vue'
import { useRouter } from 'vue-router'
import SettingsPreferencesTab from '../components/settings/SettingsPreferencesTab.vue'
import SettingsAiTab from '../components/settings/SettingsAiTab.vue'
import SettingsCloudTab from '../components/settings/SettingsCloudTab.vue'
import SettingsAccountTab from '../components/settings/SettingsAccountTab.vue'
import BreadcrumbBar from '../components/ui/BreadcrumbBar.vue'
const router = useRouter()
@@ -101,6 +104,11 @@ const tabs = [
]
const activeTab = ref('preferences')
const breadcrumbSegments = computed(() => {
const tab = tabs.find(t => t.id === activeTab.value)
return [{ label: 'Settings' }, { label: tab?.label ?? activeTab.value }]
})
const oauthSuccessProvider = ref(null)
const oauthError = ref(null)