gutenberg
3 weeks ago
account-static.js
11 months ago
account.js
11 months ago
amplitude.js
1 year ago
consent-mapping.js
1 year ago
cookiebot-admin-script.js
6 months ago
dashboard.js
1 year ago
jquery.tipTip.js
3 years ago
multiple-page.js
3 years ago
network-settings-page.js
5 months ago
ppg-page.js
4 months ago
prior-consent-settings.js
3 years ago
settings-page.js
5 months ago
support-page.js
1 year ago
account-static.js
76 lines
| 1 | const createFormData = (action, data = {}) => { |
| 2 | const formData = new FormData(); |
| 3 | formData.append('action', action); |
| 4 | formData.append('nonce', cookiebot_account.nonce); |
| 5 | |
| 6 | Object.entries(data).forEach(([key, value]) => { |
| 7 | formData.append(key, value); |
| 8 | }); |
| 9 | |
| 10 | return formData; |
| 11 | }; |
| 12 | |
| 13 | function canReload() { |
| 14 | const itemStr = localStorage.getItem('dashboard_reload'); |
| 15 | const now = new Date(); |
| 16 | const numTimes = 3; |
| 17 | const ttl = 30000; |
| 18 | let count = 0; |
| 19 | |
| 20 | if (itemStr) { |
| 21 | const item = JSON.parse(itemStr); |
| 22 | |
| 23 | if (now.getTime() < item.exp) { |
| 24 | if (item.count > numTimes) { |
| 25 | return false; |
| 26 | } |
| 27 | count = item.count + 1; |
| 28 | } |
| 29 | } |
| 30 | |
| 31 | const newItem = { |
| 32 | count: count, |
| 33 | exp: now.getTime() + ttl, |
| 34 | } |
| 35 | |
| 36 | localStorage.setItem('dashboard_reload', JSON.stringify(newItem)); |
| 37 | return true; |
| 38 | } |
| 39 | |
| 40 | document.addEventListener('DOMContentLoaded', async () => { |
| 41 | const urlParams = new URLSearchParams(window.location.search); |
| 42 | const ucApiCode = urlParams.get('uc_api_code'); |
| 43 | |
| 44 | if (ucApiCode && cookiebot_account.auth_expired_flow) { |
| 45 | try { |
| 46 | const response = await fetch(cookiebot_account.ajax_url, { |
| 47 | method: 'POST', |
| 48 | body: createFormData('cookiebot_process_auth_code', { code: ucApiCode }), |
| 49 | credentials: 'same-origin' |
| 50 | }); |
| 51 | |
| 52 | if (!response.ok) throw new Error(`Auth failed: ${response.status}`); |
| 53 | if (canReload()) { |
| 54 | const newUrl = new URL(window.location.href); |
| 55 | newUrl.searchParams.delete('uc_api_code'); |
| 56 | newUrl.searchParams.delete('is_new_user'); |
| 57 | window.location.href = newUrl; |
| 58 | } |
| 59 | return; |
| 60 | } catch (error) { |
| 61 | console.error('Failed to process authentication:', error); |
| 62 | return; |
| 63 | } |
| 64 | } |
| 65 | window.prevent_default = true; |
| 66 | }); |
| 67 | |
| 68 | document.getElementById('get-started-button-static-dashboard')?.addEventListener('click', async (e) => { |
| 69 | e.preventDefault(); |
| 70 | try { |
| 71 | const callbackUrl = window.location.href; |
| 72 | window.location.href = `https://api.ea.prod.usercentrics.cloud/v1/auth/auth0/authorize?origin=wordpress_plugin&callback_domain=${encodeURIComponent(callbackUrl)}`; |
| 73 | } catch (error) { |
| 74 | console.error('Failed to start authentication process:', error); |
| 75 | } |
| 76 | }); |