Files
speckle-server/packages/frontend-2/components/user/profile/EditDialog.vue
T
Kristaps Fabians Geikins b02a07e2b6 feat: Frontend 2.0 MVP
2023-05-08 10:47:01 +03:00

31 lines
940 B
Vue

<template>
<LayoutDialog v-model:open="isOpen" max-width="md">
<div v-if="user" class="flex flex-col text-foreground space-y-4">
<UserProfileEditDialogBio :user="user" />
<UserProfileEditDialogNotificationPreferences :user="user" />
<UserProfileEditDialogChangePassword :user="user" />
<UserProfileEditDialogDeleteAccount :user="user" @deleted="isOpen = false" />
</div>
</LayoutDialog>
</template>
<script setup lang="ts">
import { useQuery } from '@vue/apollo-composable'
import { profileEditDialogQuery } from '~~/lib/user/graphql/queries'
const emit = defineEmits<{
(e: 'update:open', val: boolean): void
}>()
const props = defineProps<{
open: boolean
}>()
const { result } = useQuery(profileEditDialogQuery)
const user = computed(() => result.value?.activeUser)
const isOpen = computed({
get: () => !!(props.open && user.value),
set: (newVal) => emit('update:open', newVal)
})
</script>