From 87245e458971b51982bfc7e47e111d2434773791 Mon Sep 17 00:00:00 2001
From: Jarsen <31397967+Jarsen136@users.noreply.github.com>
Date: Tue, 30 Jul 2024 13:14:45 +0200
Subject: [PATCH] feat: Profiles: Popup to create profile
---
.../carousel/CarouselTypeGenerative.vue | 23 +++++++++----
components/landing/LandingPage.vue | 15 +++++++++
components/navbar/ProfileDropdown.vue | 2 ++
components/profile/ProfileDetail.vue | 20 ++++++------
components/profile/create/Modal.vue | 14 +++++---
components/profile/create/openProfileModal.ts | 5 ++-
components/profile/create/stages/Success.vue | 7 +++-
composables/useFetchProfile.ts | 2 +-
composables/useProfile.ts | 2 +-
stores/profileOnboarding.ts | 32 +++++++++++++++++++
10 files changed, 94 insertions(+), 28 deletions(-)
create mode 100644 stores/profileOnboarding.ts
diff --git a/components/carousel/CarouselTypeGenerative.vue b/components/carousel/CarouselTypeGenerative.vue
index 66cb0db519..9218825bdc 100644
--- a/components/carousel/CarouselTypeGenerative.vue
+++ b/components/carousel/CarouselTypeGenerative.vue
@@ -1,14 +1,25 @@
-
+
+
+
diff --git a/components/landing/LandingPage.vue b/components/landing/LandingPage.vue
index 4de8379a1e..4530f2d0a8 100644
--- a/components/landing/LandingPage.vue
+++ b/components/landing/LandingPage.vue
@@ -37,11 +37,15 @@
diff --git a/components/navbar/ProfileDropdown.vue b/components/navbar/ProfileDropdown.vue
index f707657b7c..868eb72ed0 100644
--- a/components/navbar/ProfileDropdown.vue
+++ b/components/navbar/ProfileDropdown.vue
@@ -98,6 +98,7 @@ import {
} from '@/utils/config/i18n'
import { ConnectWalletModalConfig } from '@/components/common/ConnectWallet/useConnectWallet'
import ConnectWalletButton from '@/components/shared/ConnectWalletButton.vue'
+import { useProfileOnboardingStore } from '@/stores/profileOnboarding'
const identityStore = useIdentityStore()
const { isDarkMode } = useTheme()
@@ -113,6 +114,7 @@ const profileIcon = computed(() =>
const langsFlags = computed(() => langsFlagsList)
const toggleWalletConnectModal = () => {
+ useProfileOnboardingStore().setSidebarToggled()
neoModal.closeAll()
if (!document.querySelector('.connect-wallet-modal')) {
diff --git a/components/profile/ProfileDetail.vue b/components/profile/ProfileDetail.vue
index 11e421ccf5..549d7caa90 100644
--- a/components/profile/ProfileDetail.vue
+++ b/components/profile/ProfileDetail.vue
@@ -1,10 +1,5 @@
-
@@ -529,14 +522,14 @@ const followingCount = computed(() => following.value?.totalCount ?? 0)
const editProfileConfig: ButtonConfig = {
label: $i18n.t('profile.editProfile'),
icon: 'pen',
- onClick: () => (isModalActive.value = true),
+ onClick: () => openProfileCreateModal(true),
classes: 'hover:!bg-transparent',
}
const createProfileConfig: ButtonConfig = {
label: $i18n.t('profile.createProfile'),
icon: 'sparkles',
- onClick: () => (isModalActive.value = true),
+ onClick: () => openProfileCreateModal(true),
variant: 'primary',
}
@@ -555,7 +548,6 @@ const displayName = ref('')
const web = ref('')
const legal = ref('')
const riot = ref('')
-const isModalActive = ref(false)
const isFollowModalActive = ref(false)
const followModalTab = ref<'followers' | 'following'>('followers')
const collections = ref(
@@ -791,6 +783,12 @@ watch(collections, (value) => {
collections: value.length ? value.toString() : undefined,
})
})
+
+onMounted(() => {
+ if (!hasProfile.value && isOwner.value) {
+ openProfileCreateModal()
+ }
+})