{"version":3,"file":"UserSettings-Cs9ocxM5.js","sources":["../../node_modules/@tabler/icons-react/dist/esm/icons/IconMoonStars.mjs","../../node_modules/@tabler/icons-react/dist/esm/icons/IconSun.mjs","../../src/components/Modals/Settings/ExportPrivKeyModal.tsx","../../src/components/Settings/AccountManagement.tsx","../../src/components/Buttons/DarkModeButton.tsx","../../src/components/Settings/GeneralPreferences.tsx","../../src/components/Settings/UserSettings.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.22.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nvar IconMoonStars = createReactComponent(\"outline\", \"moon-stars\", \"IconMoonStars\", [[\"path\", { \"d\": \"M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M19 11h2m-1 -1v2\", \"key\": \"svg-2\" }]]);\n\nexport { IconMoonStars as default };\n//# sourceMappingURL=IconMoonStars.mjs.map\n","/**\n * @license @tabler/icons-react v3.22.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nvar IconSun = createReactComponent(\"outline\", \"sun\", \"IconSun\", [[\"path\", { \"d\": \"M12 12m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7\", \"key\": \"svg-1\" }]]);\n\nexport { IconSun as default };\n//# sourceMappingURL=IconSun.mjs.map\n","import { Stack, Text } from '@mantine/core'\nimport { useCallback, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport RootButton from '@/components/Buttons/RootButton'\nimport AddressDisplay from '@/components/User/AddressDisplay'\nimport { useAuth } from '@/plugins/auth'\nimport { getWeb3AuthInstance } from '@/plugins/auth/config'\n\ninterface ExportPrivKeyModalProps {\n close: () => void\n}\n\nconst ExportPrivKeyModal: React.FC = ({ close }) => {\n const { t } = useTranslation()\n const { provider } = useAuth()\n const [showPrivKey, setShowPrivKey] = useState(false)\n const [privKey, setPrivKey] = useState('')\n\n // TODO: Temporary solution. User is not supposed to have access to the priv key in the first place and the web3AuthInstance should not be used anywhere in the app\n const getPrivateKey = useCallback(async (): Promise => {\n const p =\n provider ??\n (() => {\n const web3AuthInstance = getWeb3AuthInstance()\n if (!web3AuthInstance) {\n console.error('No web3AuthInstance found')\n }\n return web3AuthInstance?.provider\n })()\n\n try {\n const privateKey = await p?.request({\n method: 'eth_private_key',\n })\n return String(privateKey)\n } catch (error: any) {\n console.error('Error', error)\n throw new Error(`Error getting Web3Auth account private key: ${error.message}`)\n }\n }, [provider])\n\n const show = useCallback(async () => {\n const privateKey = await getPrivateKey()\n setPrivKey(privateKey)\n setShowPrivKey(previous => !previous)\n }, [getPrivateKey])\n\n return (\n \n \n {t(\n 'components.settings.privKeyModalText',\n 'Are you sure you want to export the private key?'\n )}\n \n {showPrivKey && (\n \n )}\n \n \n {t('buttons.cancel', 'Cancel')}\n \n \n {showPrivKey ? t('buttons.hide', 'Hide') : t('buttons.show', 'Show')}\n \n \n \n )\n}\n\nexport default ExportPrivKeyModal\n","import { Stack, Text, Title } from '@mantine/core'\nimport React from 'react'\nimport { useTranslation } from 'react-i18next'\n\nconst openLoginUrl = process.env.WEB3AUTH_UI_URL || 'https://app.openlogin.com'\n\ninterface AccountManagementProps {\n privKey: () => void\n isMobile: boolean\n isMetamask: boolean\n}\n\nconst AccountManagement: React.FC = ({ privKey, isMobile, isMetamask }) => {\n const { t } = useTranslation()\n return (\n \n \n {t('components.settings.accountManagement', 'Account Management')}\n \n {!isMetamask && (\n \n \n {t('components.settings.manageAccount', 'Manage your account')}\n \n \n )}\n \n \n {t('components.settings.exportPrivKey', 'Export private key')}\n \n \n \n )\n}\n\nexport default AccountManagement\n","// ToggleButton.tsx\n\nimport { IconMoonStars, IconSun } from '@tabler/icons-react'\nimport React from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { useAuth } from '@/plugins/auth'\nimport {\n getDefaultBannerImage,\n getDefaultProfileImage,\n} from '@/plugins/auth/AuthProvider/effects/functions'\n\nimport useLocalStorage from '../../hooks/useLocalStorage'\nimport { StoredTheme, UserIdentity } from '../../utils/utils'\nimport RootButton from './RootButton'\n\nconst DarkModeButton: React.FC = () => {\n const { t } = useTranslation()\n const { address } = useAuth()\n const [userTheme, setUserTheme] = useLocalStorage(`userTheme`)\n const [userIdentity, setUserIdentity] = useLocalStorage(`userIdentity-${address}`)\n\n const toggleMode = () => {\n const isLightMode = !userTheme?.isLightMode\n setUserTheme({\n ...userTheme,\n isLightMode,\n })\n if (userIdentity) {\n setUserIdentity({\n ...userIdentity,\n profileImage: !userIdentity.profileImage.startsWith('ipfs://')\n ? getDefaultProfileImage(isLightMode)\n : userIdentity.profileImage,\n bannerImage: !userIdentity.bannerImage.startsWith('ipfs://')\n ? getDefaultBannerImage(isLightMode)\n : userIdentity.bannerImage,\n })\n }\n }\n\n return (\n : }\n >\n {!userTheme?.isLightMode\n ? t('common.theme.lightMode', 'Light Mode')\n : t('common.theme.darkMode', 'Dark Mode')}\n \n )\n}\n\nexport default DarkModeButton\n","import { Stack, Title } from '@mantine/core'\nimport React from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport DarkModeButton from '../Buttons/DarkModeButton'\n// import LanguageButton from '../Buttons/LanguageButton'\n\ninterface GeneralPreferencesProps {\n isMobile: boolean\n}\n\nconst GeneralPreferences: React.FC = ({ isMobile }) => {\n const { t } = useTranslation()\n // const theme = useMantineTheme()\n return (\n \n \n {t('components.settings.generalPreferences', 'General Preferences')}\n \n \n {/* \n {t('components.settings.language', 'Language')}\n \n {t('components.settings.languagesBeta', 'Hub translation is currently in Beta')}\n \n \n */}\n \n )\n}\n\nexport default GeneralPreferences\n","import { Stack, useMantineTheme } from '@mantine/core'\nimport { useDisclosure, useMediaQuery } from '@mantine/hooks'\nimport React, { useEffect } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { useAuth } from '@/plugins/auth'\nimport { BodyStack } from '@/styled/components'\n\nimport ModalSkeleton from '../Modals/ModalSkeleton'\nimport ExportPrivKeyModal from '../Modals/Settings/ExportPrivKeyModal'\nimport AccountManagement from './AccountManagement'\nimport GeneralPreferences from './GeneralPreferences'\n\nconst Component: React.FC = () => {\n const { t } = useTranslation()\n const theme = useMantineTheme()\n const { address } = useAuth()\n const [opened, { open, close }] = useDisclosure(false)\n const isMobile = useMediaQuery(`(max-width: ${theme.breakpoints.xs})`)\n const isMetamask = localStorage.getItem('Web3Auth-cachedAdapter') === 'metamask'\n\n const privKey = () => {\n if (isMetamask) {\n window.open(\n 'https://support.metamask.io/hc/en-us/articles/360015289632-How-to-export-an-account-s-private-key',\n '_blank'\n )\n } else {\n open()\n }\n }\n\n useEffect(() => {\n window.scrollTo(0, 0)\n }, [])\n\n return (\n \n {address && (\n \n \n \n \n )}\n \n \n \n \n )\n}\nComponent.displayName = 'UserSettings'\n\n// eslint-disable-next-line import/prefer-default-export\nexport { Component }\n"],"names":["IconMoonStars","createReactComponent","IconSun","ExportPrivKeyModal","close","useTranslation","provider","useAuth","showPrivKey","setShowPrivKey","useState","privKey","setPrivKey","getPrivateKey","useCallback","p","web3AuthInstance","getWeb3AuthInstance","privateKey","error","show","previous","jsxs","Stack","jsx","Text","AddressDisplay","RootButton","openLoginUrl","define_process_env_default","AccountManagement","isMobile","isMetamask","t","Title","DarkModeButton","address","userTheme","setUserTheme","useLocalStorage","userIdentity","setUserIdentity","toggleMode","isLightMode","getDefaultProfileImage","getDefaultBannerImage","GeneralPreferences","Component","theme","useMantineTheme","opened","open","useDisclosure","useMediaQuery","useEffect","BodyStack","ModalSkeleton"],"mappings":"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","x_google_ignoreList":[0,1]}