@sky-mavis/tanto-widget
Version:
Tanto Widget
64 lines (60 loc) • 1.99 kB
JavaScript
;
var jsxRuntime = require('@emotion/react/jsx-runtime');
var react = require('react');
var analytic = require('../../analytic.cjs');
var Box = require('../../components/box/Box.cjs');
var DashedDivider = require('../../components/dashed-divider/DashedDivider.cjs');
var Disclaimer = require('../../components/disclaimer/Disclaimer.cjs');
var GetWalletCTA = require('../../components/get-wallet-cta/GetWalletCTA.cjs');
var useWidgetConnect = require('../../hooks/useWidgetConnect.cjs');
var index = require('../../utils/index.cjs');
var WalletGroup = require('./components/WalletGroup.cjs');
const mapWalletData = item => {
const {
connector,
name,
homepage,
id,
isInstalled
} = item;
return {
id,
name,
homepage,
isInstalled,
connector: {
id: connector?.id,
type: connector?.type,
name: connector?.name,
chainId: connector?.chainId
}
};
};
function WalletList() {
const {
primaryWallets,
secondaryWallets
} = useWidgetConnect.useWidgetConnect();
react.useEffect(() => {
analytic.analytic.sendEvent('walletlist_view', {
wallet_selected: primaryWallets.map(mapWalletData),
wallets_available: [...primaryWallets, ...secondaryWallets].map(mapWalletData)
});
}, [primaryWallets, secondaryWallets]);
return jsxRuntime.jsxs(Box.Box, {
vertical: true,
gap: 20,
children: [jsxRuntime.jsx(WalletGroup.WalletGroup, {
wallets: primaryWallets
}), secondaryWallets.length > 0 && jsxRuntime.jsxs(Box.Box, {
vertical: true,
gap: 12,
children: [primaryWallets.length > 0 && jsxRuntime.jsx(DashedDivider.DashedDivider, {
text: "Other wallets"
}), jsxRuntime.jsx(WalletGroup.WalletGroup, {
wallets: secondaryWallets
})]
}), index.isMobile() && !index.isRoninInAppBrowser() && jsxRuntime.jsx(GetWalletCTA.GetWalletCTA, {}), jsxRuntime.jsx(Disclaimer.Disclaimer, {})]
});
}
exports.WalletList = WalletList;