@sky-mavis/tanto-widget
Version:
Tanto Widget
24 lines • 1.14 kB
JavaScript
import {useEffect}from'react';import {useChains}from'wagmi';import {analytic}from'../../analytic.mjs';import {WAYPOINT_BASE_URL}from'../../constants.mjs';import {usePreloadTantoImages}from'../../hooks/usePreloadImages.mjs';import {useSolveRoninConnectionConflict}from'../../hooks/useSolveRoninConnectionConflict.mjs';import {TantoWidgetError,TantoWidgetErrorCodes}from'../../utils/errors.mjs';function useTantoSetup(customConfig) {
const chains = useChains();
useSolveRoninConnectionConflict();
usePreloadTantoImages();
const config = {
reducedMotion: false,
disableProfile: false,
hideConnectSuccessPrompt: false,
createAccountOnConnect: false,
initialChainId: chains?.[0]?.id,
__internal_baseUrl: WAYPOINT_BASE_URL,
...customConfig
};
if (config.createAccountOnConnect && !config.clientId) {
throw new TantoWidgetError(TantoWidgetErrorCodes.CLIENT_ID_REQUIRED, 'clientId is required when createAccountOnConnect is enabled');
}
useEffect(() => {
analytic.updateSession({});
analytic.sendEvent('sdk_init', {
config
});
}, []);
return config;
}export{useTantoSetup};