import { useEffect } from 'react';
import { checkout } from '@imtbl/sdk';
// create Checkout SDK
const checkoutSDK = new checkout.Checkout();
export function App() {
// Initialise widgets, create connect widget and mount
useEffect(() => {
(async () => {
const widgets = await checkoutSDK.widgets({
config: { theme: checkout.WidgetTheme.DARK },
});
const connect = widgets.create(checkout.WidgetType.CONNECT)
connect.mount("connect");
})();
}, []);
return (<div id="connect" />);
}
import { checkout } from "@imtbl/sdk";
//@ts-ignore When creating the widget, pass in the configuration
const connect = widgets.create(checkout.WidgetType.CONNECT, { config: { theme: checkout.WidgetTheme.DARK }});
// Update the widget config by calling update()
connect.update({config: {theme: checkout.WidgetTheme.LIGHT}});
import { checkout } from "@imtbl/sdk";
//@ts-ignore
const connect = widgets.create(checkout.WidgetType.WALLET,
{ config: { theme: checkout.WidgetTheme.DARK }}
);
// add event listeners for the connect widget
connect.addListener(checkout.ConnectEventType.SUCCESS, (data: checkout.ConnectionSuccess) => {
console.log("success", data);
});
connect.addListener(checkout.ConnectEventType.FAILURE, (data: checkout.ConnectionFailed) => {
console.log("failure", data);
});
connect.addListener(checkout.ConnectEventType.CLOSE_WIDGET, () => {
connect.unmount();
});
// remove event listeners for the connect widget
connect.removeListener(checkout.ConnectEventType.SUCCESS);
connect.removeListener(checkout.ConnectEventType.FAILURE);
connect.removeListener(checkout.ConnectEventType.CLOSE_WIDGET);
import { useEffect, useState } from 'react';
import { checkout } from '@imtbl/sdk';
// create Checkout SDK
const checkoutSDK = new checkout.Checkout();
export function App() {
const [connect, setConnect] =
useState<checkout.Widget<typeof checkout.WidgetType.CONNECT>>();
// Initialise widgets, create connect widget
useEffect(() => {
(async () => {
const widgets = await checkoutSDK.widgets({
config: { theme: checkout.WidgetTheme.DARK },
});
const connect = widgets.create(checkout.WidgetType.CONNECT, { config: { theme: checkout.WidgetTheme.DARK }})
setConnect(connect)
})();
}, []);
// mount connect widget and add event listeners
useEffect(() => {
if(!connect) return;
connect.mount("connect");
connect.addListener(checkout.ConnectEventType.SUCCESS, (data: checkout.ConnectionSuccess) => {
console.log("success", data);
});
connect.addListener(checkout.ConnectEventType.FAILURE, (data: checkout.ConnectionFailed) => {
console.log("failure", data);
});
connect.addListener(checkout.ConnectEventType.CLOSE_WIDGET, () => {
connect.unmount();
});
}, [connect])
return (<div id="connect" />);
}