{"tags":[{"tagId":"79e1a6e3-1548-48c3-9c2b-fc9aaf453a19","tagTypeId":"custom_js","name":"ZenDesk","description":"ZenDesk","config":{"code":"(() => {\r\n setTimeout(() => {\r\n let eventListenerAdded = false;\r\n const onMessageReceive = (count) => {\r\n if (count == 0) {\r\n return;\r\n }\r\n document.querySelector(\"#ns-help-menu\").dataset.unreadCount = count;\r\n document.querySelector(\".ns-help-menu-item.ns-help-menu-item-chat\").dataset.unreadCount = count;\r\n\r\n if (!eventListenerAdded) {\r\n document.querySelector(\".ns-help-menu-item.ns-help-menu-item-chat\").addEventListener('click', (e) => {\r\n document.querySelector(\".ns-help-menu-item.ns-help-menu-item-chat\").removeAttribute(\"data-unread-count\");\r\n document.querySelector(\"#ns-help-menu\").removeAttribute(\"data-unread-count\");\r\n });\r\n eventListenerAdded = true;\r\n }\r\n };\r\n\r\n Playtech.API.common.getScript('https://static.zdassets.com/ekr/snippet.js?key=571772db-59b3-42ff-9c59-317894562e91', { id: 'ze-snippet' }).then(async () => {\r\n zE('messenger', 'hide');\r\n zE('messenger:on', 'close', function () {\r\n zE('messenger', 'hide');\r\n });\r\n zE('messenger:on', 'unreadMessages', onMessageReceive);\r\n\r\n const handler = () => {\r\n zE(\"messenger\", \"loginUser\", async function (callback) {\r\n const response = await Playtech.API.server.getJWTToken();\r\n const jwtToken = response?.data?.jwtToken;\r\n if (!jwtToken) {\r\n return;\r\n }\r\n return callback(jwtToken);\r\n });\r\n };\r\n\r\n\r\n if (Playtech.API.auth.isLoggedIn) {\r\n handler();\r\n }\r\n\r\n Playtech.on(Playtech.Events.LOGGED_IN, handler);\r\n Playtech.on(Playtech.Events.LOGGED_OUT, function () {\r\n zE(\"messenger\", \"hide\");\r\n });\r\n });\r\n }, 3000);\r\n})();"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"97da214d-29ea-4239-971b-53b94aa239f7","tagTypeId":"custom_js","name":"Refresh shufti","description":"Refresh shufti","config":{"code":"Playtech.on('player-tag-change', ({ tag, value }) => {\n if (tag === 'risk/doc/id_upload_requirement') {\n Playtech.API.page.requestPageInPopupUpdate();\n }\n})"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"a41c8b90-f490-4549-aa22-46dbf85d1a23","tagTypeId":"custom_tag_type","name":"customInboxStyling","description":"custom styling for inbox feature","config":{"beforeEndHead":"","beforeEndBody":"<style>\r\n .mobile #inboxContainer .app-react-components-Inbox-common-Layout-index__window, .mobile .cashier__confirmation-text {\r\n \r\n height: 100% !important;\r\n }\r\n .app-react-components-Inbox-index__container {\r\n font-family: 'Montserrat' !important;\r\n \r\n color: #000 !important;\r\n }\r\n .app-react-components-Inbox-common-Layout-index__window {\r\n \r\n \r\n \r\n \r\n \r\n height: 60% !important;\r\n background: -moz-linear-gradient(top, #020910 0%, #071d33 100%) !important;\r\n background: -webkit-linear-gradient(top, #020910 0%, #071d33 100%) !important;\r\n background: linear-gradient(to bottom, #020910 0%, #071d33 100%) !important;\r\n }\r\n .app-react-components-Inbox-common-Header-index__header {\r\n \r\n background-color: #e5f1fa !important;\r\n font-family: 'Montserrat' !important;\r\n }\r\n .app-react-components-Inbox-common-Header-index__header .app-react-components-Inbox-common-Header-index__title {\r\n \r\n font-family: 'Montserrat' !important;\r\n }\r\n .app-react-components-Inbox-common-Header-index__header {\r\n color: white !important;\r\n background-color: #000000 !important;\r\n }\r\n .app-react-components-common-Root-index__container * {\r\n font-family: 'Montserrat' !important;\r\n \r\n }\r\n .mws-inbox-tabs{\r\n display: none !important;\r\n }\r\n .app-react-components-Inbox-layouts-MessagesList-index__empty .app-react-components-Inbox-layouts-MessagesList-index__text {\r\n \r\n color: white !important;\r\n \r\n }\r\n .mws-inbox-messages-msg__subject{\r\n color: white !important;\r\n /* font-weight: 600 !important; */\r\n font-size: 1.2rem !important;\r\n }\r\n .mws-inbox-messages-msg__body{\r\n color: #ccc !important;\r\n font-size: 1rem !important;\r\n }\r\n .mws-inbox-messages-msg__body{\r\n color: #ccc !important;\r\n font-size: 1rem !important;\r\n }\r\n \r\n .mws-inbox-message-details__body p{\r\n /* font-size: 14px !important; */\r\n \r\n }\r\n .app-react-components-Inbox-common-Footer-index__footer {\r\n \r\n -webkit-box-shadow: none !important;\r\n box-shadow: none !important;\r\n background: transparent !important;\r\n }\r\n .app-react-components-Inbox-layouts-MessageDetails-index__body .mws-inbox-message-details__body p{\r\n color: white !important;\r\n }\r\n .app-react-components-common-Root-index__container p{\r\n /* font-size: 14px !important; */\r\n }\r\n .mws-inbox-message-details__body{\r\n color: white !important;\r\n }\r\n .mws-inbox-text__field{\r\n color: white !important;\r\n }\r\n .app-react-components-Inbox-common-FormField-index__text input, .app-react-components-Inbox-common-FormField-index__text input:disabled{\r\n -webkit-text-fill-color: #ffffff !important;\r\n }\r\n .app-react-components-Inbox-index__container {\r\n font-family: 'Montserrat' !important;\r\n \r\n color: #000 !important;\r\n }\r\n .app-react-components-Inbox-common-Layout-index__window {\r\n \r\n \r\n \r\n -webkit-box-shadow: none!important;\r\n box-shadow: none!important;\r\n border-style: solid !important;\r\n border-color: white !important;\r\n \r\n background: -moz-linear-gradient(top, #020910 0%, #071d33 100%) !important;\r\n background: -webkit-linear-gradient(top, #020910 0%, #071d33 100%) !important;\r\n background: linear-gradient(to bottom, #020910 0%, #071d33 100%) !important;\r\n }\r\n\r\n .mobile .app-react-components-Inbox-common-Layout-index__window {\r\n border-style: none !important;\r\n border-color: transparent !important;\r\n }\r\n\r\n .app-react-components-Inbox-common-Header-index__header {\r\n \r\n background-color: #e5f1fa !important;\r\n font-family: 'Montserrat' !important;\r\n }\r\n .app-react-components-Inbox-common-Header-index__header .app-react-components-Inbox-common-Header-index__title {\r\n \r\n font-family: 'Montserrat' !important;\r\n }\r\n .app-react-components-Inbox-common-Header-index__header {\r\n color: white !important;\r\n background-color: #000000 !important;\r\n }\r\n .app-react-components-common-Root-index__container * {\r\n font-family: 'Montserrat' !important;\r\n \r\n }\r\n .mws-inbox-tabs{\r\n display: none !important;\r\n }\r\n .app-react-components-Inbox-layouts-MessagesList-index__empty .app-react-components-Inbox-layouts-MessagesList-index__text {\r\n \r\n color: white !important;\r\n \r\n }\r\n .mws-inbox-messages-msg__subject{\r\n color: white !important;\r\n /* font-weight: 600 !important; */\r\n font-size: 1.2rem !important;\r\n }\r\n .mws-inbox-messages-msg__body{\r\n color: #ccc !important;\r\n font-size: 1rem !important;\r\n }\r\n .mws-inbox-messages-msg__body{\r\n color: #ccc !important;\r\n font-size: 1rem !important;\r\n }\r\n \r\n .mws-inbox-message-details__body p{\r\n /* font-size: 14px !important; */\r\n \r\n }\r\n .app-react-components-Inbox-common-Footer-index__footer {\r\n \r\n -webkit-box-shadow: none !important;\r\n box-shadow: none !important;\r\n background: transparent !important;\r\n }\r\n .app-react-components-Inbox-layouts-MessageDetails-index__body .mws-inbox-message-details__body p{\r\n color: white !important;\r\n }\r\n .app-react-components-common-Root-index__container p{\r\n /* font-size: 14px !important; */\r\n }\r\n .mws-inbox-message-details__body{\r\n color: white !important;\r\n }\r\n .mws-inbox-text__field{\r\n color: white !important;\r\n }\r\n .app-react-components-Inbox-common-FormField-index__text input, .app-react-components-Inbox-common-FormField-index__text input:disabled{\r\n -webkit-text-fill-color: #ffffff !important;\r\n }\r\n \r\n \r\n \r\n .app-react-components-Inbox-common-FormField-index__info div.app-react-components-Inbox-common-FormField-index__value{\r\n -webkit-text-fill-color: #ffffff !important;\r\n }\r\n .app-react-components-Inbox-common-Button-Button__inbox-button.app-react-components-Inbox-common-Button-Button__danger.app-react-components-Inbox-common-Button-Button__empty {\r\n border: none !important;\r\n \r\n -webkit-box-shadow: none !important;\r\n border: .1em solid #d33537 !important;\r\n color: #ffffff !important;\r\n border-radius: 30px !important;\r\n background: #E4393C !important;\r\n }\r\n .app-react-components-Inbox-common-FormField-index__text.mws-inbox-text {\r\n display: none !important;\r\n }\r\n \r\n .app-react-components-Inbox-common-Button-Button__danger.app-react-components-Inbox-common-Button-Button__empty::before {\r\n content: '' !important;\r\n background-image: url('/library/digitalbeat/Icons/delete.png') !important;\r\n background-size: contain !important;\r\n background-repeat: no-repeat !important;\r\n display: inline-block !important;\r\n width: 19px !important;\r\n height: 19px !important;\r\n margin-right: 3px !important;\r\n vertical-align: middle !important;\r\n }\r\n .app-react-components-Inbox-layouts-MessageDetails-index__message .app-react-components-Inbox-layouts-MessageDetails-index__body {\r\n white-space: unset !important;\r\n }\r\n \r\n .app-react-components-Inbox-common-Icon-Icon__inbox-icon.app-react-components-Inbox-common-Icon-Icon__header.app-react-components-Inbox-common-Icon-Icon__close {\r\n \r\n background-image: url(/library/digitalbeat/Icons/x.svg) !important;}\r\n \r\n .app-react-components-Inbox-common-Icon-Icon__inbox-icon.app-react-components-Inbox-common-Icon-Icon__header.app-react-components-Inbox-common-Icon-Icon__back {\r\n background-image: url(/library/digitalbeat/Icons/arrow-left.svg) !important;\r\n width: 1.1em !important;\r\n margin-left: 9px !important;\r\n }\r\n .mws-inbox-info__capture{\r\n display: none !important;\r\n }\r\n .app-react-components-Inbox-common-FormField-index__info .app-react-components-Inbox-common-FormField-index__description{\r\n right: 0 !important;\r\n left: unset !important;\r\n }\r\n .mws-inbox-info__description{\r\n right: 0 !important;\r\n bottom: 5px !important;\r\n }\r\n .mws-inbox-info__field{\r\n left: 0 !important;\r\n bottom: 5px !important;\r\n display: inline !important;\r\n }\r\n div.app-react-components-Inbox-common-FormField-index__value p {\r\n \r\n font-size: 17px !important;\r\n font-weight: 600 !important;\r\n }\r\n .app-react-components-Inbox-common-FormField-index__info div.app-react-components-Inbox-common-FormField-index__value {\r\n padding-top: .6em !important;\r\n \r\n }\r\n .app-react-components-Inbox-common-FormField-index__info.app-react-components-Inbox-common-FormField-index__showDescription{\r\n padding-bottom: unset !important;\r\n padding-top: .6em;\r\n }\r\n .app-react-components-Inbox-layouts-MessageDetails-index__message {\r\n width: 100%;\r\n height: auto !important;\r\n min-height: 200px;\r\n overflow: auto;\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n \r\n .app-react-components-Inbox-layouts-MessageDetails-index__body {\r\n flex: 1;\r\n padding-bottom: 20px;\r\n }\r\n \r\n .app-react-components-Inbox-common-Footer-index__footer {\r\n position: relative !important;\r\n bottom: auto !important;\r\n width: 100%;\r\n text-align: center;\r\n background: transparent !important;\r\n padding: 1em 2em;\r\n }\r\n .app-react-components-Inbox-common-FormField-index__info div.app-react-components-Inbox-common-FormField-index__value {\r\n padding: unset !important;\r\n \r\n }\r\n \r\n .app-react-components-Inbox-layouts-MessagesList-index__message.app-react-components-Inbox-layouts-MessagesList-index__unread:before {\r\n color: #6ecd8d;\r\n font-size: 2em;\r\n content: \"•\";\r\n \r\n position: absolute;\r\n padding-left: .5em;\r\n padding-top: .5em;\r\n height: 1em;\r\n left: 0;\r\n top: 0;\r\n }\r\n .app-react-components-Inbox-layouts-MessagesList-index__message:before {\r\n font-size: 2em;\r\n content: \"\";\r\n color: #e1e1e1;\r\n position: absolute;\r\n padding-left: .5em;\r\n padding-top: .5em;\r\n height: 1em;\r\n left: 0;\r\n top: 0;\r\n }\r\n \r\n \r\n \r\n </style>\r\n \r\n "},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"cd86abc2-4eb6-4457-ba04-33ab4585ed7a","tagTypeId":"custom_js","name":"HOTFIX_KAMBI_DISPOSE","description":"Dispose on navigation","config":{"code":"Playtech.on('navigate', ({pathname, prevPathname}) => { if (prevPathname.startsWith('/sportsbook') && !pathname.startsWith('/sportsbook')) _kbc?.dispose() })"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"e44b7511-150e-4053-8ebc-f1971a414ca0","tagTypeId":"custom_js","name":"window.localStorage set hasUser","description":"Writes to localStorage on login or signup hasUser","config":{"code":"(() => {\r\n const apply = () => {\r\n localStorage.setItem('hasUser', '1');\r\n }\r\n Playtech.on('LOGGED_IN', apply);\r\n Playtech.on('LOGGED_OUT', apply);\r\n})();"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"bee2df2b-319f-4471-a687-327e9e90e5a0","tagTypeId":"geocomply","name":"GeoComply for Sports","description":"GeoComply for Sports","config":{"enableNative":false,"clientURL":"https://cdn.geocomply.com/plc/4.0.0.4/geocomply-client.min.js","disableStoreAutoLaunch":false,"oobeeURL":"https://ca1-oobee-v2.geocomply.com/","enableMobile":false,"identifierType":"Casino","installerBaseURL":"https://ums.geocomply.com/installer/url","useTransparentPopup":false,"skipBrowserGeolocation":false,"mobileClientURL":"https://cdn.geocomply.com/glv/1094/glv.js","installerKey":"rWxFaJ4pox","installerVersion":"4.0.0.4","environmentID":"production","enableSolus":true,"solusClientURL":"https://cdn.geocomply.com/244/gc-html5.js ","enableDesktop":false},"conditionIds":["3ce8bb22-93fc-4109-a439-67a5b66e6826","20d6f19d-4580-4e94-960b-b2dd39f21599","d56bbd7d-efba-4e18-a8be-9467a5db3176"]},{"tagId":"58856d36-ac1b-49ea-8aaa-3f4dc12c6ea7","tagTypeId":"geocomply","name":"GeoComply for Wrapper","description":"GeoComply for games","config":{"enableNative":false,"clientURL":"https://cdn.geocomply.com/plc/4.0.0.4/geocomply-client.min.js","disableStoreAutoLaunch":false,"oobeeURL":"https://ca1-oobee-v2.geocomply.com/","enableMobile":false,"identifierType":"","installerBaseURL":"https://ums.geocomply.com/installer/url","useTransparentPopup":true,"skipBrowserGeolocation":false,"mobileClientURL":"https://cdn.geocomply.com/glv/1094/glv.js","installerKey":"rWxFaJ4pox","installerVersion":"4.0.0.4","environmentID":"production","enableSolus":true,"solusClientURL":"https://cdn.geocomply.com/244/gc-html5.js ","enableDesktop":false},"conditionIds":["1ff4bb65-77ad-4c2c-9d6e-d5c3c753a348"]},{"tagId":"3ace9086-c0c1-43ae-a395-5643b8840814","tagTypeId":"custom_tag_type","name":"User currency","description":"Adds the current currency of the user","config":{"beforeEndHead":"<script>\n {\n const setupCurrencyValue = () => {\n try {\n const symbol = Playtech.API.formatter.getCurrencySymbol();\n if (symbol) {\n document.documentElement.style.setProperty('--currency', JSON.stringify(symbol));\n }\n } catch (e) {}\n };\n setupCurrencyValue();\n Playtech.on(Playtech.Events.LOGGED_IN, setupCurrencyValue);\n Playtech.on(Playtech.Events.LOGGED_OUT, setupCurrencyValue);\n }\n</script>","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"cacdd75e-deb3-4201-9051-f27e77b83ba2","tagTypeId":"custom_tag_type","name":"CSS for ALL pages","description":"CSS for ALL pages","config":{"beforeEndHead":"<style>\r\n .fn-generic-datepicker .field-group :nth-child(2) {\r\n padding: 1.75rem 1em;\r\n }\r\n .fn-generic-datepicker .field-group .field.field_name_month {\r\n padding: 0 .25em;\r\n }\r\n</style>\r\n","beforeEndBody":""},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8","d56bbd7d-efba-4e18-a8be-9467a5db3176"]},{"tagId":"d6979fc5-a64b-4e65-938c-91681e07644b","tagTypeId":"custom_js","name":"documentElement Player Tags","description":"documentElement Player Tags","config":{"code":"(() => {\r\n const dashToCamelCase = (str) => \r\n str.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());\r\n\r\n const capitalizeFirstLetter = (str) =>\r\n str.length === 0 ? str : str.charAt(0).toUpperCase() + str.slice(1);\r\n\r\n const setPlayerTags = (tags) => {\r\n tags.forEach(({ name, value }) => {\r\n const formattedName = capitalizeFirstLetter(dashToCamelCase(name.replaceAll('/', '-')));\r\n document.documentElement.dataset[`tag${formattedName}`] = value ?? '';\r\n });\r\n };\r\n\r\n const clearPlayerTags = () => {\r\n Object.keys(document.documentElement.dataset).forEach((key) => {\r\n if (key.startsWith('tag')) {\r\n delete document.documentElement.dataset[key];\r\n }\r\n });\r\n };\r\n\r\n const render = async () => {\r\n if (Playtech.API.user.isLoggedIn()) {\r\n try {\r\n const response = await Playtech.API.user.getPlayerTags();\r\n setPlayerTags(response.data.tags);\r\n } catch (error) {\r\n console.error('Error fetching player tags:', error);\r\n }\r\n } else {\r\n clearPlayerTags();\r\n }\r\n };\r\n\r\n Playtech.on('LOGGED_IN', render);\r\n Playtech.on('LOGGED_OUT', render);\r\n render();\r\n})();\r\n"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"ff49488a-6cf7-409f-91ec-9fb456491f04","tagTypeId":"custom_js","name":"Verify Now Popup","description":"Verify Now with Player Tag Check","config":{"code":"(async function check() {\n if (!Playtech.API.auth.isLoggedIn) {\n // player not logged in\n return;\n }\n\n if (window.location.pathname.includes('/verification')) {\n // check happens on /verification page already\n // so no need to do it again\n return;\n }\n \n if (window.location.pathname.includes('/after-registration/deposit')) {\n // check if on /after-registration/deposit\n return;\n }\n\n try {\n const { data } = await Playtech.API.user.getPlayerTags('risk/doc/kyc_upload_requirement');\n const { tags } = data;\n\n if (tags.length === 0) {\n // no tag assigned, skipping\n return;\n }\n\n const [tag] = tags;\n\n if (tag.value !== 'required') {\n // tag value is not expected, skipping\n return;\n }\n\n Playtech.API.common.navigate('/verification');\n } catch (error) {\n console.error(error);\n }\n})();\n"},"conditionIds":["d56bbd7d-efba-4e18-a8be-9467a5db3176","3ce8bb22-93fc-4109-a439-67a5b66e6826"]},{"tagId":"fbf6fbe8-396e-4c2c-8fce-7154dcc4608a","tagTypeId":"custom_tag_type","name":"XtremePush","description":"XtremePush","config":{"beforeEndHead":"","beforeEndBody":"<!-- xtremepush -->\r\n<script>\r\n (function (p, u, s, h, e, r, l, i, b) {\r\n p['XtremePushObject'] = s; p[s] = function () {\r\n (p[s].q = p[s].q || []).push(arguments)\r\n }; i = u.createElement('script'); i.async = 1;\r\n i.src = h; b = u.getElementsByTagName('script')[0]; b.parentNode.insertBefore(i, b);\r\n })(window, document, 'xtremepush', 'https://cdn.us.webpu.sh/Whtrr1lxhwF44v7gDdTl2dwXeEcro0EI/sdk.js');\r\n</script>\r\n<script>\r\n xtremepush('ready', () => {\r\n xtremepush('push', 'auto_prompt', false);\r\n xtremepush('event', 'on_site');\r\n \r\n const DISMISS_KEY = 'webpush_prompt_dismissed';\r\n\r\n function initializeXtremePushConnection() {\r\n const data = Playtech.fetchUserDetails();\r\n\r\n // set user_id\r\n xtremepush('set', 'user_id', data.userId);\r\n xtremepush('event', 'on_sign_in');\r\n\r\n // set tags on the user\r\n const properties = {\r\n 'advertiser': 'advertiser',\r\n 'age': 'age',\r\n 'ageVerificationStatus': 'age_verification_status',\r\n 'birthDate': 'birth_date',\r\n 'casinoName': 'casino_name',\r\n 'clientType': 'client_type',\r\n 'contactPreferences': 'contact_preferences',\r\n 'email': 'email',\r\n 'firstName': 'first_name',\r\n 'frozen': 'frozen',\r\n 'lastName': 'last_name',\r\n 'loginName': 'login_name',\r\n 'noBonus': 'no_bonus',\r\n 'previousLoginTime': 'previous_login_time',\r\n 'username': 'username',\r\n 'vipLevel': 'vip_level',\r\n 'wantMail': 'want_mail',\r\n };\r\n\r\n for (const [property, name] of Object.entries(properties)) {\r\n xtremepush('tag', name, data[property]);\r\n }\r\n }\r\n\r\n if (Playtech.API.auth.isLoggedIn) {\r\n initializeXtremePushConnection();\r\n }\r\n\r\n Playtech.on('REGISTRATION_COMPLETED', () => { xtremepush('event', 'sign_up'); });\r\n Playtech.on('REGISTRATION_FAIL', () => { xtremepush('event', 'sign_up_fail'); });\r\n Playtech.on('REGISTRATION_STEP_CHANGED', () => { xtremepush('event', 'sign_up_step_changed'); });\r\n Playtech.on('REGISTRATION_SUBMITTED', () => { xtremepush('event', 'sign_up_submit'); });\r\n Playtech.on('WITHDRAWAL_COMPLETED', () => { xtremepush('event', 'withdraw'); });\r\n Playtech.on('WITHDRAWAL_FAIL', () => { xtremepush('event', 'withdraw_fail'); });\r\n Playtech.on('LOGGED_IN', initializeXtremePushConnection);\r\n Playtech.on('LOGGED_IN_FAIL', () => { xtremepush('event', 'failed_login'); });\r\n Playtech.on('LOGGED_OUT', () => { xtremepush('event', 'on_sign_out'); });\r\n Playtech.on('DEPOSIT_COMPLETED', () => { xtremepush('event', 'deposit_completed'); });\r\n Playtech.on('DEPOSIT_FAIL', () => { xtremepush('event', 'deposit_fail'); });\r\n Playtech.on('GAME_LAUNCH', ([{ launchType, gameCode, gameName, gameFeed, container }]) => {\r\n xtremepush('event', 'game_launch', { game: gameCode, name: gameName });\r\n });\r\n\r\n const permission = xtremepush('push', 'permission');\r\n\r\n console.log(permission);\r\n if (permission === 'default' && localStorage.getItem(DISMISS_KEY) !== '1') {\r\n console.log('proceed');\r\n Playtech.on('LOGGED_IN', async () => {\r\n await new Promise((resolve) => setTimeout(resolve, 3000));\r\n\r\n Playtech.API.popup.showPopup('confirmation', {\r\n content: 'Would you like to enable notifications from NorthStar Bets?',\r\n acceptBtnText: 'Enable',\r\n onAccept: () => {\r\n xtremepush('push', 'prompt', {\r\n allowCallback: function () {\r\n // register in IMS\r\n const id = xtremepush('get', 'device_info')?.id;\r\n\r\n if (id) {\r\n Playtech.API.server.registerPushApplication({\r\n pushId: 'xtremepush',\r\n deviceId: id,\r\n application: 'NorthStar'\r\n });\r\n }\r\n },\r\n blockCallback: function () {\r\n // user clicked block button\r\n },\r\n dismissCallback: function () {\r\n // user dismissed permissions dialog\r\n }\r\n });\r\n },\r\n onDecline: () => {\r\n localStorage.setItem(DISMISS_KEY, '1');\r\n }\r\n });\r\n });\r\n }\r\n });\r\n</script>\r\n<!-- End xtremepush -->"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"43cd4267-1d9f-4962-bc0f-5f993b13f5a4","tagTypeId":"custom_js","name":"Iframe - postMessage","description":"Iframe - postMessage","config":{"code":"Playtech.on('REGISTRATION_COMPLETED', (() => { window.parent?.postMessage('sign-up', '*'); }));"},"conditionIds":["9a574062-2f42-452b-ad52-3d2ccc1c18c3","d56bbd7d-efba-4e18-a8be-9467a5db3176"]},{"tagId":"a5aac826-cb78-435c-8ec0-fc42b303d759","tagTypeId":"custom_js","name":"CSS Display helpers","description":"CSS Display helpers","config":{"code":"(() => {\r\n const DEFAULT_VIP_LEVEL = 'unlogged';\r\n\r\n let vipLevel = DEFAULT_VIP_LEVEL;\r\n let styleEl = document.createElement('style');\r\n document.body.appendChild(styleEl);\r\n\r\n const render = () => {\r\n const forceDate = new URLSearchParams(window.location.search).get('forceDate');\r\n\r\n const today = luxon.DateTime.now().setZone('America/Toronto')\r\n const todayDayName = (forceDate ? luxon.DateTime.fromISO(forceDate) : today).setLocale(\"en\").toFormat('cccc').toLowerCase();\r\n const todayDate = forceDate || today.toFormat('yyyy-MM-dd');\r\n\r\n window.document.documentElement.setAttribute('data-date', todayDate);\r\n window.document.documentElement.setAttribute('data-day-of-the-week', todayDayName);\r\n window.document.documentElement.setAttribute('data-vip-level', vipLevel);\r\n \r\n styleEl.textContent = `\r\n /* LEVEL 1 */\r\n [data-filter-date],\r\n [data-filter-day-of-the-week],\r\n [data-filter-vip-levels] {\r\n display: none;\r\n }\r\n\r\n html[data-date=\"${todayDate}\"] [data-filter-date~=\"${todayDate}\"],\r\n html[data-day-of-the-week=\"${todayDayName}\"] [data-filter-day-of-the-week~=\"${todayDayName}\"],\r\n html[data-vip-level=\"${vipLevel}\"] [data-filter-vip-levels~=\"${vipLevel}\"] {\r\n display: block;\r\n }\r\n\r\n html[data-date=\"${todayDate}\"] [data-filter-date~=\"${todayDate}\"][data-style-display=\"inline-block\"],\r\n html[data-day-of-the-week=\"${todayDayName}\"] [data-filter-day-of-the-week~=\"${todayDayName}\"][data-style-display=\"inline-block\"],\r\n html[data-vip-level=\"${vipLevel}\"] [data-filter-vip-levels~=\"${vipLevel}\"][data-style-display=\"inline-block\"] {\r\n display: inline-block;\r\n }\r\n\r\n html[data-date=\"${todayDate}\"] [data-filter-date~=\"${todayDate}\"][data-style-display=\"flex\"],\r\n html[data-day-of-the-week=\"${todayDayName}\"] [data-filter-day-of-the-week~=\"${todayDayName}\"][data-style-display=\"flex\"],\r\n html[data-vip-level=\"${vipLevel}\"] [data-filter-vip-levels~=\"${vipLevel}\"][data-style-display=\"flex\"] {\r\n display: flex;\r\n }\r\n\r\n /* LEVEL 2 */\r\n html [data-filter-date][data-filter-day-of-the-week],\r\n html [data-filter-date][data-filter-vip-levels],\r\n html [data-filter-day-of-the-week][data-filter-vip-levels] {\r\n --display-applied: none;\r\n display: none;\r\n }\r\n \r\n html[data-date=\"${todayDate}\"][data-day-of-the-week=\"${todayDayName}\"] [data-filter-date~=\"${todayDate}\"][data-filter-day-of-the-week~=\"${todayDayName}\"],\r\n html[data-date=\"${todayDate}\"][data-vip-level=\"${vipLevel}\"] [data-filter-date~=\"${todayDate}\"][data-filter-vip-levels~=\"${vipLevel}\"],\r\n html[data-day-of-the-week=\"${todayDayName}\"][data-vip-level=\"${vipLevel}\"] [data-filter-day-of-the-week~=\"${todayDayName}\"][data-filter-vip-levels~=\"${vipLevel}\"] {\r\n --display-applied: var(--display, block);\r\n display: var(--display-applied);\r\n }\r\n\r\n /* LEVEL 3 */\r\n html [data-filter-date][data-filter-vip-levels][data-filter-day-of-the-week] {\r\n display: none;\r\n }\r\n\r\n html[data-date=\"${todayDate}\"][data-day-of-the-week=\"${todayDayName}\"][data-vip-level=\"${vipLevel}\"] [data-filter-date~=\"${todayDate}\"][data-filter-day-of-the-week~=\"${todayDayName}\"][data-filter-vip-levels~=\"${vipLevel}\"] {\r\n display: block;\r\n }\r\n \r\n html[data-date=\"${todayDate}\"][data-day-of-the-week=\"${todayDayName}\"][data-vip-level=\"${vipLevel}\"] [data-filter-date~=\"${todayDate}\"][data-filter-day-of-the-week~=\"${todayDayName}\"][data-filter-vip-levels~=\"${vipLevel}\"][data-style-display=\"inline-block\"] {\r\n display: inline-block;\r\n }\r\n\r\n html[data-date=\"${todayDate}\"][data-day-of-the-week=\"${todayDayName}\"][data-vip-level=\"${vipLevel}\"] [data-filter-date~=\"${todayDate}\"][data-filter-day-of-the-week~=\"${todayDayName}\"][data-filter-vip-levels~=\"${vipLevel}\"][data-style-display=\"flex\"] {\r\n display: flex;\r\n }\r\n\r\n @media (min-width: 640px) {\r\n html [data-filter-date][data-desktop-style-display],\r\n html [data-filter-day-of-the-week][data-desktop-style-display],\r\n html [data-filter-vip-levels][data-desktop-style-display] {\r\n display: none;\r\n }\r\n\r\n html[data-date=\"${todayDate}\"] [data-filter-date~=\"${todayDate}\"][data-desktop-style-display],\r\n html[data-vip-level=\"${vipLevel}\"] [data-filter-vip-levels~=\"${vipLevel}\"][data-desktop-style-display],\r\n html[data-day-of-the-week=\"${todayDayName}\"] [data-filter-day-of-the-week~=\"${todayDayName}\"][data-desktop-style-display] {\r\n display: attr(data-desktop-style-display);\r\n }\r\n\r\n /* LEVEL 2 */\r\n html [data-filter-date][data-filter-day-of-the-week][data-desktop-style-display],\r\n html [data-filter-date][data-filter-vip-levels][data-desktop-style-display],\r\n html [data-filter-day-of-the-week][data-filter-vip-levels][data-desktop-style-display] {\r\n display: none;\r\n }\r\n\r\n html[data-date=\"${todayDate}\"][data-day-of-the-week=\"${todayDayName}\"] [data-filter-date~=\"${todayDate}\"][data-filter-day-of-the-week~=\"${todayDayName}\"][data-desktop-style-display],\r\n html[data-date=\"${todayDate}\"][data-vip-level=\"${vipLevel}\"] [data-filter-date~=\"${todayDate}\"][data-filter-vip-levels~=\"${vipLevel}\"][data-desktop-style-display],\r\n html[data-day-of-the-week=\"${todayDayName}\"][data-vip-level=\"${vipLevel}\"] [data-filter-day-of-the-week][data-filter-vip-levels~=\"${vipLevel}\"][data-desktop-style-display] {\r\n display: attr(data-desktop-style-display);\r\n }\r\n\r\n /* LEVEL 3 */\r\n html [data-filter-date][data-filter-vip-levels][data-filter-day-of-the-week][data-desktop-style-display] {\r\n display: none;\r\n }\r\n\r\n html[data-date=\"${todayDate}\"][data-day-of-the-week=\"${todayDayName}\"][data-vip-level=\"${vipLevel}\"] [data-filter-date~=\"${todayDate}\"][data-filter-day-of-the-week~=\"${todayDayName}\"][data-filter-vip-levels~=\"${vipLevel}\"][data-desktop-style-display] {\r\n display: attr(data-desktop-style-display);\r\n }\r\n }\r\n `;\r\n }\r\n\r\n const renderFull = () => {\r\n if (Playtech.API.user.isLoggedIn()) {\r\n vipLevel = Playtech.fetchUserDetails().vipLevel; \r\n } else {\r\n vipLevel = DEFAULT_VIP_LEVEL;\r\n }\r\n\r\n render();\r\n }\r\n\r\n Playtech.on('LOGGED_IN', renderFull);\r\n Playtech.on('LOGGED_OUT', renderFull);\r\n\r\n Playtech.API.common.getScript('https://cdn.jsdelivr.net/npm/luxon@3.4.2/build/global/luxon.min.js').then(() => {\r\n renderFull();\r\n });\r\n})();\r\n"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"c0ed5ec1-b8a3-4ed6-b0e4-5591174bbaf4","tagTypeId":"custom_js","name":"Hide content native","description":"Hide content native","config":{"code":"(() => {\n const searchParams = new URLSearchParams(location.search);\n\n if (searchParams.get('isNative')) {\n // hide the games portlet on /sportsbook\n const sportGamesPortlet = document.getElementsByClassName('responsivegamesonsportsbook');\n sportGamesPortlet[0].style.display = \"none\";\n }\n})();"},"conditionIds":["d56bbd7d-efba-4e18-a8be-9467a5db3176"]},{"tagId":"deb4dd06-4a7b-46e3-b41b-18cb4ffb0e35","tagTypeId":"custom_tag_type","name":"Reduce register form height","description":"Reduce register form height","config":{"beforeEndHead":"","beforeEndBody":"<style type=\"text/css\">\n .fieldset_name_personalInformationLabel, .fieldset_name_addressInformationLabel, .fieldset_name_accountDetailsLabel {\n margin-bottom: .5rem;\n font-size: 1.2rem;\n}\n .field__label, .fieldset__legend {\n margin-bottom: .5rem;\n font-size: 1rem;\n}\n.field__control {\n margin: 0 0 .5rem;\n}\n.js-select__display {\n padding: 1.45rem 1em;\n}\n.registration__regb-buttons {\n margin: 0 0 .5rem 0;\n}\n.portlet__content_type_registration{\n padding: 0;\n}\nfieldset .field__control-label {\n font-size: .8rem;\n}\n\n.fieldset_name_optionalLabel0 .field {\n margin-bottom: .5rem;\n font-size: .9rem;\n}\nfieldset.fieldset_name_thirdPartyDisclaimerLabel .field {\n font-size: .8rem;\n}\nfieldset.fieldset_name_setDepositLimitsLabel {\n margin: .5rem 0 1rem 0;\n font-size: .8rem;\n}\n</style>"},"conditionIds":["04e4fa56-1eb3-41c4-a10a-9c1c851536c0","d75b35ac-62ba-4fee-85eb-9a943061049b"]},{"tagId":"cd8dc724-858d-4645-a0c8-ee72e58f9e6d","tagTypeId":"custom_js","name":"Registration buildingNumber to streetNumber","description":"Registration buildingNumber to streetNumber","config":{"code":"Playtech.API.auth.addBeforeRegistrationHook(({ dataMap }) => {\n dataMap.streetNumber = dataMap.buildingNumber;\n\n return { dataMap };\n});"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"bde361cd-1943-4da1-99b7-faa9cdebe45a","tagTypeId":"custom_js","name":"Scroll Up on Navigate","description":"Scroll Up on Navigate","config":{"code":"Playtech.on('navigate', () => window.scrollTo(0, 0));"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"e861401a-2510-4419-84b9-65982cc5a1ff","tagTypeId":"custom_js","name":"Hide header/footer Sports promos Native","description":"Hide header/footer Sports promos Native","config":{"code":"(() => {\n\tfunction detach(selector) {\n\t\tconst elements = document.body.querySelectorAll(selector);\n\n\t\telements.forEach((element) => element.parentNode.removeChild(element));\n\t}\n\n\tif (localStorage.getItem('isNative')) {\n// https://www.northstarbets.ca/promotions?hideHeader=1&hideFooter=1&isNative=1&deliveryPlatform=Native\n// KambiBC-js-bottom-navigation-container KambiBC-bottom-navigation-container\n// NSHotLinks\n\t\tdetach('.NSHotLinks');\n\t\tdetach('.KambiBC-js-bottom-navigation-container');\n\t\tdetach('.AppRouter__header--3bT');\n\t\tdetach('.Footer__footer--LxN');\n detach('.ns-promo-buttons');\n detach('.ns-promo-games');\n\t}\n})();"},"conditionIds":["385ccc31-847e-40ff-9a3f-fb5a6d7f68c5","d56bbd7d-efba-4e18-a8be-9467a5db3176"]},{"tagId":"0fd2fdc5-d0a4-4a71-a026-eb1a437ab7a4","tagTypeId":"dynamic_client_type","name":"Client Type by Vertical","description":"Client Type by Vertical","config":{"clientTypeQueryStringPages":[{"page":"/register"},{"page":"/cashier/withdraw"},{"page":"/cashier/deposit"}],"clientTypeGroups":[{"clientType":"live","pages":[{"page":"/live-dealer"}]},{"clientType":"sportsbook","pages":[{"page":"/sportsbook"}]},{"clientType":"casino","pages":[{"page":"/casino"}]}]},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"ab568260-cf50-4f00-b3bf-ea57ebbe708a","tagTypeId":"custom_tag_type","name":"Styling Game Grid Icons","description":"Styling Game Grid Icons","config":{"beforeEndHead":"<style type=\"text/css\"> \n\t[class*=\"Game__sideLabels--\"] [class*=\"Game__labels--\"] [class*=\"Game__label--\"]{\n\t\tborder-radius: 1em;\n\t\tfont-weight: bold;\n\t\tfont-size: 1em;\n\t\ttext-transform: uppercase;\n\t\tbackground-color: #1C78CE;\n\t}\n\n\thtml.mobile [class*=\"Game__sideLabels--\"] [class*=\"Game__labels--\"] [class*=\"Game__label--\"]{\n\tfont-size: .8em;\n\t}\n\n\n\t[data-game-code=\"pop_2001173001_igt\"] [class*=\"Game__sideLabels--\"] [class*=\"Game__labels--\"] [class*=\"Game__label--\"] {\n\t\tbackground-color: #E4393C;\n\n\t}\n\n</style>","beforeEndBody":""},"conditionIds":["d56bbd7d-efba-4e18-a8be-9467a5db3176"]},{"tagId":"f133a045-ebe7-47de-8e8a-5a7c5d23d5e9","tagTypeId":"custom_js","name":"Kambi Navigation","description":"Kambi Navigation","config":{"code":"(async () => {\n if (!window.WAPI) {\n await Playtech.API.common.getScript('https://static.kambicdn.com/client/widget-api/kambi-widget-api.js');\n }\n\n const WAPI = window.WAPI ?? await KambiWidget.ready;\n\n window.WAPI = WAPI;\n\n Playtech.on('navigate', ({ cleanPathname }) => {\n if (cleanPathname === '/sportsbook') {\n WAPI.navigateClient('/');\n } else if (cleanPathname === '/sportsbook/news') {\n WAPI.navigateClient('/news');\n }\n });\n\n\n document.body.addEventListener('click', (event) => {\n const target = event.target;\n\n if (!target || !target.matches('.menu__nav-link')) {\n return;\n }\n\n if (target.getAttribute('href') === '/sportsbook') {\n WAPI.navigateClient('/');\n } else if (target.getAttribute('href') === '/sportsbook/news') {\n WAPI.navigateClient('/news');\n }\n });\n})();"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"00efdde0-e7a3-4254-a84b-5d20ac002633","tagTypeId":"custom_tag_type","name":"Sidebar / Mobile Slide Styling","description":"Sidebar / Mobile Slide Styling","config":{"beforeEndHead":"<style type=\"text/css\">\n \n /*Sidebar styling*/\n\n[class*=\"MyAccountSidebar__sidebar--\"] {\n background-color: black;\n}\n\n[class*=\"MyAccountSidebar__sidebar--\"] [class*=\"Content__content--\"] {\n padding-left: 0;\n padding-right: 0;\n}\n\n[class*=\"MyAccountSidebar__sidebar--\"] [class*=\"Header__header--\"] {\n border: 0;\n background-color: black;\n}\n\n[class*=\"MyAccountSidebar__sidebar--\"] [class*=\"Header__title--\"] {\n display: none;\n}\n\n.desktop [class*=\"MyAccountSidebar__sidebar--\"] [class*=\"Menu__menuListItem--\"]:hover,\n[class*=\"MyAccountSidebar__sidebar--\"] [class*=\"Menu__menuListItem--\"],\n[class*=\"MyAccountSidebar__sidebar--\"] .mobile [class*=\"Menu__menuListItem--\"]:visited,\n.tablet [class*=\"MyAccountSidebar__sidebar--\"] [class*=\"Menu__menuListItem--\"]:active {\n color: white !important;\n text-transform: uppercase;\n padding: 0;\n border-bottom: 1px solid rgba(255, 255, 255, 0.3);\n margin: 0 2rem 0 2rem;\n}\n\n[class*=\"MyAccountSidebar__sidebar--\"] [class*=\"Menu__menuListItem--\"]:hover {\n background-color: rgb(37, 64, 100);\n}\n\n[class*=\"MyAccountSidebar__sidebar--\"] [class*=\"Menu__menuListItem--\"]:last-child {\n border-bottom: 0 !important;\n}\n\n[class*=\"MyAccountSidebar__sidebar--\"] [class*=\"Menu__menuListItem--\"] [class*=\"Menu__title--\"] {\n padding: 1.5rem 0;\n}\n\n[class*=\"MyAccountSidebar__sidebar--\"] [class*=\"Menu__menuListItem--\"] [class*=\"Menu__rightArrow--\"] {\n right: 0;\n}\n\n[class*=\"MyAccountSidebar__sidebar--\"] [class*=\"Menu__menuListItem--\"] [class*=\"Menu__icon--\"] {\n width: 2rem;\n height: 2rem;\n}\n\n\n[class*=\"MyAccountSidebar__sidebar--\"] .updatedetailsusernamewrapper p,\n[class*=\"MyAccountSidebar__sidebar--\"] [class*=\"ContactPreferences__container--\"],\n[class*=\"MyAccountSidebar__sidebar--\"] .my-balance{\n padding: 0 1.25em;\n}\n[class*=\"MyAccountSidebar__sidebar--\"] .my-balance{\n margin-top: 1em;\n}\n\n\n.sidebar-content .responsiblegaminglosslimits,\n.sidebar-content .ngresponsiblegaming{\npadding: 0 1.5em;\n\n}\n\n/*END Sidebar styling*/\n\n/*Mobile slide menu styling*/\n.slide-menu__point,\n.slide-menu__list__header,\n.slide-menu__list__header_nonexpandable_expanded,\n.slide-menu__point.active{\n background-color: transparent;\n}\n.slide-menu__point__name,\n.slide-menu__list__header {\n text-transform: uppercase;\n font-size: 1.1rem;\n border-bottom: 1px solid rgba(255,255,255,0.3);\n line-height: 3.8em;\n}\n\n.slide-menu__list__body_expanded .slide-menu__point__name{\n text-transform: none;\n padding: 0 1.5em;\n}\n.slide-menu__point,\n.slide-menu__list{\n padding: 0 2em;\n}\n\n.slide-menu__icon{\n margin-left: 0;\n}\n.slide-menu__point_nested{\n padding:0;\n}\n.slide-menu__point_nested .slide-menu__icon_nested{\n display:none;\n}\n\n\n \n</style>","beforeEndBody":""},"conditionIds":["d56bbd7d-efba-4e18-a8be-9467a5db3176"]},{"tagId":"81638e78-6822-4873-86e0-07243d47c094","tagTypeId":"custom_js","name":"Handle openDeposit param","description":"Handle openDeposit param","config":{"code":"(() => {\n const searchParams = new URLSearchParams(location.search);\n\n if (searchParams.get('openDeposit')) {\n Playtech.API.common.replace(location.pathname, null, { removeParams: ['openDeposit'] });\n\n if (Playtech.API.auth.isLoggedIn) {\n Playtech.API.common.navigate('/deposit', null, { removeParams: ['openDeposit'] });\n return;\n }\n \n setTimeout(() => Playtech.API.auth.showLoginPopup({ onLogin: () => Playtech.API.common.navigate('/deposit') }), 1000);\n }\n})();"},"conditionIds":["d56bbd7d-efba-4e18-a8be-9467a5db3176"]},{"tagId":"850a855d-469b-4347-a67c-0d9ab734a3a5","tagTypeId":"custom_tag_type","name":"Styling Game Grid Icons","description":"Styling Game Grid Icons","config":{"beforeEndHead":"<style type=\"text/css\">\n.mobile [class*=\"Game__container--\"] [class*=\"Game__jackpot--\"][class*=\"Game__medium--\"], \n.mobile [class*=\"Game__container--\"] [class*=\"Game__jackpot--\"][class*=\"Game__small--\"] {\n font-size: .8em;\n}\n[class*=\"Game__sideLabels--\"] [class*=\"Game__label--\"], \n[class*=\"Game__sideLabels--\"] [class*=\"Game__liveLimits--\"] {\nfont-size: .7em;\n}\n</style>","beforeEndBody":""},"conditionIds":["d56bbd7d-efba-4e18-a8be-9467a5db3176"]},{"tagId":"3d933c29-dc9a-4392-8290-d72382ca7c93","tagTypeId":"custom_js","name":"PLAYTECH API READY","description":"PLAYTECH API READY","config":{"code":"dataLayer.push({'event': 'PLAYTECH_API_READY'});"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"75903103-9867-49be-9c5e-92ec18a6c37e","tagTypeId":"custom_js","name":"XtremePush Prompt","description":"XtremePush Prompt","config":{"code":"(() => {\r\n\tconst DISMISS_KEY = 'webpush_prompt_dismissed';\r\n\r\n\tfunction initializeXtremePushConnection() {\r\n\t\tconst data = Playtech.fetchUserDetails();\r\n\r\n\t\t// set user_id\r\n\t\txtremepush('set', 'user_id', data.userId);\r\n\t\txtremepush('event', 'on_sign_in');\r\n\r\n\t\t// set tags on the user\r\n\t\tconst properties = {\r\n\t\t\t'advertiser': 'advertiser',\r\n\t\t\t'age': 'age',\r\n\t\t\t'ageVerificationStatus': 'age_verification_status',\r\n\t\t\t'birthDate': 'birth_date',\r\n\t\t\t'casinoName': 'casino_name',\r\n\t\t\t'clientType': 'client_type',\r\n\t\t\t'contactPreferences': 'contact_preferences',\r\n\t\t\t'email': 'email',\r\n\t\t\t'firstName': 'first_name',\r\n\t\t\t'frozen': 'frozen',\r\n\t\t\t'lastName': 'last_name',\r\n\t\t\t'loginName': 'login_name',\r\n\t\t\t'noBonus': 'no_bonus',\r\n\t\t\t'previousLoginTime': 'previous_login_time',\r\n\t\t\t'username': 'username',\r\n\t\t\t'vipLevel': 'vip_level',\r\n\t\t\t'wantMail': 'want_mail',\r\n\t\t};\r\n\r\n\t\tfor (const [property, name] of Object.entries(properties)) {\r\n\t\t\txtremepush('tag', name, data[property]);\r\n\t\t}\r\n\t}\r\n\r\n\tif (Playtech.API.auth.isLoggedIn) {\r\n\t\tinitializeXtremePushConnection();\r\n\t}\r\n\r\n\tPlaytech.on('LOGGED_IN', initializeXtremePushConnection);\r\n\tPlaytech.on('LOGGED_IN_FAIL', () => { xtremepush('event', 'failed_login'); });\r\n\tPlaytech.on('LOGGED_OUT', () => { xtremepush('event', 'on_sign_out'); });\r\n\tPlaytech.on('DEPOSIT_COMPLETED', () => { xtremepush('event', 'deposit_completed'); });\r\n\tPlaytech.on('DEPOSIT_FAIL', () => { xtremepush('event', 'deposit_fail'); });\r\n\tPlaytech.on('GAME_LAUNCH', ([{ launchType, gameCode, gameName, gameFeed, container }]) => {\r\n\t\txtremepush('event', 'game_launch', {game: gameCode, name: gameName});\r\n\t});\r\n\r\n\tconst permission = xtremepush('push', 'permission');\r\n\r\n\tif (permission === 'default' && localStorage.getItem(DISMISS_KEY) !== '1') {\r\n\t\tPlaytech.on('LOGGED_IN', async () => {\r\n\t\t\tawait new Promise((resolve) => setTimeout(resolve, 3000));\r\n\r\n\t\t\tPlaytech.API.popup.showPopup('confirmation', {\r\n\t\t\t\tcontent: 'Would you like to enable notifications from NorthStar Bets?',\r\n\t\t\t\tacceptBtnText: 'Enable',\r\n\t\t\t\tonAccept: () => {\r\n\t\t\t\t\txtremepush('push', 'prompt', {\r\n\t\t\t\t\t\tallowCallback: function() {\r\n\t\t\t\t\t\t\t// register in IMS\r\n\t\t\t\t\t\t\tconst id = xtremepush('get', 'device_info')?.id;\r\n\r\n\t\t\t\t\t\t\tif (id) {\r\n\t\t\t\t\t\t\t\tPlaytech.API.server.registerPushApplication({\r\n\t\t\t\t\t\t\t\t\tpushId: 'xtremepush',\r\n\t\t\t\t\t\t\t\t\tdeviceId: id,\r\n\t\t\t\t\t\t\t\t\tapplication: 'NorthStar'\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tblockCallback: function() {\r\n\t\t\t\t\t\t\t// user clicked block button\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tdismissCallback: function() {\r\n\t\t\t\t\t\t\t// user dismissed permissions dialog\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\tonDecline: () => {\r\n\t\t\t\t\tlocalStorage.setItem(DISMISS_KEY, '1');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n})();\r\n"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"a55161d0-2d61-45cf-aa98-c38ae335869a","tagTypeId":"custom_js","name":"onComponentLoad","description":"Patch for detecting when component is re-rendered","config":{"code":"function onComponentLoadByClass(targetNode, className, callback) {\r\n function mutationCallback(mutationsList) {\r\n let apply = false;\r\n for (let mutation of mutationsList) {\r\n if (mutation.type === 'childList') {\r\n for (let i = 0; i < mutation.addedNodes.length; i++) {\r\n let node = mutation.addedNodes[i];\r\n if (node.classList && node.classList.contains(className)) {\r\n apply = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (apply) {\r\n callback();\r\n }\r\n }\r\n\r\n const observer = new MutationObserver(mutationCallback);\r\n observer.observe(targetNode, { childList: true, subtree: true });\r\n}\r\n"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"7cdbdac5-1eba-4e0e-b75d-8c8d839a0615","tagTypeId":"custom_js","name":"Handle openLogin param","description":"Handle openLogin param","config":{"code":"(() => {\n const searchParams = new URLSearchParams(location.search);\n\n if (searchParams.get('openLogin')) {\n setTimeout(() => Playtech.API.popup.showPopup('login'), 1000);\n }\n})();"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"ab1b024c-1384-4d1a-be44-ed377e78469c","tagTypeId":"custom_js","name":"Kambi Visibility Change Check for Native","description":"Fix for Native visibility change","config":{"code":"(() => {\n\tlet afkStarted = 0;\n\n\tdocument.addEventListener('visibilitychange', () => {\n\t if (!Playtech.API.auth.isLoggedIn) {\n\t return;\n\t }\n\n\t\tif (!location.pathname.includes('/sportsbook')) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst now = new Date();\n\n\t\tif (document.visibilityState === 'hidden') {\n\t\t\tafkStarted = now;\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (afkStarted && now - afkStarted > 1000 * 60 * 5) {\n\t\t\tafkStarted = 0;\n\t\t\tlocation.reload();\n\t\t}\n\t});\n})();\n"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"6e5c099a-5ab8-4252-912e-126a0f866c81","tagTypeId":"custom_js","name":"Sticky Category Casino","description":"Sticky Category","config":{"code":"\n (() => {\n let categoryNavigation = document.querySelector(\".CategoriesTabs__container--30a\");\n \n console.log(categoryNavigation);\n})();\n\n\n\n\n\n"},"conditionIds":["605ac965-ddd1-49da-bc07-7838ec1f907c","d56bbd7d-efba-4e18-a8be-9467a5db3176"]},{"tagId":"93e79f37-4150-4aed-8923-3c195a29f78c","tagTypeId":"custom_js","name":"AppsFlyer Web","description":"AppsFlyer Web for Deposit Events","config":{"code":"(function () {\n\t!function (t, e, n, s, a, c, i, o, p) {\n\t\tt.AppsFlyerSdkObject = a, t.AF = t.AF || function () {\n\t\t\t(t.AF.q = t.AF.q || []).push([Date.now()].concat(Array.prototype.slice.call(arguments)));\n\t\t},\n\t\t\tt.AF.id = t.AF.id\n\t\t\t\t|| i, t.AF.plugins = {}, o = e.createElement(n), p = e.getElementsByTagName(n)[0], o.async = 1,\n\t\t\to.src = 'https://websdk.appsflyer.com?' + (c.length > 0 ? 'st=' + c.split(',').sort().join(',') + '&' : '')\n\t\t\t\t+ (i.length > 0 ? 'af_id=' + i : ''),\n\t\t\tp.parentNode.insertBefore(o, p);\n\t}(window, document, 'script', 0, 'AF', 'pba', { pba: { webAppId: '52b0e15e-2306-4d30-84db-7d09c5a6ba45' } });\n\n\tif (Playtech.API.user.isLoggedIn()) {\n\t\tAF('pba', 'setCustomerUserId', Playtech.fetchUserDetails().userId);\n\t}\n\n\tPlaytech.on('LOGGED_IN', function () {\n\t\tAF('pba', 'setCustomerUserId', Playtech.fetchUserDetails().userId);\n\t});\n\n\tPlaytech.on('LOGGED_OUT', function () {\n\t\tAF('pba', 'setCustomerUserId', 'undefined');\n\t});\n\n\tPlaytech.on('REGISTRATION_COMPLETED', function ([{ userId }]) {\n\t\tAF('pba', 'setCustomerUserId', userId);\n\n\t\t// timeout was requested by AF\n\t\tsetTimeout(function () {\n\t\t\tAF('pba', 'event', {\n\t\t\t\teventType: 'EVENT',\n\t\t\t\teventName: 'af_register'\n\t\t\t});\n\t\t}, 2000);\n\t});\n\n\tPlaytech.on(Playtech.Events.SAFECHARGE_ANALYTICS, function ([event]) {\n\t\tconst { action } = event;\n\n\t\tlet eventName = null;\n\n\t\tswitch (action) {\n\t\t\tcase 'failed deposit':\n\t\t\t\teventName = 'af_deposit_fail';\n\t\t\t\tbreak;\n\n\t\t\tcase 'failed first deposit':\n\t\t\t\teventName = 'af_first_deposit_fail';\n\t\t\t\tbreak;\n\n\t\t\tcase 'made first deposit':\n\t\t\t\teventName = 'af_first_deposit';\n\t\t\t\tbreak;\n\n\t\t\tcase 'made deposit':\n\t\t\t\teventName = 'af_deposit';\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\n\t\tconst { deposit_amount, currency, label } = event;\n\n\t\tAF('pba', 'event', {\n\t\t\teventType: 'EVENT',\n\t\t\teventName,\n\t\t\teventValue: {\n\t\t\t\tcustomerID: Playtech.fetchUserDetails().userId,\n\t\t\t\tdeposit_amount,\n\t\t\t\tcurrency,\n\t\t\t\tlabel\n\t\t\t}\n\t\t});\n\t});\n\n\tPlaytech.on(Playtech.Events.SAFECHARGE_WITHDRAWAL_SUCCESS, function ([event]) {\n\t\tconst { amount, currency, 'payment_method': label } = event;\n\n\t\tAF('pba', 'event', {\n\t\t\teventType: 'EVENT',\n\t\t\teventName: 'af_withdraw',\n\t\t\teventValue: {\n\t\t\t\tcustomerID: Playtech.fetchUserDetails().userId,\n\t\t\t\tamount,\n\t\t\t\tcurrency,\n\t\t\t\tlabel\n\t\t\t}\n\t\t});\n\t});\n\n\tPlaytech.on(Playtech.Events.SAFECHARGE_WITHDRAWAL_FAIL, function ([event]) {\n\t\tconst { amount, currency, 'payment_method': label } = event;\n\n\t\tAF('pba', 'event', {\n\t\t\teventType: 'EVENT',\n\t\t\teventName: 'af_withdraw_fail',\n\t\t\teventValue: {\n\t\t\t\tcustomerID: Playtech.fetchUserDetails().userId,\n\t\t\t\tamount,\n\t\t\t\tcurrency,\n\t\t\t\tlabel\n\t\t\t}\n\t\t});\n\t});\n})();\n"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"3ddaba2b-817e-4a70-a071-cd2bbf803fa8","tagTypeId":"custom_tag_type","name":"IOS App Download","description":"IOS App Download","config":{"beforeEndHead":"<meta name=\"apple-itunes-app\" content=\"app-id=1625887437\">","beforeEndBody":""},"conditionIds":["605ac965-ddd1-49da-bc07-7838ec1f907c","d56bbd7d-efba-4e18-a8be-9467a5db3176"]},{"tagId":"cbde9403-5749-448a-adc2-47a7bd19da0f","tagTypeId":"custom_js","name":"Handle openRegistrationPage param","description":"Handle openRegistrationPage param","config":{"code":"(() => {\n const searchParams = new URLSearchParams(location.search);\n\n if (searchParams.get('openRegistrationPage')) {\n setTimeout(() => Playtech.API.common.navigate('/register'), 1000);\n }\n})();"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"75a62d3f-6981-4777-a200-e83dde50d3cc","tagTypeId":"custom_js","name":"Copy Phone from Visible Field","description":"Copy Phone from Visible Field","config":{"code":"document.body.addEventListener('input', (event) => {\n const target = event.target;\n \n if (!target?.matches('#cellphone0')) {\n return;\n }\n \n const value = target.value;\n const phone = document.querySelector('#text9');\n \n if (phone) {\n phone.value = value.substr(-10);\n }\n});"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"8957d963-b640-464e-bed6-8d3ff005536f","tagTypeId":"custom_tag_type","name":"Popup Button Constraints in Wrapper","description":"Remove popup button constraints in Wrapper mostly for GeoComply popup","config":{"beforeEndHead":"<style>\n /* Popup buttons width constraint */\n.desktop .popup-modal__buttons .btn, .desktop .popup-modal__buttons .popup-modal__button { min-width: 50%; width: auto; }\n</style>","beforeEndBody":""},"conditionIds":["1ff4bb65-77ad-4c2c-9d6e-d5c3c753a348"]},{"tagId":"9712596d-546e-41c4-a081-ae7c0e2c4aea","tagTypeId":"custom_js","name":"Add VIP Level as class","description":"Add VIP Level as class","config":{"code":"(() => {\n // html tag to attach CSS classes to\n // needs to be #applicaion, because otherwise classes will get overwritten by Portal\n const root = document.querySelector('#application');\n const handler = () => {\n if (!Playtech.API.auth.isLoggedIn) {\n // if player is not logged in, do nothing\n return;\n }\n\n const getPlayersLevel = Playtech.fetchUserDetails();\n const vipLevel = getPlayersLevel.vipLevel; //get vip status\n // add viplevel1\n root.classList.add(`viplevel${vipLevel}`);\n };\n // subscribe to login event\n Playtech.on(Playtech.Events.LOGGED_IN, handler);\n // subscribe to logout event\n Playtech.on(Playtech.Events.LOGGED_OUT, () => {\n Array.from(root.classList)\n .filter((name) => name.startsWith('vipl'))\n .forEach((name) => root.classList.remove(name));\n });\n // check on app init\n handler();\n})();"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"3936e7ce-378e-466e-ba7c-52fc8ad231c6","tagTypeId":"custom_js","name":".fn-logout handler","description":"Handle Logout button","config":{"code":"document.body.addEventListener('click', (event) => {\n if (Playtech.API.device.isDesktop) {\n return;\n }\n\n const target = event.target;\n const a = target.closest('.fn-logout');\n\n if (!a) {\n return;\n }\n\n event.preventDefault();\n\n if (!Playtech.API.auth.isLoggedIn) {\n return;\n }\n\n Playtech.API.popup.showPopup('confirmation', {\n content: 'playtech.mobile.system.logoutconfirm.title',\n acceptBtnText: 'playtech.mobile.system.logout.button.title',\n declineBtnText: 'playtech.mobile.system.cancel.button.title',\n onAccept: () => Playtech.API.auth.logout(),\n isModal: false,\n className: 'logout-confirm-popup'\n });\n});"},"conditionIds":["8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"821cd889-61a9-4a80-9c9d-cd1bf48462a1","tagTypeId":"ucip","name":"UCIP for Wrapper","description":"UCIP for Wrapper","config":{},"conditionIds":["1ff4bb65-77ad-4c2c-9d6e-d5c3c753a348"]},{"tagId":"cea048e6-fc87-47d2-a7aa-50940839852e","tagTypeId":"custom_tag_type","name":"Hide Kambi Menu on Native","description":"Hide Kambi Menu on Native","config":{"beforeEndHead":"<style>\n #KambiBC-container .KambiBC-bottom-navigation-container { \n display: none !important; \n }\n</style>","beforeEndBody":""},"conditionIds":["652c59a4-5725-40b3-8d7d-f826e1e8cae0","8251a559-2ca7-44c4-a5c7-76ac77d838d8"]},{"tagId":"e5e3662e-614e-4d08-894b-4b8a024ab154","tagTypeId":"custom_tag_type","name":"Base Styling","description":"Base Styling","config":{"beforeEndHead":"<style type=\"text/css\">\n .application-root,\n .btn{\n font-family: 'Montserrat', sans-serif;\n}\n \n</style>","beforeEndBody":""},"conditionIds":["d75b35ac-62ba-4fee-85eb-9a943061049b"]}],"conditions":[{"conditionId":"e6c899de-d55a-4bda-a55d-001b4a203a1d","conditionTypeId":"page_condition","name":"On cashier page","description":"Deposit or withdraw","config":{"onPageLaunch":"/cashier/deposit,/cashier/withdraw"}},{"conditionId":"9a574062-2f42-452b-ad52-3d2ccc1c18c3","conditionTypeId":"page_condition","name":"On iframe Pages","description":"On iframe Pages","config":{"onPageLaunch":"/iframe/sign-up,"}},{"conditionId":"15f2adab-534d-4ac8-9abc-d1acf8884394","conditionTypeId":"page_condition","name":"Login Pop Up","description":"Login Pop Up","config":{"onPageLaunch":"/test-dynamic-values"}},{"conditionId":"04e4fa56-1eb3-41c4-a10a-9c1c851536c0","conditionTypeId":"page_condition","name":"On Register Page","description":"On Register Page","config":{"onPageLaunch":"/register"}},{"conditionId":"385ccc31-847e-40ff-9a3f-fb5a6d7f68c5","conditionTypeId":"page_condition","name":"On Sports Promotions","description":"On Sports Promotions","config":{"onPageLaunch":"/promotions/sports,/promotions/sports/home-run-heroes,/promotions/sports/welcome-offer, /promotions/sports/bet-boosters,/promotions/sports/parlay-payday,/promotions/sports/touchdown-stars,/promotions/sports/download-the-app,/sportsbook/insights,/loyaltypoints,/promotions/sports/super-stars, /sportsbook/news, /sportsbook/news/article/4-4-2-picks"}},{"conditionId":"1a004dda-abd3-4868-96e9-411d279f8cd4","conditionTypeId":"page_condition","name":"On Main Pages","description":"On Main Pages","config":{"onPageLaunch":"/casino,/sportsbook,/live-dealer,/promotions/all,/sportsbook/news"}},{"conditionId":"81c5192e-1901-4962-9176-d9a03fb3d542","conditionTypeId":"page_condition","name":"On Sidebar Test","description":"On Sidebar Test","config":{"onPageLaunch":"/sidebar"}},{"conditionId":"605ac965-ddd1-49da-bc07-7838ec1f907c","conditionTypeId":"page_condition","name":"On test page","description":"On test page","config":{"onPageLaunch":"/sticky-category-test"}},{"conditionId":"652c59a4-5725-40b3-8d7d-f826e1e8cae0","conditionTypeId":"native_app_condition","name":"Only on Native","description":"Only on Native","config":{"nativeAppRule":"1"}},{"conditionId":"20d6f19d-4580-4e94-960b-b2dd39f21599","conditionTypeId":"page_condition","name":"On Sports Page","description":"On Sports Page","config":{"onPageLaunch":"/sportsbook"}},{"conditionId":"90e53cd8-6c8a-45e6-9d93-a0d84c65b6ea","conditionTypeId":"page_condition","name":"Product = Sportsbook","description":"Product = Sportsbook","config":{"onPageLaunch":"/sportsbook,/sportsbook/insights"}},{"conditionId":"f2016297-55d2-4085-a2fa-7ea25accb1a8","conditionTypeId":"page_condition","name":"On Insights page","description":"On Insights page","config":{"onPageLaunch":"/sportsbook/insights"}},{"conditionId":"d75b35ac-62ba-4fee-85eb-9a943061049b","conditionTypeId":"basic_condition","name":"Before Page Rendered","description":"","config":{"launch":"beforePageRendered"}},{"conditionId":"1ff4bb65-77ad-4c2c-9d6e-d5c3c753a348","conditionTypeId":"basic_condition","name":"On Wrapper Init","description":"On Wrapper Init","config":{"launch":"onWrapperInit"}},{"conditionId":"8251a559-2ca7-44c4-a5c7-76ac77d838d8","conditionTypeId":"basic_condition","name":"On App Init","description":"On App Init","config":{"launch":"onAppInit"}},{"conditionId":"d56bbd7d-efba-4e18-a8be-9467a5db3176","conditionTypeId":"basic_condition","name":"After Page Rendered","description":"After Page Rendered","config":{"launch":"afterPageRendered"}},{"conditionId":"b263d9af-4927-4244-b271-adf71613b673","conditionTypeId":"page_condition","name":"Product = Casino","description":"Product = Casino","config":{"onPageLaunch":"/casino,/live-casino"}},{"conditionId":"3ce8bb22-93fc-4109-a439-67a5b66e6826","conditionTypeId":"native_app_condition","name":"Exclude from Native","description":"Exclude from Native App","config":{"nativeAppRule":"0"}}]}