diff --git a/src/components/AppHeader.vue b/src/components/AppHeader.vue index 9e2d2f9..b63e6e7 100644 --- a/src/components/AppHeader.vue +++ b/src/components/AppHeader.vue @@ -213,6 +213,7 @@ import { ref, computed, onMounted, onUnmounted } from 'vue' import { useRouter, useRoute } from 'vue-router' import { useAuth } from '../composables/useAuth' import { useAccounts } from '../composables/useAccounts' +import { accountManager } from '../lib/accounts' import { useContentDiscovery } from '../composables/useContentDiscovery' type Persona = { name: string; nsec: string; pubkey: string } @@ -237,7 +238,7 @@ const emit = defineEmits() const router = useRouter() const route = useRoute() -const { user, isAuthenticated, logout: appLogout } = useAuth() +const { user, isAuthenticated, loginWithNostr: appLoginWithNostr, logout: appLogout } = useAuth() const { isLoggedIn: nostrLoggedIn, activePubkey: nostrActivePubkey, @@ -347,11 +348,28 @@ function navigateTo(path: string) { async function handlePersonaLogin(persona: Persona) { personaMenuOpen.value = false + // Set up Nostr account (for commenting/reactions) await loginWithPersona(persona) + // Also populate auth store (for subscription/My List access) + try { + await appLoginWithNostr(persona.pubkey, 'persona', {}) + } catch { + // Auth store mock login — non-critical if it fails + } } async function handleExtensionLogin() { + // Set up Nostr account (for commenting/reactions) await loginWithExtension() + // Also populate auth store (for subscription/My List access) + try { + const pubkey = accountManager.active?.pubkey + if (pubkey) { + await appLoginWithNostr(pubkey, 'extension', {}) + } + } catch { + // Auth store mock login — non-critical if it fails + } } async function handleLogout() { diff --git a/src/components/AuthModal.vue b/src/components/AuthModal.vue index 32379d9..444c1b1 100644 --- a/src/components/AuthModal.vue +++ b/src/components/AuthModal.vue @@ -122,6 +122,7 @@