feat(02-06): Account tab in SettingsView + QR code in TotpEnrollment (GAPs 3, 5)
- frontend/package.json: add qrcode@1.5.4 to runtime dependencies - TotpEnrollment.vue: import QRCode; generate data URL in startSetup(); render img tag - SettingsAccountTab.vue: new component with all AccountView content (2FA, password, sessions) - SettingsView.vue: add Account tab rendering SettingsAccountTab; import SettingsAccountTab
This commit is contained in:
@@ -48,6 +48,9 @@
|
||||
<!-- Tab: AI Configuration -->
|
||||
<SettingsAiTab v-if="activeTab === 'ai'" />
|
||||
|
||||
<!-- Tab: Account -->
|
||||
<SettingsAccountTab v-if="activeTab === 'account'" />
|
||||
|
||||
<!-- Tab: Cloud Storage -->
|
||||
<div v-if="activeTab === 'cloud'">
|
||||
<!-- OAuth error banner (persistent until dismissed) -->
|
||||
@@ -86,6 +89,7 @@ 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'
|
||||
|
||||
const router = useRouter()
|
||||
|
||||
@@ -93,6 +97,7 @@ const tabs = [
|
||||
{ id: 'preferences', label: 'Preferences' },
|
||||
{ id: 'ai', label: 'AI Configuration' },
|
||||
{ id: 'cloud', label: 'Cloud Storage' },
|
||||
{ id: 'account', label: 'Account' },
|
||||
]
|
||||
|
||||
const activeTab = ref('preferences')
|
||||
|
||||
Reference in New Issue
Block a user