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