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
32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import { useUserUpdateRequest } from '@dynamic-labs/sdk-react-core';
|
|
import { useQueryClient } from '@tanstack/react-query';
|
|
import React from 'react';
|
|
|
|
import type { UserInfo } from 'types/api/account';
|
|
|
|
import { getResourceKey } from 'lib/api/useApiQuery';
|
|
import * as mixpanel from 'lib/mixpanel/index';
|
|
|
|
export default function useLinkEmailDynamic(): () => void {
|
|
const { updateUserWithModal } = useUserUpdateRequest();
|
|
const queryClient = useQueryClient();
|
|
|
|
return React.useCallback(() => {
|
|
mixpanel.logEvent(mixpanel.EventTypes.ACCOUNT_LINK_INFO, {
|
|
Status: 'Started',
|
|
Type: 'Email',
|
|
Source: 'Profile dropdown',
|
|
});
|
|
updateUserWithModal([ 'email' ]).then((fields) => {
|
|
queryClient.setQueryData(getResourceKey('general:user_info'), (prevData: UserInfo | undefined) => {
|
|
return { ...prevData, email: fields.email };
|
|
});
|
|
mixpanel.logEvent(mixpanel.EventTypes.ACCOUNT_LINK_INFO, {
|
|
Status: 'Finished',
|
|
Type: 'Email',
|
|
Source: 'Profile dropdown',
|
|
});
|
|
});
|
|
}, [ queryClient, updateUserWithModal ]);
|
|
}
|