import { Init } from '../../types.js' import { set } from '../jackpot/index.js' import settings, { setSettings } from '../settings/index.js' import urls, { setUrl } from '../urls/index.js' import widget from '../widget/index.js' import api from '../api/index.js' import events from '../events/index.js' import { initTexts } from '../widget/texts.js' function init(props: Init) { const { brandId, eventId, playerId, applicationKey, log, root, style, media, texts, disableWidgetDrag, locale, signature, signatureBet, host, } = props if (settings.get().initialized) { return console.error('You can not init jooba twice.') } if (typeof window !== 'undefined') { const apiUrl: string = host || urls.api setUrl('api', apiUrl) setSettings('brandId', brandId) setSettings('eventId', eventId) setSettings('playerId', playerId) setSettings('applicationKey', applicationKey) setSettings('log', log) setSettings('initialized', true) setSettings('root', root) setSettings('signature', signature) setSettings('signatureBet', signatureBet) api.get(`${apiUrl}${urls.initCheck}/${brandId}/${eventId}?playerId=${playerId}${locale ? `&locale=${locale}` : ''}`).then((data: any) => { if (data && data !== 'false' && data !== 'undefined' && data !== 'null') { setSettings('jackpotOriginalName', data.jackpotName) setSettings('optIn', data.optin) if (texts || data?.translations) { initTexts(texts || data.translations) } set(data) widget.display({ root, style, media, disableWidgetDrag }) if (media) { events.callback('init') } } else { console.warn('JOOBA - Jackpot not exists or something wrong with params provided.') } }) } } export default init