diff --git a/components/AppHeader.vue b/components/AppHeader.vue index b5353aa..c6d1357 100644 --- a/components/AppHeader.vue +++ b/components/AppHeader.vue @@ -4,15 +4,15 @@ const supabase = useSupabaseAuthClient(); const user = useSupabaseUser(); - const store = useAppStore() - const { activeMembership } = storeToRefs(store); + const authStore = useAuthStore() + const { activeMembership } = storeToRefs(authStore); const { $client } = useNuxtApp(); - const { data: dbUser } = await $client.userAccount.getDBUser.useQuery(); + const { data: dbUser } = await $client.auth.getDBUser.useQuery(); onMounted(async () => { - await store.initUser(); + await authStore.initUser(); }); async function signout() { @@ -37,7 +37,7 @@

Switch Account.. - diff --git a/lib/services/user.account.service.ts b/lib/services/user.account.service.ts index 896c4ee..b51833c 100644 --- a/lib/services/user.account.service.ts +++ b/lib/services/user.account.service.ts @@ -45,6 +45,15 @@ export default class UserAccountService { }); } + async getAccountMembers(account_id: number): Promise { + return prisma_client.membership.findMany({ + where: { account_id }, + include: { + user: true + } + }); + } + async updateAccountStipeCustomerId (account_id: number, stripe_customer_id: string){ return await prisma_client.account.update({ where: { id: account_id }, diff --git a/pages/account.vue b/pages/account.vue index 5fd1cba..4526838 100644 --- a/pages/account.vue +++ b/pages/account.vue @@ -2,11 +2,20 @@ import { storeToRefs } from 'pinia'; import { ACCOUNT_ACCESS } from '@prisma/client'; - const store = useAppStore(); - const { activeMembership } = storeToRefs(store); + const authStore = useAuthStore(); + const { activeMembership } = storeToRefs(authStore); + const accountStore = useAccountStore(); + const { activeAccountMembers } = storeToRefs(accountStore) + const config = useRuntimeConfig(); const newAccountName = ref(""); + watchEffect(async () => { + if (activeMembership.value) { + await accountStore.getActiveAccountMembers(); + } + }) + function formatDate(date: Date | undefined){ if(!date){ return ""; } return new Intl.DateTimeFormat('default', {dateStyle: 'long'}).format(date); @@ -15,13 +24,18 @@ diff --git a/pages/dashboard.vue b/pages/dashboard.vue index 62ad8ce..3a9bbce 100644 --- a/pages/dashboard.vue +++ b/pages/dashboard.vue @@ -5,19 +5,21 @@ middleware: ['auth'], }); - const store = useAppStore(); - const { notes } = storeToRefs(store); // ensure the notes list is reactive + const authStore = useAuthStore(); + const { activeMembership } = storeToRefs(authStore); + const notesStore = useNotesStore(); + const { notes } = storeToRefs(notesStore); // ensure the notes list is reactive + + watchEffect(async () => { + if (activeMembership.value) { + await notesStore.fetchNotesForCurrentUser(); + } + }) diff --git a/pages/pricing.vue b/pages/pricing.vue index 2c1d791..70f209c 100644 --- a/pages/pricing.vue +++ b/pages/pricing.vue @@ -2,8 +2,8 @@ import { storeToRefs } from 'pinia'; import { ACCOUNT_ACCESS } from '@prisma/client'; - const store = useAppStore() - const { activeMembership } = storeToRefs(store); + const authStore = useAuthStore() + const { activeMembership } = storeToRefs(authStore);