diff --git a/.cursor/skills/abshode-domain-lookup/learned-notes.md b/.cursor/skills/abshode-domain-lookup/learned-notes.md index 2bde967..fb17acc 100644 --- a/.cursor/skills/abshode-domain-lookup/learned-notes.md +++ b/.cursor/skills/abshode-domain-lookup/learned-notes.md @@ -1,5 +1,8 @@ # یادداشت‌های یادگیری — abshode-domain-lookup +- 2026-11-10 | مدال موفقیت ثبت‌نام خالی | `DialogVantOneButton.vue` | تم لاگین `color:#fff`؛ بدون teleport متن سفید روی دیالوگ سفید — مثل `DialogVant` با teleport+رنگ تیره +- 2026-11-10 | خانه خالی بدون KYC | `RequiredKycModal` + `HomeLayoutRenderer` | v-model:open روی computed فقط‌خواندنی؛ تشخیص احراز با `isCustomerIdentityVerified`؛ skeleton هنگام lazy layout + فرمت هر خط: - YYYY-MM-DD | موضوع | مسیر فایل(ها) | نکتهٔ ۱ خطی diff --git a/src/App.vue b/src/App.vue index 77d987e..7b689e7 100644 --- a/src/App.vue +++ b/src/App.vue @@ -169,6 +169,7 @@ import { useChatService, } from '@/utils/chat' import { getToken } from '@/utils' +import { isCustomerIdentityVerified } from '@/utils/customerIdentity' import { message } from 'ant-design-vue' import { showBrowserNotification } from '@/utils/browserNotification' @@ -329,7 +330,10 @@ watch( const userStore = useUserStore() const settingsStore = useSettingsStore() const isKycRequired = computed( - () => Boolean(getToken()) && (userStore.userInfo?.is_legal === 0 || !userStore.userInfo?.is_legal), + () => + Boolean(getToken()) && + Boolean(userStore.userInfo) && + !isCustomerIdentityVerified(userStore.userInfo?.is_legal), ) const giftCardFabAccent = computed( diff --git a/src/app/setupRouter.ts b/src/app/setupRouter.ts index f49894b..36f9b08 100644 --- a/src/app/setupRouter.ts +++ b/src/app/setupRouter.ts @@ -8,6 +8,7 @@ import { useAuthStore } from '@/store/useAuthStore' import { recoverMobileViewportAfterAuth } from '@/layouts/composables/useMobileScrollReset' import { getFingerPosition, setFingerPosition } from '@/app/authBoot' import { isGuestHomeQuery } from '@/utils/guestHome' +import { isCustomerIdentityVerified } from '@/utils/customerIdentity' import type { RouteLocationNormalized } from 'vue-router' const PUBLIC_ROUTE_NAMES = ['login', '404', 'educate', 'aboutUs', 'aboutSoftware', 'tvMonitor'] as const @@ -85,7 +86,7 @@ export function setupRouterGuards() { // کاربر احراز هویت نشده نباید بتواند به صفحات داخلی دسترسی پیدا کند if ( userStore.userInfo && - (userStore.userInfo.is_legal === 0 || !userStore.userInfo.is_legal) && + !isCustomerIdentityVerified(userStore.userInfo.is_legal) && !isPublicRoute(to) && to.name !== 'home' ) { diff --git a/src/components/DialogVantOneButton.vue b/src/components/DialogVantOneButton.vue index 27d0812..9a4f294 100644 --- a/src/components/DialogVantOneButton.vue +++ b/src/components/DialogVantOneButton.vue @@ -1,61 +1,71 @@ diff --git a/src/components/RequiredKycModal.vue b/src/components/RequiredKycModal.vue index ba93cc7..d995c0f 100644 --- a/src/components/RequiredKycModal.vue +++ b/src/components/RequiredKycModal.vue @@ -1,13 +1,14 @@ + +