1<!DOCTYPE html> 2<html lang="en" dir="ltr"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <meta name="robots" content="noindex, nofollow"> 7 <meta name="csrf-token" content="FwsHBT87K2pVWxIcCDsMHgIkFj0AQnMeVDmLUQJ8ejMZ0mXYUBobo1C3"> 8 <title data-suffix=" · Vatrin"> 9 Register 10 · Vatrin</title> 11 <meta property="og:title" content="Register" key="og:title"> 12 13<meta name="description" content="Register" key="description"> 14<meta property="og:description" content="Register" key="og:description"> 15<meta name="twitter:description" content="Register" key="twitter:description"> 16 17<meta property="og:image" content="/images/logo-27b92223f36b7adb084762441c0f0856.png?vsn=d" key="og:image"> 18<meta name="twitter:image" content="/images/logo-27b92223f36b7adb084762441c0f0856.png?vsn=d" key="twitter:image"> 19 20<link rel="canonical" href="https://web.vatrin.app/register" key="canonical"> 21<meta property="og:url" content="https://web.vatrin.app/register" key="og:url"> 22<meta name="twitter:url" content="https://web.vatrin.app/register" key="twitter:url"> 23 24<meta property="og:site_name" content="Vatrin"> 25<meta property="og:type" content="website"> 26 27<link href="/favicon-cbaf99682e0917a4239d1982ee6859ba.ico?vsn=d" rel="shortcut icon" media="(prefers-color-scheme: light)"> 28<link href="/favicon-dark-57177eacb64d621e0a44fc88eafbc7ee.ico?vsn=d" rel="shortcut icon" media="(prefers-color-scheme: dark)"> 29 30<link rel="alternate" hreflang="en" href="https://web.vatrin.app/register"> 31<link rel="alternate" hreflang="ar" href="https://web.vatrin.app/ar/register"> 32 33 34 <meta property="al:ios:url" content="vatrin-seller://"> 35 <meta property="al:ios:app_store_id" content="1660052265"> 36 <meta property="al:ios:app_name" content="Vatrin Seller"> 37 38 39 <meta name="apple-itunes-app" content="app-id=1660052265"> 40 41 <meta property="al:android:url" content="vatrin-seller://"> 42 <meta property="al:android:package" content="com.vatrin.seller"> 43 <meta property="al:android:app_name" content="Vatrin Seller"> 44 45 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/smartbanner.js/1.25.0/smartbanner.min.css" integrity="sha512-PHvPyt987eem5xJmPM0hwbf4LtZ9k6yOLpqkqf6E67Oy9x7Fs77U/mU+hK3PnXt0yVV1+4HMoAMXYYJWP1sIdA==" crossorigin="anonymous" referrerpolicy="no-referrer"> 46
46<script src="https://cdnjs.cloudflare.com/ajax/libs/smartbanner.js/1.25.0/smartbanner.min.js" integrity="sha512-bGaeKb0i8Z2y2aMWYmLx74XbTvpHYpRrNbClk4MtaAX4LTlE2Vr454/9H3lFdO3lqmTO8p62654Q/x8S5R6amA==" crossorigin="anonymous" referrerpolicy="no-referrer"> 47 </script>
47 48 49 <!-- Start SmartBanner configuration --> 50<meta name="smartbanner:title" content="Vatrin: Ecommerce & Cashier"> 51<meta name="smartbanner:author" content="Vatrin"> 52<meta name="smartbanner:price" content="FREE"> 53<meta name="smartbanner:price-suffix-apple" content=" - On the App Store"> 54<meta name="smartbanner:price-suffix-google" content=" - In Google Play"> 55<meta name="smartbanner:icon-apple" content="/images/app-icon-651cbb35365ed0ffb1617fd2ce595372.png?vsn=d"> 56<meta name="smartbanner:icon-google" content="/images/app-icon-651cbb35365ed0ffb1617fd2ce595372.png?vsn=d"> 57<meta name="smartbanner:button" content="VIEW"> 58<meta name="smartbanner:button-url-apple" content="https://apps.apple.com/us/app/vatrin/id1660052265"> 59<meta name="smartbanner:button-url-google" content="https://play.google.com/store/apps/details?id=com.vatrin.seller"> 60<meta name="smartbanner:enabled-platforms" content="android,ios"> 61<meta name="smartbanner:close-label" content="Close"> 62 63<meta name="smartbanner:custom-design-modifier" content="ios"> 64 65<meta name="smartbanner:exclude-user-agent-regex" content="^.*(Version).*Safari"> 66<!-- End SmartBanner configuration --> 67 68 69 <link phx-track-static rel="stylesheet" href="/assets/app-1a4a09e48222b6b53dd70481a89d18bc.css?vsn=d"> 70
70<script defer phx-track-static type="text/javascript" src="/assets/js/app-11e86b40016096f87ed1b5e25b67ebcc.js?vsn=d"> 71 </script>
71 72 73 <link rel="stylesheet" href="https://unpkg.com/tippy.js@6/dist/svg-arrow.css"> 74 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/driver.css"> 75 76 <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/quill.snow.css" rel="stylesheet"> 77 <link href="/assets/vendor/quill2-emoji-ad1105cdc41947094857eb72ff1d13b1.css?vsn=d" rel="stylesheet"> 78 79
79<script> 80 const adapters = ["posthog","firebase","meta","tiktok"]; 81 82 window.analytics = { 83 distinctId: "", 84 aliasId: "", 85 userProperties: null, 86 source: "merchant-frontend", 87 env: "prod", 88 adapters: { 89 local: { 90 track(eventName, properties) { console.debug(`[Analytics] Event Tracked: ${eventName}`, properties) }, 91 page() { console.debug("[Analytics] Page View Tracked") } 92 }, 93 test: { 94 track(eventName, properties) { console.debug(`[Analytics] Event Tracked: ${eventName}`, properties) }, 95 page() { console.debug("[Analytics] Page View Tracked") } 96 } 97 }, 98 track(eventName, properties, options = {}) { 99 properties = { source: window.analytics.source, env: window.analytics.env, ...window.analytics.userProperties, ...properties }; 100 this.channels(options).forEach((channel) => { window.analytics.adapters[channel]?.track(eventName, properties) }); 101 }, 102 page(options = {}) { 103 this.channels(options).forEach((channel) => { window.analytics.adapters[channel]?.page() }); 104 }, 105 channels(options) { 106 if (!options.channels) { return adapters } 107 108 return options.channels.filter(channel => adapters.includes(channel)); 109 } 110 } 111</script>
111 112
112<script> 113 !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures getActiveMatchingSurveys getSurveys".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]); 114 115 posthog.init("phc_JJsqAZw552EEUWEKq6WWd2vxpl5vKhmGeEqGsMVlRi3", { 116 api_host: "https://us.posthog.com", 117 autocapture: false, 118 loaded: function (posthog) { 119 posthog.register({ source: window.analytics.source, env: window.analytics.env }) 120 121 if (window.analytics.distinctId) { 122 posthog.identify(window.analytics.distinctId, window.analytics.userProperties) 123 posthog.alias(window.analytics.aliasId, window.analytics.distinctId); 124 } else if (posthog.get_distinct_id()?.startsWith("store:")) { 125 // If the distinct_id starts with "store:", reset the posthog instance 126 // This means the user has logged out, and we don't want to track events for the previous user 127 posthog.reset() 128 } 129 130 window.analytics.adapters.posthog = { 131 track(eventName, properties) { window.posthog?.capture(eventName, properties) }, 132 page() { window.posthog?.capture("$pageview") } 133 }; 134 } 135 }) 136</script>
136 137 <!-- Meta Pixel Code -->
138<script>
vendor: 417 bytes, lines 138-147
138 139 !function(f,b,e,v,n,t,s) 140 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 141 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 142 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 143 n.queue=[];t=b.createElement(e);t.async=!0; 144 t.src=v;s=b.getElementsByTagName(e)[0]; 145 s.parentNode.insertBefore(t,s)}(window, document,'script', 146 "https://connect.facebook.net/en_US/fbevents.js"); 147 fbq("init", "
1476494741080538244
vendor: 35 bytes, lines 147-150
147"); 148 fbq("track", "PageView"); 149 150
150// Refer to https://developers.facebook.com/docs/meta-pixel/reference#standard-events for the rest of the standard events 151 const metaStandardEvents = ["PageView", "ViewContent", "CompleteRegistration"]; 152 window.analytics.adapters.meta = { 153 track(eventName, properties) { 154 const trackType = metaStandardEvents.includes(eventName) ? "track" : "trackCustom"; 155 fbq(trackType, eventName, properties); 156 }, 157 page() { fbq("track", "PageView") } 158 }; 159</script>
159 160<noscript> 161 <img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=6494741080538244&ev=PageView&noscript=1"> 162</noscript> 163<!-- End Meta Pixel Code --> 164 165 <!-- TikTok Pixel Code Start -->
166<script if> 167 !function (w, d, t) { 168 w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie","holdConsent","revokeConsent","grantConsent"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for( 169 var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var r="https://analytics.tiktok.com/i18n/pixel/events.js",o=n&&n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement("script") 170 ;n.type="text/javascript",n.async=!0,n.src=r+"?sdkid="+e+"&lib="+t;e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(n,e)}; 171 ttq.load("CT7G27JC77UANHJ2R3D0"); 172 ttq.page(); 173 }(window, document, "ttq"); 174 175 window.analytics.adapters.tiktok = { 176 track(eventName, properties) { 177 ttq.track(eventName, properties) 178 }, 179 page() { ttq.page() } 180 }; 181</script>
181 182<!-- TikTok Pixel Code End --> 183 184 185
185<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/quill.js"> 186 </script>
186 187
187<script src="https://unpkg.com/quill-paste-smart@latest/dist/quill-paste-smart.js"> 188 </script>
188 189 190
190<script async src="https://js.stripe.com/v3/pricing-table.js"> 191 </script>
191 192 </head> 193 <body class="bg-white antialiased"> 194 <div id="phx-GNpw3C5cT9yW93fB" data-phx-main data-phx-session="SFMyNTY.g2gDaAJhBnQAAAAIdwJpZG0AAAAUcGh4LUdOcHczQzVjVDl5VzkzZkJ3B3Nlc3Npb250AAAAAHcEdmlld3cdRWxpeGlyLlZhdHJleFdlYi5BdXRoTGl2ZS5OZXd3CnBhcmVudF9waWR3A25pbHcGcm91dGVydxdFbGl4aXIuVmF0cmV4V2ViLlJvdXRlcncJcm9vdF92aWV3dx1FbGl4aXIuVmF0cmV4V2ViLkF1dGhMaXZlLk5ld3cRbGl2ZV9zZXNzaW9uX25hbWV3IXJlZGlyZWN0X2lmX3VzZXJfaXNfYXV0aGVudGljYXRlZHcIcm9vdF9waWR3A25pbG4GAEZqC_igAWIAAVGA.fGr8S8-OIuJIJ_gpwHSF2yY4GLfX6eKkhXbY6p-QZn4" data-phx-static="SFMyNTY.g2gDaAJhBnQAAAADdwJpZG0AAAAUcGh4LUdOcHczQzVjVDl5VzkzZkJ3BWZsYXNodAAAAAB3CmFzc2lnbl9uZXdsAAAAAXcMY3VycmVudF91c2Vyam4GAEZqC_igAWIAAVGA.dst0ftfW03X68Y7z5YB1sK8Ld1MuCyk_cvPNST8cEBc"><main class="bg-white h-screen w-screen"> 195 196 197 198 <div class="h-full relative flex flex-col lg:flex-row text-base-content"> 199 <div class="flex absolute w-full justify-between pt-6 lg:pt-8 px-6 lg:px-11"> 200 <div> 201 <img src="/images/logo-transparent-9a1f2276ac7034bc750846d85dcf9adc.svg?vsn=d" class="w-20 lg:w-[102px]"> 202 </div> 203 <a href="/ar/register" id="locale-change-button" dir="ltr" class="flex items-center justify-center gap-x-1"> 204 <p class="text-dark-200 font-medium font-avenir"> 205 Ø§ÙØ¹Ø±Ø¨ÙØ© 206 </p> 207 <img class="rounded-full h-4 w-4" src="/images/arabic-9b5f452892eb0fdf634275fb65c6a1dd.svg?vsn=d" alt="Flag for en"> 208</a> 209 </div> 210 <div class="w-full lg:w-[49.3%] h-[49.3%] lg:h-full bg-base-200 flex items-center justify-center"> 211 <img class="max-w-[592px] p-4 pt-[4.25rem] h-full lg:w-full lg:h-auto lg:pt-4" src="/images/analytics-en.png" srcset="/images/analytics-en.png, /images/[email protected] 2x, /images/[email protected] 3x" loading="lazy"> 212 </div> 213 214 <div class="flex-grow flex items-center justify-center p-4"> 215 <div class="mx-auto max-w-sm"> 216 <div id="phone-number-form-container" class=""> 217 <header class=""> 218 <div> 219 <h1 class="text-lg font-semibold leading-8 text-zinc-800"> 220 221 <div class="flex flex-col gap-3 font-semibold text-[1.875rem]"> 222 <div class="leading-none">ð</div> 223 <div class="leading-normal">Welcome to Vatrin!</div> 224 </div> 225 226 </h1> 227 <p class="mt-7 text-sm leading-6 text-zinc-600"> 228 Let's get started and explore all the possibilities awaiting you! 229 </p> 230 </div> 231 <div class="flex-none"></div> 232</header> 233 234 <form phx-submit="next" phx-change="validate" class="flex flex-col gap-[1.125rem] pt-[1.125rem]" id="phone-number-form" method="post"> 235 236 237 238 239 <div> 240 <div phx-feedback-for="user[phone_number]" class="w-full " dir="ltr"> 241 <div class="live_phone " id="live_phone-phone-number" phx-hook="LivePhone"> 242 <div class="live_phone-country" tabindex="0" phx-target="1" phx-click="toggle" aria-owns="live_phone-phone-number" aria-expanded="false" role="combobox"> 243 <span class="live_phone-country-flag">ðªð¬</span> 244 <span class="live_phone-country-code">+20</span> 245</div> 246 247 <input type="tel" class="live_phone-input" value="" tabindex="0" placeholder="WhatsApp number" phx-target="1" phx-keyup="typing" phx-blur="close"> 248 249 <input id="user_phone_number" name="user[phone_number]" type="hidden" value=""> 250 251 252</div> 253 <div dir="auto"> 254 255 </div> 256</div> 257 </div> 258 259 260 261 262 <button class="phx-submit-loading:opacity-75 w-full btn btn-primary !rounded-lg !text-xl !leading-[1.875rem] !py-2.5"> 263 264 Next 265 266</button> 267 268 <div class="flex gap-1 justify-center font-medium text-sm text-base-content"> 269 <span>Already have an account?</span> 270 271 <a href="/login" data-phx-link="redirect" data-phx-link-state="push" class="text-link hover:underline"> 272 Log In 273 </a> 274 </div> 275 276 277 278</form> 279</div> 280 281<div class="hidden"> 282 <div class="mx-auto max-w-sm text-base-content"> 283 <header class="text-center"> 284 <div> 285 <h1 class="text-lg font-semibold leading-8 text-zinc-800"> 286 287 <div class="flex flex-col gap-3 font-semibold text-[1.875rem]"> 288 Verification Code 289 </div> 290 291 </h1> 292 <p class="mt-7 text-sm leading-6 text-zinc-600"> 293 294 Enter the OTP sent to your Whatsapp mobile number 295 <br>
296 <span dir="ltr" class="text-primary font-semibold text-lg"> 297 298 </span> 299 300 </p> 301 </div> 302 <div class="flex-none"></div> 303</header> 304 305 <form action="/login?_action=registered" method="post" phx-submit="verify-otp" phx-change="validate" class="flex flex-col gap-[1.125rem] pt-[1.125rem]" id="confirmation-form"> 306 307 <input name="_csrf_token" type="hidden" hidden value="FwsHBT87K2pVWxIcCDsMHgIkFj0AQnMeVDmLUQJ8ejMZ0mXYUBobo1C3"> 308 309 310 <div class="flex flex-col items-center"> 311 <div class="flex gap-3 text-2xl text-center justify-center whitespace-nowrap text-sky-950" id="otp-digits-input-group" dir="ltr"> 312 313 314 315 <input type="hidden" name="user[otp_digits][_persistent_id]" value="0"> 316 317 318 319 <input id="user[otp_digits][digit_0]" name="user[otp_digits][digit_0]" type="text" autocomplete="off" inputmode="numeric" class="otp-input shrink-0 bg-white rounded-2xl border-dashed border-[3px] h-[60px] w-[60px] text-center focus:border-primary focus:ring-0 border-light-300"><input id="user[otp_digits][digit_1]" name="user[otp_digits][digit_1]" type="text" autocomplete="off" inputmode="numeric" class="otp-input shrink-0 bg-white rounded-2xl border-dashed border-[3px] h-[60px] w-[60px] text-center focus:border-primary focus:ring-0 border-light-300"><input id="user[otp_digits][digit_2]" name="user[otp_digits][digit_2]" type="text" autocomplete="off" inputmode="numeric" class="otp-input shrink-0 bg-white rounded-2xl border-dashed border-[3px] h-[60px] w-[60px] text-center focus:border-primary focus:ring-0 border-light-300"><input id="user[otp_digits][digit_3]" name="user[otp_digits][digit_3]" type="text" autocomplete="off" inputmode="numeric" class="otp-input shrink-0 bg-white rounded-2xl border-dashed border-[3px] h-[60px] w-[60px] text-center focus:border-primary focus:ring-0 border-light-300"> 320 321 322</div> 323 324<div phx-feedback-for="user[otp]" class="hidden"> 325 326 327 <div class="relative "> 328 329 330 <input type="hidden" name="user[otp]" id="otp" class="py-2.5 px-4 text-base-content text-base rounded-lg order-2 peer block w-full focus:ring-transparent focus:outline-none placeholder:text-slate-500 phx-no-feedback:border-gray-300 phx-no-feedback:focus:border-gray-400 border-gray-300 focus:border-gray-400"> 331 332 333 334 335 336 337 </div> 338 339 340</div> 341
342<script src="/assets/vendor/otp-3baec50e726c9d45a78e54e7ee8573a6.js?vsn=d"> 343</script>
343 344 345 <div phx-feedback-for="user[phone_number]" class="hidden"> 346 347 348 <div class="relative "> 349 350 351 <input type="hidden" name="user[phone_number]" id="phone-number__verification" class="py-2.5 px-4 text-base-content text-base rounded-lg order-2 peer block w-full focus:ring-transparent focus:outline-none placeholder:text-slate-500 phx-no-feedback:border-gray-300 phx-no-feedback:focus:border-gray-400 border-gray-300 focus:border-gray-400"> 352 353 354 355 356 357 358 </div> 359 360 361</div> 362 <div phx-feedback-for="user[remember_me]" class="hidden"> 363 364 365 <div class="relative "> 366 367 368 <input type="hidden" name="user[remember_me]" id="user_remember_me" value="true" class="py-2.5 px-4 text-base-content text-base rounded-lg order-2 peer block w-full focus:ring-transparent focus:outline-none placeholder:text-slate-500 phx-no-feedback:border-gray-300 phx-no-feedback:focus:border-gray-400 border-gray-300 focus:border-gray-400"> 369 370 371 372 373 374 375 </div> 376 377 378</div> 379 </div> 380 381 382 383 384 <button class="phx-submit-loading:opacity-75 w-full btn btn-primary !rounded-lg !text-xl !leading-[1.875rem] !py-2.5" id="submit-btn"> 385 386 Next 387 388</button> 389 390 <div class="flex gap-1 justify-center font-medium"> 391 <span>Didn't get the code?</span> 392 393 394 395 <p class="text-dark-100"> 396 Resend in 00:30 397 </p> 398 </div> 399 400 401 402</form> 403</div> 404</div> 405 </div> 406 </div> 407 </div> 408</main></div> 409 410
410<script src="https://unpkg.com/@popperjs/core@2"> 411 </script>
411 412
412<script src="https://unpkg.com/tippy.js@6"> 413 </script>
413 414
414<script src="https://cdn.jsdelivr.net/npm/@easepick/[email protected]/dist/index.umd.min.js"> 415 </script>
415 416
416<script src="https://cdn.jsdelivr.net/npm/@floating-ui/[email protected]"> 417 </script>
417 418
418<script src="https://cdn.jsdelivr.net/npm/@floating-ui/[email protected]"> 419 </script>
419 420
420<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"> 421 </script>
421 422 <!-- Including ResizeObserver polyfill for compatibility with browsers that do not natively support ResizeObserver. 423 This ensures smooth functionality for detecting container resize events. --> 424
424<script src="https://cdn.jsdelivr.net/npm/resize-observer-polyfill/dist/ResizeObserver.global.js"> 425 </script>
425 426 427
427<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/driver.js.iife.js"> 428 </script>
428 429 430 <!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 430-431
430 431<script async src="https://www.googletagmanager.com/gtag/js?id=
431G-T1Y067ZG2Q
vendor: 14 bytes, lines 431-433
431"> 432</script> 433
434<script type="module"> 435 import { initializeApp } from "https://www.gstatic.com/firebasejs/11.0.1/firebase-app.js"; 436 import { getAnalytics, logEvent, setUserId, setUserProperties } from "https://www.gstatic.com/firebasejs/11.0.1/firebase-analytics.js"; 437 438 const firebaseConfig = { 439 apiKey: "AIzaSyAaeN7j7M9GuUTDWx5wQbFY9YCVHtNvbk4", 440 authDomain: "ps-vatrin-com.firebaseapp.com", 441 projectId: "ps-vatrin-com", 442 storageBucket: "ps-vatrin-com.appspot.com", 443 messagingSenderId: "627652008834", 444 appId: "1:627652008834:web:84e9be0d17b8dd43a08d9b", 445 measurementId: "G-T1Y067ZG2Q" 446 }; 447 448 // Initialize Firebase 449 const app = initializeApp(firebaseConfig); 450 const analytics = getAnalytics(app); 451 setUserId(analytics, window.analytics.distinctId); 452 setUserProperties(analytics, window.analytics.userProperties); 453 454 window.analytics.adapters.firebase = { 455 track(eventName, properties) { logEvent(analytics, event, properties) }, 456 page() { logEvent(analytics, "screen_view", { firebase_screen: window.location.pathname }) } 457 }; 458</script>
458 459
460<script> 461 window.dataLayer = window.dataLayer || []; 462 function gtag(){dataLayer.push(arguments);} 463 gtag("js", new Date()); 464 465 // Should be removed when used with firebase. Refer to https://firebase.google.com/docs/analytics/get-started?platform=web 466 // gtag("config", "G-T1Y067ZG2Q"); 467</script>
467 468 </body> 469</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.