diff --git a/src/modules/users/client/components/MySettings.tsx b/src/modules/users/client/components/MySettings.tsx index 960de086..4a5ff576 100644 --- a/src/modules/users/client/components/MySettings.tsx +++ b/src/modules/users/client/components/MySettings.tsx @@ -34,7 +34,14 @@ import { getWallets } from '#client/components/auth/helper' export const MySettings: React.FC = () => { useDocumentTitle('Settings') // @todo move to some config? - const allowedWallets = ['polkadot-js', 'talisman'] + const allowedWallets = [ + 'polkadot-js', + 'talisman', + 'subwallet-js', + 'subwallet', + 'novawallet', + 'walletconnect', + ] const me = useStore(stores.me) const [showModal, setShowModal] = useState(false) const [wallets, setWallets] = useState([]) diff --git a/src/modules/users/server/router.ts b/src/modules/users/server/router.ts index e7a06862..a02fcef0 100644 --- a/src/modules/users/server/router.ts +++ b/src/modules/users/server/router.ts @@ -13,6 +13,7 @@ import { AuthAccount } from '#shared/types' import * as fp from '#shared/utils/fp' import { Permissions } from '../permissions' import { + AuthExtension, AuthProvider, GeoData, ImportedTag, @@ -492,9 +493,11 @@ const userRouter: FastifyPluginCallback = async function (fastify, opts) { }>, reply ) => { - const extensionName = req.body.extensionName + const source: AuthExtension = req.body.extensionName + .replaceAll(' ', '') + .toLowerCase() const providerAuthIds = req.user.authIds[AuthProvider.Polkadot] ?? [] - const extensionIds = providerAuthIds[extensionName] ?? [] + const extensionIds = providerAuthIds[source] ?? [] if (!!Object.keys(providerAuthIds).length && extensionIds) { const alreadyLinked = extensionIds.find( @@ -515,7 +518,7 @@ const userRouter: FastifyPluginCallback = async function (fastify, opts) { if (!!otherUsers.length) { fastify.log.error( - `The address ${req.body.address} from provider ${PROVIDER_NAME}, extension: ${extensionName} has already been linked with user ${otherUsers[0].id}` + `The address ${req.body.address} from provider ${PROVIDER_NAME}, extension: ${source} has already been linked with user ${otherUsers[0].id}` ) return reply.throw.badParams( 'This address has already been connected to another account.' @@ -523,7 +526,7 @@ const userRouter: FastifyPluginCallback = async function (fastify, opts) { } await req.user - .addAuthId(AuthProvider.Polkadot, extensionName, { + .addAuthId(AuthProvider.Polkadot, source, { name: req.body.name, address: req.body.address, }) diff --git a/src/modules/users/types.ts b/src/modules/users/types.ts index b3d12c8b..05e566f9 100644 --- a/src/modules/users/types.ts +++ b/src/modules/users/types.ts @@ -32,6 +32,10 @@ export enum AuthProvider { export enum AuthExtension { PolkadotJs = 'polkadot-js', Talisman = 'talisman', + Nova = 'novawallet', + Subwallet = 'subwallet', + SubwalletJs = 'subwallet-js', + WalletConnect = 'walletConnect', } export type AuthIds = Record<