import React from 'react';
import {render} from 'react-dom';
import {ULWeb3Root, ULWeb3RootProps} from './react/ULWeb3Root';
import {ThemeProvider} from '@universal-login/react';
import './styles/index.css';
import {IWeb3PickerComponentProps, Web3PickerComponent} from './react/Web3PickerComponent';
export function initUi(props: ULWeb3RootProps) {
const reactRootElement = createReactRoot();
render(
, reactRootElement);
}
export function createReactRoot(rootId = 'universal-login-modal-root') {
const reactRoot = document.createElement('div');
reactRoot.setAttribute('id', rootId);
document.getElementsByTagName('body')[0].appendChild(reactRoot);
return reactRoot;
}
export const getOrCreateUlButton = (styles: Record = {}) => {
const element = document.getElementById('ul-btn') ?? createReactRoot('ul-btn');
setStylesOnElement({
...defaultUlButtonStyle,
...styles,
}, element);
return element;
};
const defaultUlButtonStyle = {
position: 'absolute',
top: '12px',
right: '30px',
};
const setStylesOnElement = (styles: Record, element: HTMLElement) => {
Object.assign(element.style, styles);
};
export function initPickerUi(props: IWeb3PickerComponentProps) {
const root = createReactRoot('universal-login-web3-picker');
render(, root);
}