mirror of
https://github.com/luxfi/explore.git
synced 2026-09-24 00:28:18 +00:00
* basic login button implementation * refactoring and add dynamic auth button to the other pages * connect wallet without authenticating an user * login and logout user in blockscout account * refactoring and RPC overrides * authenticate user with connected wallet * add ENS to profile button * override evm chains and fix contract write with waas wallet * disconnect wallet and fix docker build * add dynamic imports to components that use web3 wallet packages * refactor user profile directory * clean up * tweaks * update pw ci script * fix "connect wallet" button behavior * handle linking email to profile with dynamic provider * fix test * async loading web3 hooks and remove dynamic loading from components that use them * fix pw tests * add account navigation in horizontal layout when auth provider is dynamic * fix address verification modal * review fixes * spelling fixes
34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
import { type ButtonProps } from '@chakra-ui/react';
|
|
import dynamic from 'next/dynamic';
|
|
|
|
import config from 'configs/app';
|
|
import UserProfileAuth0 from 'ui/snippets/user/profile/auth0/UserProfileDesktop';
|
|
import UserWalletDesktop from 'ui/snippets/user/wallet/UserWalletDesktop';
|
|
|
|
const UserProfileDynamic = dynamic(() => import('ui/snippets/user/profile/dynamic/UserProfile'), { ssr: false });
|
|
|
|
interface Props {
|
|
buttonSize?: ButtonProps['size'];
|
|
buttonVariant?: ButtonProps['variant'];
|
|
}
|
|
|
|
const UserProfileDesktop = ({ buttonSize, buttonVariant = 'header' }: Props) => {
|
|
const accountFeature = config.features.account;
|
|
if (accountFeature.isEnabled) {
|
|
switch (accountFeature.authProvider) {
|
|
case 'auth0':
|
|
return <UserProfileAuth0 buttonSize={ buttonSize } buttonVariant={ buttonVariant }/>;
|
|
case 'dynamic':
|
|
return <UserProfileDynamic buttonSize={ buttonSize } buttonVariant={ buttonVariant }/>;
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
if (config.features.blockchainInteraction.isEnabled) {
|
|
return <UserWalletDesktop buttonSize={ buttonSize } buttonVariant={ buttonVariant }/>;
|
|
}
|
|
return null;
|
|
};
|
|
|
|
export default UserProfileDesktop;
|