import { checkout } from '@imtbl/sdk';
import { Environment } from '@imtbl/sdk/config';
const { Checkout, WidgetType, WidgetTheme, CommerceFlowType, CommerceEventType } = checkout;
const checkoutSDK = new Checkout({
baseConfig: {
environment: Environment.SANDBOX,
publishableKey: 'YOUR_PUBLISHABLE_KEY',
},
});
// Display wallet balances and actions
export async function showWallet(elementId: string) {
const widgets = await checkoutSDK.widgets({ config: { theme: WidgetTheme.DARK } });
const widget = widgets.create(WidgetType.IMMUTABLE_COMMERCE);
widget.mount(elementId, {
flow: CommerceFlowType.WALLET,
});
widget.addListener(CommerceEventType.CLOSE, () => {
widget.unmount();
});
widget.addListener(CommerceEventType.DISCONNECTED, () => {
widget.unmount();
// Handle logout in your app
});
return widget;
}