From f288c4c26505a92925646034d8da825feb2f1036 Mon Sep 17 00:00:00 2001 From: runjuu Date: Thu, 27 Apr 2023 15:59:13 -0700 Subject: [PATCH] feat: notification modal supports dark mode (#446) --- package.json | 12 +- pnpm-lock.yaml | 133 +++++++++++------- src/components/common/ConnectButton.tsx | 4 +- src/pages/_app.tsx | 14 +- .../[subdomain]/settings/domains.tsx | 7 +- .../[subdomain]/settings/operator.tsx | 7 +- 6 files changed, 110 insertions(+), 67 deletions(-) diff --git a/package.json b/package.json index 9299a5bc..6d4bb7b6 100644 --- a/package.json +++ b/package.json @@ -36,12 +36,12 @@ "@codemirror/state": "6.2.0", "@codemirror/theme-one-dark": "6.1.2", "@codemirror/view": "6.9.6", - "@crossbell/connect-kit": "0.0.70", - "@crossbell/contract": "0.0.70", - "@crossbell/indexer": "0.0.70", - "@crossbell/notification": "0.0.70", - "@crossbell/ui": "0.0.70", - "@crossbell/util-hooks": "0.0.70", + "@crossbell/connect-kit": "0.0.74", + "@crossbell/contract": "0.0.74", + "@crossbell/indexer": "0.0.74", + "@crossbell/notification": "0.0.74", + "@crossbell/ui": "0.0.74", + "@crossbell/util-hooks": "0.0.74", "@ddietr/codemirror-themes": "1.4.1", "@dqbd/tiktoken": "^1.0.6", "@emoji-mart/data": "1.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7c0f5159..d9d8c130 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,23 +27,23 @@ dependencies: specifier: 6.9.6 version: 6.9.6 '@crossbell/connect-kit': - specifier: 0.0.70 - version: 0.0.70(@tanstack/react-query@4.29.5)(@types/react@18.0.38)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.12) + specifier: 0.0.74 + version: 0.0.74(@tanstack/react-query@4.29.5)(@types/react@18.0.38)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.12) '@crossbell/contract': - specifier: 0.0.70 - version: 0.0.70(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.12) + specifier: 0.0.74 + version: 0.0.74(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0) '@crossbell/indexer': - specifier: 0.0.70 - version: 0.0.70(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.12) + specifier: 0.0.74 + version: 0.0.74(@crossbell/contract@0.0.74)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0) '@crossbell/notification': - specifier: 0.0.70 - version: 0.0.70(@emotion/react@11.10.6)(@mantine/hooks@6.0.9)(@tanstack/react-query@4.29.5)(@types/react@18.0.38)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.12) + specifier: 0.0.74 + version: 0.0.74(@crossbell/contract@0.0.74)(@tanstack/react-query@4.29.5)(@types/react@18.0.38)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.12) '@crossbell/ui': - specifier: 0.0.70 - version: 0.0.70(@types/react@18.0.38)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.12) + specifier: 0.0.74 + version: 0.0.74(@crossbell/contract@0.0.74)(@types/react@18.0.38)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@crossbell/util-hooks': - specifier: 0.0.70 - version: 0.0.70(react-dom@18.2.0)(react@18.2.0) + specifier: 0.0.74 + version: 0.0.74(react-dom@18.2.0)(react@18.2.0) '@ddietr/codemirror-themes': specifier: 1.4.1 version: 1.4.1 @@ -2027,19 +2027,20 @@ packages: - utf-8-validate dev: false - /@crossbell/connect-kit@0.0.70(@tanstack/react-query@4.29.5)(@types/react@18.0.38)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.12): - resolution: {integrity: sha512-VceWvKgY8zmKd7jUsZddBPEwnOAdsa2bEJxaN6O+K84Gl92Ub5LDU+4DFuT/dNtwntbyAvyWi7kGuUZmeWYB5A==} + /@crossbell/connect-kit@0.0.74(@tanstack/react-query@4.29.5)(@types/react@18.0.38)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.12): + resolution: {integrity: sha512-Bn2FmxHDFBY9Ld3ZwWvQX9XBa0GOhxkd4C3zOLNPN6eEKs6tls4wnE1ZbnUlIANU0otIxKMGe1eYaqJVlk5Q7A==} peerDependencies: '@tanstack/react-query': ^4 ethers: ^5 wagmi: ^0.12 dependencies: - '@crossbell/contract': 0.0.70(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.12) - '@crossbell/indexer': 0.0.70(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.12) - '@crossbell/ui': 0.0.70(@types/react@18.0.38)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.12) - '@crossbell/util-ethers': 0.0.70 - '@crossbell/util-hooks': 0.0.70(react-dom@18.2.0)(react@18.2.0) - '@crossbell/util-metadata': 0.0.70 + '@crossbell/contract': 0.0.74(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0) + '@crossbell/indexer': 0.0.74(@crossbell/contract@0.0.74)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0) + '@crossbell/react-account': 0.0.74(@tanstack/react-query@4.29.5)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4) + '@crossbell/ui': 0.0.74(@crossbell/contract@0.0.74)(@types/react@18.0.38)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@crossbell/util-ethers': 0.0.74 + '@crossbell/util-hooks': 0.0.74(react-dom@18.2.0)(react@18.2.0) + '@crossbell/util-metadata': 0.0.74 '@emotion/react': 11.10.6(@types/react@18.0.38)(react@18.2.0) '@mantine/core': 6.0.9(@emotion/react@11.10.6)(@mantine/hooks@6.0.9)(@types/react@18.0.38)(react-dom@18.2.0)(react@18.2.0) '@mantine/hooks': 6.0.9(react@18.2.0) @@ -2071,19 +2072,17 @@ packages: - utf-8-validate dev: false - /@crossbell/contract@0.0.70(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.12): - resolution: {integrity: sha512-CLvlOb6E3VdcSZpwxXF+3npnUrDV4yX83zu6VnyXazTNPULiSNNuO4aLVBFjqJqHXXXPOlTweAdnFAIW2DB/6g==} + /@crossbell/contract@0.0.74(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-keIALM+WGihWo7U07sHp6lzuRcMyQIYQZZz2lPEFq4nrcgRatVQK2A/cNu1hyPGj4Gcpkxihihw1COWHPbR+uQ==} peerDependencies: ethers: ^5 react: ^18 - wagmi: ^0.12 dependencies: - '@crossbell/indexer': 0.0.70(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.12) - '@crossbell/util-hooks': 0.0.70(react-dom@18.2.0)(react@18.2.0) + '@crossbell/indexer': 0.0.74(@crossbell/contract@0.0.74)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0) + '@crossbell/util-hooks': 0.0.74(react-dom@18.2.0)(react@18.2.0) crossbell.js: 0.19.8 ethers: 5.7.2 react: 18.2.0 - wagmi: 0.12.12(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(zod@3.21.4) transitivePeerDependencies: - bufferutil - react-dom @@ -2092,19 +2091,19 @@ packages: - utf-8-validate dev: false - /@crossbell/indexer@0.0.70(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.12): - resolution: {integrity: sha512-DHitBcRV5RjC8LSw1nNj/bWiRaeCQP1/yini12F3R+AOVM7A0lMJnl1WYScr/4rDDXDnf4/YIgAqzMJrZa4IZg==} + /@crossbell/indexer@0.0.74(@crossbell/contract@0.0.74)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-TOAF23Jp1O8LTQ8DYT5iGFmJSQqmW/6zL8emzJ2W+RhG8Mz80J5AA4QWY85YrGf2KgUZggG3uhW4Exc9LgIuNA==} peerDependencies: + '@crossbell/contract': ^0.0.72 ethers: ^5 - wagmi: ^0.12 dependencies: + '@crossbell/contract': 0.0.74(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-query': 4.29.5(react-dom@18.2.0)(react@18.2.0) crossbell.js: 0.19.8 dayjs: 1.11.7 ethers: 5.7.2 lodash.compact: 3.0.1 lru-cache: 9.1.1 - wagmi: 0.12.12(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(zod@3.21.4) transitivePeerDependencies: - bufferutil - react @@ -2118,20 +2117,19 @@ packages: resolution: {integrity: sha512-AYGDrwiSKqCGNDi0mEPP1k+96loWik+Pd40xH0MzRNM4RtCutPbwm4o+Sj5iWu0tlHoQC2bTs1XcufsLiv+WYw==} dev: false - /@crossbell/notification@0.0.70(@emotion/react@11.10.6)(@mantine/hooks@6.0.9)(@tanstack/react-query@4.29.5)(@types/react@18.0.38)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.12): - resolution: {integrity: sha512-jpWmG9dZgFlUjswHTbaqPrUlawJhWa99qbOqHjM1v108B02upEpw8iSy4lV2Es6fsqs55bRZuo6SkJpO/VlDhw==} + /@crossbell/notification@0.0.74(@crossbell/contract@0.0.74)(@tanstack/react-query@4.29.5)(@types/react@18.0.38)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.12): + resolution: {integrity: sha512-KIauN9JEzzYYLEUBrZ51oBey1Vo/kNK6u2MtTQVo6AP1aPuXZd4MoaegvqvpdYstMTGvrBrgNXMQ9ubAhvRFBQ==} peerDependencies: '@tanstack/react-query': ^4 ethers: ^5 react: ^18 wagmi: ^0.12 dependencies: - '@crossbell/connect-kit': 0.0.70(@tanstack/react-query@4.29.5)(@types/react@18.0.38)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.12) - '@crossbell/indexer': 0.0.70(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.12) - '@crossbell/ui': 0.0.70(@types/react@18.0.38)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.12) - '@crossbell/util-hooks': 0.0.70(react-dom@18.2.0)(react@18.2.0) - '@crossbell/util-metadata': 0.0.70 - '@mantine/core': 6.0.9(@emotion/react@11.10.6)(@mantine/hooks@6.0.9)(@types/react@18.0.38)(react-dom@18.2.0)(react@18.2.0) + '@crossbell/indexer': 0.0.74(@crossbell/contract@0.0.74)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0) + '@crossbell/react-account': 0.0.74(@tanstack/react-query@4.29.5)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4) + '@crossbell/ui': 0.0.74(@crossbell/contract@0.0.74)(@types/react@18.0.38)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@crossbell/util-hooks': 0.0.74(react-dom@18.2.0)(react@18.2.0) + '@crossbell/util-metadata': 0.0.74 '@tanstack/react-query': 4.29.5(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 dayjs: 1.11.7 @@ -2141,8 +2139,7 @@ packages: wagmi: 0.12.12(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(zod@3.21.4) zustand: 4.3.7(immer@9.0.21)(react@18.2.0) transitivePeerDependencies: - - '@emotion/react' - - '@mantine/hooks' + - '@crossbell/contract' - '@types/react' - bufferutil - immer @@ -2153,15 +2150,45 @@ packages: - utf-8-validate dev: false - /@crossbell/ui@0.0.70(@types/react@18.0.38)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.12): - resolution: {integrity: sha512-vSCsP8lx4A2JuMmh4pzzaaQLEHEDBatgCwYbA6LOa0vqDMxxy5w5/In7HNmszAcgFjk/XeizhcEF21e0hgOIxQ==} + /@crossbell/react-account@0.0.74(@tanstack/react-query@4.29.5)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4): + resolution: {integrity: sha512-+FZwZIivehVixwSClS968JaWE+GDWEvNxFrkjhoCU9hFGm+hnAslW75VoIHjqQxhsz3iJxoGtSTIqDqZhAmAsQ==} + peerDependencies: + '@tanstack/react-query': ^4 + ethers: ^5 + dependencies: + '@crossbell/contract': 0.0.74(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0) + '@crossbell/indexer': 0.0.74(@crossbell/contract@0.0.74)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0) + '@crossbell/util-ethers': 0.0.74 + '@crossbell/util-hooks': 0.0.74(react-dom@18.2.0)(react@18.2.0) + '@crossbell/util-metadata': 0.0.74 + '@tanstack/react-query': 4.29.5(react-dom@18.2.0)(react@18.2.0) + check-password-strength: 2.0.7 + crossbell.js: 0.19.8 + ethers: 5.7.2 + immer: 10.0.1 + lodash.debounce: 4.0.8 + react: 18.2.0 + rxjs: 7.8.0 + ts-essentials: 9.3.1(typescript@5.0.4) + zustand: 4.3.7(immer@10.0.1)(react@18.2.0) + transitivePeerDependencies: + - bufferutil + - react-dom + - react-native + - supports-color + - typescript + - utf-8-validate + dev: false + + /@crossbell/ui@0.0.74(@crossbell/contract@0.0.74)(@types/react@18.0.38)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): + resolution: {integrity: sha512-r8xHyfIhE8hAGQwZ/jvs7z9ZihkH7Ilo4yAm2CeQSuBy65n1WrBEs1wrTF5ZIzA8u7Wa6c9cpywJ7HXB4dT8RA==} peerDependencies: react: ^18 react-dom: ^18 dependencies: - '@crossbell/indexer': 0.0.70(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.12) - '@crossbell/util-hooks': 0.0.70(react-dom@18.2.0)(react@18.2.0) - '@crossbell/util-metadata': 0.0.70 + '@crossbell/indexer': 0.0.74(@crossbell/contract@0.0.74)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0) + '@crossbell/util-hooks': 0.0.74(react-dom@18.2.0)(react@18.2.0) + '@crossbell/util-metadata': 0.0.74 '@tanstack/react-query': 4.29.5(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 crossbell.js: 0.19.8 @@ -2173,6 +2200,7 @@ packages: react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) ts-essentials: 9.3.1(typescript@5.0.4) transitivePeerDependencies: + - '@crossbell/contract' - '@types/react' - bufferutil - ethers @@ -2180,15 +2208,14 @@ packages: - supports-color - typescript - utf-8-validate - - wagmi dev: false - /@crossbell/util-ethers@0.0.70: - resolution: {integrity: sha512-Tmjkvfpk3Q0J7RfXc1MtVdd9rF7IjD5YkSpZVfzTzuLx4ugDW2+4lCTM6Jqmfnpe5HIgi+AiVQCq1sQ/K9jY0g==} + /@crossbell/util-ethers@0.0.74: + resolution: {integrity: sha512-sV23wM2ApzxtXBLkIB2is+mmiNcLqUtwc4XSuYInPhVQNH/fnFNib/k/LyNml2aotxxlsaaqUTMqwhdultWQIA==} dev: false - /@crossbell/util-hooks@0.0.70(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-rTuiugtEzd7Ouh78S9cL8oZknpRh+hz9nXV2Vw//sO2Shq1GkW7XwnwtssP9ZRP5GzSRFbHjhIOSBfTI1PA+Ow==} + /@crossbell/util-hooks@0.0.74(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-2FI9Ok0AcmNtLU7A3CbxZUdQjYQwZ8LLO3Lg0FM4cqajZheE0V8IormgxqVGZH7a6CrQ8KAP5f67JXReHXGtIw==} peerDependencies: react: ^18 dependencies: @@ -2203,10 +2230,10 @@ packages: - utf-8-validate dev: false - /@crossbell/util-metadata@0.0.70: - resolution: {integrity: sha512-mL906G7RZKBfVNbeGvvGN246egtdBJb9Lc1mruM3BV5ZQVEZG9RToFzMFgvRodlMk+S/VB/2dtDTl8CpRD/QTw==} + /@crossbell/util-metadata@0.0.74: + resolution: {integrity: sha512-SK3PRslmDWuMvVh9f1nWMQiWSl1DiT5/1+4XsX+J6+YhX9sphG3U9q1eQ++9GCl4QV/I3vYhZwav2XjitKdZ2A==} dependencies: - '@crossbell/util-ethers': 0.0.70 + '@crossbell/util-ethers': 0.0.74 '@fastify/deepmerge': 1.3.0 crossbell.js: 0.19.8 transitivePeerDependencies: diff --git a/src/components/common/ConnectButton.tsx b/src/components/common/ConnectButton.tsx index 03371caf..dced861e 100644 --- a/src/components/common/ConnectButton.tsx +++ b/src/components/common/ConnectButton.tsx @@ -11,7 +11,7 @@ import { useIsOpSignEnabled, useOpSignSettingsModal, useSelectCharactersModal, - useUpgradeAccountModal, + useUpgradeEmailAccountModal, } from "@crossbell/connect-kit" import { useNotifications, @@ -85,7 +85,7 @@ export const ConnectButton: React.FC<{ const [copyLabelDisplay, copyLabel] = useCopyLabel(account) const csbDetailModal = useCsbDetailModal() const opSignSettingsModal = useOpSignSettingsModal() - const upgradeAccountModal = useUpgradeAccountModal() + const upgradeAccountModal = useUpgradeEmailAccountModal() const selectCharactersModal = useSelectCharactersModal() const userSites = useAccountSites() diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 097ce5d5..f677b160 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -10,7 +10,10 @@ import { ConnectKitProvider, getDefaultClientConfig, } from "@crossbell/connect-kit" -import { NotificationModal } from "@crossbell/notification" +import { + NotificationModal, + NotificationModalColorScheme, +} from "@crossbell/notification" import { Hydrate, QueryClient } from "@tanstack/react-query" import { PersistQueryClientProvider } from "@tanstack/react-query-persist-client" @@ -38,6 +41,13 @@ const queryClient = new QueryClient({ const persister = createIDBPersister() +const colorScheme: NotificationModalColorScheme = { + text: `rgb(var(--tw-colors-i-zinc-800))`, + textSecondary: `rgb(var(--tw-colors-i-gray-600))`, + background: `rgb(var(--tw-colors-i-white))`, + border: `var(--border-color)`, +} + function MyApp({ Component, pageProps }: AppPropsWithLayout) { const getLayout = Component.getLayout ?? ((page) => page) @@ -76,7 +86,7 @@ function MyApp({ Component, pageProps }: AppPropsWithLayout) { /> {getLayout()} - + diff --git a/src/pages/dashboard/[subdomain]/settings/domains.tsx b/src/pages/dashboard/[subdomain]/settings/domains.tsx index f648c82a..dded70ae 100644 --- a/src/pages/dashboard/[subdomain]/settings/domains.tsx +++ b/src/pages/dashboard/[subdomain]/settings/domains.tsx @@ -6,7 +6,10 @@ import type { ReactElement } from "react" import { useForm } from "react-hook-form" import toast from "react-hot-toast" -import { useAccountState, useUpgradeAccountModal } from "@crossbell/connect-kit" +import { + useAccountState, + useUpgradeEmailAccountModal, +} from "@crossbell/connect-kit" import { DashboardLayout } from "~/components/dashboard/DashboardLayout" import { getServerSideProps as getLayoutServerSideProps } from "~/components/dashboard/DashboardLayout.server" @@ -45,7 +48,7 @@ export default function SettingsDomainsPage() { const isEmailAccount = useAccountState( (s) => s.computed.account?.type === "email", ) - const upgradeAccountModal = useUpgradeAccountModal() + const upgradeAccountModal = useUpgradeEmailAccountModal() const form = useForm({ defaultValues: { diff --git a/src/pages/dashboard/[subdomain]/settings/operator.tsx b/src/pages/dashboard/[subdomain]/settings/operator.tsx index 0487361f..3bd0974f 100644 --- a/src/pages/dashboard/[subdomain]/settings/operator.tsx +++ b/src/pages/dashboard/[subdomain]/settings/operator.tsx @@ -5,7 +5,10 @@ import { useEffect, useState } from "react" import type { ReactElement } from "react" import toast from "react-hot-toast" -import { useAccountState, useUpgradeAccountModal } from "@crossbell/connect-kit" +import { + useAccountState, + useUpgradeEmailAccountModal, +} from "@crossbell/connect-kit" import { Dialog } from "@headlessui/react" import { CharacterCard } from "~/components/common/CharacterCard" @@ -88,7 +91,7 @@ export default function SettingsOperatorPage() { const isEmailAccount = useAccountState( (s) => s.computed.account?.type === "email", ) - const upgradeAccountModal = useUpgradeAccountModal() + const upgradeAccountModal = useUpgradeEmailAccountModal() const userRole = useUserRole(subdomain) const { t } = useTranslation("dashboard")