1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta name="apple-itunes-app" content="app-id=6569229589, app-clip-bundle-id=com.myeviltwin.ballparkplus.Clip, app-clip-display=card"> 7 8 <meta name="description" content="Find any MLB game by describing it. Search by date, team, venue, or event."> 9 <meta property="og:title" content="Find a Game - Fanarchy"> 10 <meta property="og:description" content="Search for any MLB game by describing it"> 11 <meta property="og:type" content="website"> 12 <title>Find a Game - Fanarchy</title> 13 14 <link rel="icon" type="image/png" sizes="32x32" href="/email-assets/fanarchy-icon-1024.png"> 15 <link rel="preconnect" href="https://fonts.googleapis.com"> 16 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 17 <link href="https://fonts.googleapis.com/css2?family=Anton&display=swap" rel="stylesheet"> 18 <style> 19 20 /* ========== SITE HEADER ========== */ 21 .site-header { 22 background: #FFFFFF; 23 border-bottom: 1px solid #E9ECEF; 24 position: sticky; 25 top: 0; 26 z-index: 100; 27 } 28 .site-chrome-container { 29 max-width: 1120px; 30 margin: 0 auto; 31 padding: 0 20px; 32 } 33 .nav-inner { 34 display: flex; 35 align-items: center; 36 justify-content: space-between; 37 height: 64px; 38 } 39 .nav-logo { 40 display: flex; 41 align-items: center; 42 gap: 10px; 43 text-decoration: none; 44 color: #041E42; 45 } 46 .nav-logo img { 47 height: 36px; 48 width: 36px; 49 border-radius: 8px; 50 } 51 .nav-logo span { 52 font-family: 'Anton', sans-serif; 53 font-size: 22px; 54 text-transform: uppercase; 55 letter-spacing: 0.5px; 56 } 57 .nav-links { 58 display: none; 59 list-style: none; 60 gap: 24px; 61 align-items: center; 62 } 63 .nav-links a { 64 color: #041E42; 65 font-size: 14px; 66 font-weight: 500; 67 text-decoration: none; 68 transition: color 0.15s; 69 } 70 .nav-links a:hover { color: #BF0D3E; text-decoration: none; } 71 .nav-cta { display: none; } 72 .nav-toggle { 73 display: flex; 74 flex-direction: column; 75 gap: 5px; 76 background: none; 77 border: none; 78 cursor: pointer; 79 padding: 8px; 80 } 81 .nav-toggle span { 82 display: block; 83 width: 24px; 84 height: 2px; 85 background: #041E42; 86 border-radius: 2px; 87 transition: transform 0.2s; 88 } 89 .mobile-menu { 90 display: none; 91 background: #FFFFFF; 92 border-bottom: 1px solid #E9ECEF; 93 padding: 16px 20px; 94 } 95 .mobile-menu.open { display: block; } 96 .mobile-menu a { 97 display: block; 98 padding: 10px 0; 99 color: #041E42; 100 font-size: 16px; 101 font-weight: 500; 102 border-bottom: 1px solid #F8F9FA; 103 text-decoration: none; 104 } 105 .mobile-menu a:last-child { border-bottom: none; } 106 .mobile-menu a:hover { color: #BF0D3E; text-decoration: none; } 107 @media (min-width: 768px) { 108 .nav-links { display: flex; } 109 .nav-cta { display: block; } 110 .nav-toggle { display: none; } 111 } 112 113 114 /* ========== SITE FOOTER ========== */ 115 .site-footer { 116 background: #041E42; 117 color: #FFFFFF; 118 padding: 48px 20px 32px; 119 } 120 .footer-inner { 121 max-width: 1120px; 122 margin: 0 auto; 123 } 124 .footer-grid { 125 display: grid; 126 grid-template-columns: 1fr; 127 gap: 32px; 128 margin-bottom: 32px; 129 } 130 .footer-brand span { 131 font-family: 'Anton', sans-serif; 132 font-size: 24px; 133 text-transform: uppercase; 134 letter-spacing: 0.5px; 135 } 136 .footer-brand p { 137 font-size: 14px; 138 opacity: 0.7; 139 margin-top: 8px; 140 line-height: 1.5; 141 } 142 .footer-col h4 { 143 font-size: 13px; 144 text-transform: uppercase; 145 letter-spacing: 1px; 146 opacity: 0.5; 147 margin-bottom: 12px; 148 } 149 .footer-col ul { list-style: none; } 150 .footer-col li { margin-bottom: 8px; } 151 .footer-col li::before { content: none; } 152 .footer-col a { 153 color: #FFFFFF; 154 font-size: 14px; 155 opacity: 0.8; 156 text-decoration: none; 157 } 158 .footer-col a:hover { opacity: 1; text-decoration: underline; } 159 .footer-bottom { 160 border-top: 1px solid rgba(255,255,255,0.1); 161 padding-top: 24px; 162 display: flex; 163 flex-wrap: wrap; 164 justify-content: space-between; 165 align-items: center; 166 gap: 12px; 167 font-size: 13px; 168 opacity: 0.5; 169 } 170 @media (min-width: 768px) { 171 .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; } 172 } 173 </style> 174 <style> 175 * { margin: 0; padding: 0; box-sizing: border-box; } 176 body { 177 font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif; 178 background-color: #1A2B4A; 179 color: #1C1C1E; 180 min-height: 100vh; 181 display: flex; 182 flex-direction: column; 183 } 184 .page-wrapper { 185 width: 100%; 186 max-width: 500px; 187 flex: 1; 188 display: flex; 189 flex-direction: column; 190 align-items: center; 191 padding: 24px 16px; 192 gap: 24px; 193 margin: 0 auto; 194 } 195 .back-nav { 196 width: 100%; 197 text-align: left; 198 margin-bottom: -16px; 199 } 200 .back-nav a { 201 color: #FFFFFF; 202 font-size: 14px; 203 text-decoration: none; 204 display: inline-flex; 205 align-items: center; 206 gap: 4px; 207 } 208 .back-nav a:hover { 209 opacity: 1; 210 text-decoration: underline; 211 } 212 .card-container { 213 width: 100%; 214 } 215 .after-card-links { 216 display: flex; 217 justify-content: center; 218 align-items: center; 219 gap: 8px; 220 margin-top: -12px; 221 } 222 .after-card-links a { 223 color: #FFFFFF; 224 font-size: 13px; 225 text-decoration: none; 226 opacity: 0.85; 227 } 228 .after-card-links a:hover { 229 opacity: 1; 230 text-decoration: underline; 231 } 232 .after-card-links .link-separator { 233 color: #FFFFFF; 234 opacity: 0.4; 235 font-size: 13px; 236 } 237 .team-news-links { 238 text-align: center; 239 margin-top: 12px; 240 font-size: 14px; 241 } 242 .team-news-links a { 243 color: #FFFFFF; 244 opacity: 0.85; 245 text-decoration: none; 246 } 247 .team-news-links a:hover { 248 opacity: 1; 249 text-decoration: underline; 250 } 251 .team-news-label { 252 color: #FFFFFF; 253 opacity: 0.6; 254 margin-right: 6px; 255 font-size: 13px; 256 } 257 .team-news-links .link-separator { 258 color: #FFFFFF; 259 opacity: 0.4; 260 margin: 0 8px; 261 } 262 .cta-section { 263 text-align: center; 264 padding: 16px 0; 265 } 266 .cta-section h2 { 267 font-size: 18px; 268 font-weight: 600; 269 color: #FFFFFF; 270 margin-bottom: 8px; 271 } 272 .cta-section p { 273 color: rgba(255, 255, 255, 0.7); 274 font-size: 14px; 275 line-height: 1.4; 276 margin-bottom: 16px; 277 } 278 .cta-button { 279 display: inline-block; 280 text-decoration: none; 281 transition: transform 0.15s ease, box-shadow 0.15s ease; 282 } 283 .cta-button img { 284 height: 44px; 285 width: auto; 286 } 287 .cta-button:hover { 288 transform: translateY(-2px); 289 } 290 .cta-button:active { transform: translateY(0); } 291 .cta-secondary-link { 292 display: block; 293 margin-top: 16px; 294 color: #FFFFFF; 295 opacity: 0.7; 296 font-size: 14px; 297 text-decoration: none; 298 } 299 .cta-secondary-link:hover { 300 opacity: 1; 301 text-decoration: underline; 302 } 303 @media (max-width: 380px) { 304 .page-wrapper { padding: 16px 12px; } 305 } 306 /* Desktop: scale up ~30% bigger, ~40% wider */ 307 @media (min-width: 600px) { 308 .page-wrapper { 309 max-width: 700px; 310 gap: 32px; 311 padding: 32px 24px; 312 } 313 .cta-section h2 { font-size: 22px; } 314 .cta-section p { font-size: 16px; } 315 .cta-button img { height: 54px; } 316 .after-card-links a { font-size: 14px; } 317 .after-card-links .link-separator { font-size: 14px; } 318 } 319 </style> 320 321
321<script> 322 !function(){var i="analytics",analytics=window[i]=window[i]||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","screen","once","off","on","addSourceMiddleware","addIntegrationMiddleware","setAnonymousId","addDestinationMiddleware","register"];analytics.factory=function(e){return function(){var t=Array.prototype.slice.call(arguments);t.unshift(e);analytics.push(t);return analytics}};for(var e=0;e<analytics.methods.length;e++){var key=analytics.methods[e];analytics[key]=analytics.factory(key)}analytics.load=function(key,e){var t=document.createElement("script");t.type="text/javascript";t.async=!0;t.src="https://cdn.segment.com/analytics.js/v1/" + key + "/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(t,n);analytics._loadOptions=e};analytics._writeKey="S8LPYnDFZhpsWFzFxZWvxxEzi3sFQvGP";analytics.SNIPPET_VERSION="5.2.1";analytics.load("S8LPYnDFZhpsWFzFxZWvxxEzi3sFQvGP");}}(); 323 </script>
323 324</head> 325<body> 326 <header class="site-header"> 327 <div class="site-chrome-container"> 328 <nav class="nav-inner"> 329 <a href="/" class="nav-logo" aria-label="Fanarchy Home"> 330 <img src="/email-assets/fanarchy-icon-1024.png" alt="" width="36" height="36"> 331 <span>Fanarchy</span> 332 </a> 333 334 <ul class="nav-links"> 335 <li><a href="/games/search" style="color: #BF0D3E;">Games</a></li> 336 <li><a href="/players/search">Players</a></li> 337 <li><a href="/news">News</a></li> 338 <li><a href="/slack">Slack</a></li> 339 <li><a href="/discord">Discord</a></li> 340 <li><a href="/#features">Features</a></li> 341 <li><a href="/faq">FAQ</a></li> 342 <li><a href="/about">About</a></li> 343 <li><a href="/compare">Compare</a></li> 344 </ul> 345 346 <div class="nav-cta"> 347 <a href="https://fanarchy.onelink.me/s9P9/fu1emsnk" target="_blank" rel="noopener noreferrer" data-install-trigger="nav_header"> 348 <img src="/email-assets/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg" alt="Download Fanarchy on the App Store" class="app-store-badge" style="height: 36px;"> 349 </a> 350 </div> 351 352 <button class="nav-toggle" aria-label="Open menu" onclick="document.querySelector('.mobile-menu').classList.toggle('open')"> 353 <span></span><span></span><span></span> 354 </button> 355 </nav> 356 </div> 357 <div class="mobile-menu"> 358 <a href="/games/search" style="color: #BF0D3E;">Games</a> 359 <a href="/players/search">Players</a> 360 <a href="/news">News</a> 361 <a href="/slack">Slack</a> 362 <a href="/discord">Discord</a> 363 <a href="/#features">Features</a> 364 <a href="/faq">FAQ</a> 365 <a href="/about">About</a> 366 <a href="/compare">Compare</a> 367 <a href="https://fanarchy.onelink.me/s9P9/fu1emsnk" target="_blank" rel="noopener noreferrer" data-install-trigger="nav_mobile"> 368 <img src="/email-assets/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg" alt="Download Fanarchy on the App Store" class="app-store-badge" style="height: 36px;"> 369 </a> 370 </div> 371 </header> 372 <div class="page-wrapper"> 373 374 <div class="card-container"> 375 376 <style> 377 .search-card { 378 background: #FFFFFF; 379 border-radius: 10px; 380 padding: 24px 20px; 381 position: relative; 382 } 383 .search-title { 384 font-size: 28px; 385 font-weight: 700; 386 color: #303030; 387 margin-bottom: 8px; 388 } 389 .search-subtitle { 390 font-size: 15px; 391 color: #6C757D; 392 line-height: 1.5; 393 margin-bottom: 24px; 394 } 395 .search-form { 396 display: flex; 397 gap: 8px; 398 margin-bottom: 24px; 399 } 400 .search-input { 401 flex: 1; 402 padding: 12px 16px; 403 font-size: 16px; 404 border: 1px solid #DEE2E6; 405 border-radius: 8px; 406 outline: none; 407 transition: border-color 0.2s; 408 } 409 .search-input:focus { 410 border-color: #C91F42; 411 } 412 .search-button { 413 padding: 12px 24px; 414 background-color: #C91F42; 415 color: white; 416 border: none; 417 border-radius: 8px; 418 cursor: pointer; 419 font-size: 16px; 420 font-weight: 600; 421 transition: background-color 0.2s; 422 } 423 .search-button:hover { 424 background-color: #A81935; 425 } 426 .suggestions-title { 427 font-size: 12px; 428 font-weight: 800; 429 color: #6C757D; 430 text-transform: uppercase; 431 letter-spacing: 0.5px; 432 margin-bottom: 12px; 433 } 434 .suggestions { 435 display: flex; 436 flex-wrap: wrap; 437 gap: 8px; 438 } 439 .suggestion-pill { 440 display: inline-block; 441 padding: 10px 16px; 442 background-color: #F2F1F6; 443 color: #303030; 444 border-radius: 16px; 445 font-size: 14px; 446 text-decoration: none; 447 transition: background-color 0.2s; 448 } 449 .suggestion-pill:hover { 450 background-color: #DEE2E6; 451 } 452 /* Loading overlay â covers the search card while search is in progress */ 453 .search-loading-overlay { 454 display: none; 455 position: absolute; 456 top: 0; 457 left: 0; 458 right: 0; 459 bottom: 0; 460 background: rgba(255, 255, 255, 0.95); 461 border-radius: 10px; 462 flex-direction: column; 463 align-items: center; 464 justify-content: center; 465 z-index: 10; 466 } 467 .search-loading-overlay.active { 468 display: flex; 469 } 470 .search-loading-text { 471 font-size: 16px; 472 font-weight: 600; 473 color: #303030; 474 } 475 .search-loading-cancel { 476 position: absolute; 477 bottom: 20px; 478 background: none; 479 border: none; 480 color: #6E6E73; 481 font-size: 15px; 482 cursor: pointer; 483 padding: 8px 16px; 484 } 485 </style> 486 <div class="search-card"> 487 <h1 class="search-title">Find a Game</h1> 488 <p class="search-subtitle">Enter any details you remember â when you went, which teams played, or the stadium â and we'll find the game for you.</p> 489 490 <form class="search-form" id="searchForm" action="/games/search" method="GET"> 491 <input type="text" name="q" class="search-input" placeholder="What game are you looking for?" autofocus> 492 <input type="hidden" name="tz" id="tzInput"> 493 <button type="submit" class="search-button">Search</button> 494 </form> 495 496 <div class="suggestions-section"> 497 <div class="suggestions-title">Try searching for</div> 498 <div class="suggestions"> 499 <a href="/games/search?q=Angels%20vs%20Athletics%20last%20season&suggestion=true" class="suggestion-pill">Angels vs Athletics last season</a> 500 <a href="/games/search?q=Mark%20Buehrle's%20perfect%20game%20White%20Sox%20vs%20Rays%202009&suggestion=true" class="suggestion-pill">Mark Buehrle'
500s perfect game White Sox vs Rays 2009</a> 501 <a href="/games/search?q=Perez%20walk-off%20in%202014%20Wild%20Card%20Game%20Royals%20vs%20Athletics&suggestion=true" class="suggestion-pill">Perez walk-off in 2014 Wild Card Game Royals vs Athletics</a> 502 <a href="/games/search?q=Cubs%20vs%20Giants%20last%20season&suggestion=true" class="suggestion-pill">Cubs vs Giants last season</a> 503 <a href="/games/search?q=Angels%20comeback%20rally%20in%202002%20World%20Series%20Game%206%20vs%20Giants&suggestion=true" class="suggestion-pill">Angels comeback rally in 2002 World Series Game 6 vs Giants</a> 504 <a href="/games/search?q=Hank%20Aaron's%20715th%20home%20run%20Braves%20vs%20Dodgers%201974&suggestion=true" class="suggestion-pill">Hank Aaron's 715th home run Braves vs Dodgers 1974</a> 505 </div> 506 </div> 507 508 <!-- Loading overlay shown while search is in progress --> 509 <div class="search-loading-overlay" id="searchLoading"> 510 511 <style> 512 .loading-spinner { 513 position: relative; 514 width: 80px; 515 height: 80px; 516 margin: 0 auto 20px; 517 } 518 .spinner-icon { 519 position: absolute; 520 top: 50%; 521 left: 50%; 522 transform: translate(-50%, -50%); 523 width: 68px; 524 height: 68px; 525 border-radius: 50%; 526 overflow: hidden; 527 background-color: #C91F42; 528 } 529 .spinner-icon img { 530 width: 100%; 531 height: 100%; 532 object-fit: cover; 533 } 534 .spinner-ring { 535 width: 80px; 536 height: 80px; 537 animation: spin 1s linear infinite; 538 } 539 @keyframes spin { 540 0% { transform: rotate(0deg); } 541 100% { transform: rotate(360deg); } 542 } 543 </style> 544 <div class="loading-spinner"> 545 <div class="spinner-icon"> 546 <img src="/assets/team-appicons/team-mlb-appicon.png" alt="Team" 547 onerror="this.style.display='none'"> 548 </div> 549 <svg class="spinner-ring" viewBox="0 0 80 80"> 550 <circle cx="40" cy="40" r="36" stroke="#1A2B4A" stroke-width="4" 551 fill="none" stroke-linecap="round" stroke-dasharray="198 28" /> 552 </svg> 553 </div> 554 <div class="search-loading-text">Searching...</div> 555 <button class="search-loading-cancel" id="cancelSearch">Cancel</button> 556 </div> 557 </div> 558 </div> 559 560 561 <div class="cta-section"> 562 <h2>Build Your Scrapbook</h2> 563 <p>Track every game you attend with Fanarchy</p> 564 <a href="https://fanarchy.onelink.me/s9P9/fu1emsnk" class="cta-button" data-install-trigger="page_cta"> 565 <img src="/assets/icons/download-on-app-store.svg" alt="Download on the App Store"> 566 </a> 567
567<script> 568 // Screen view â matches iOS trackScreen("Find Past Game") 569 if (typeof analytics !== 'undefined') { 570 analytics.page('Find Past Game', { 571 surface: 'web', 572 source: 'direct' 573 }); 574 } 575 // Set user timezone for date resolution (e.g., "yesterday" in user's local time) 576 try { 577 var userTz = Intl.DateTimeFormat().resolvedOptions().timeZone; 578 document.getElementById('tzInput').value = userTz; 579 // Also append tz to suggestion pill links 580 document.querySelectorAll('.suggestion-pill').forEach(function(pill) { 581 var href = pill.getAttribute('href'); 582 if (href && href.indexOf('tz=') === -1) { 583 pill.setAttribute('href', href + '&tz=' + encodeURIComponent(userTz)); 584 } 585 }); 586 } catch(e) {} 587 // Show loading spinner on search submit or suggestion click 588 function showSearchLoading() { 589 document.getElementById('searchLoading').classList.add('active'); 590 } 591 document.getElementById('searchForm').addEventListener('submit', function(e) { 592 var input = this.querySelector('.search-input'); 593 if (input.value.trim()) { showSearchLoading(); } 594 }); 595 document.querySelectorAll('.suggestion-pill').forEach(function(pill) { 596 pill.addEventListener('click', function() { showSearchLoading(); }); 597 }); 598 // Cancel button: stop navigation and hide overlay 599 document.getElementById('cancelSearch').addEventListener('click', function() { 600 window.stop(); 601 document.getElementById('searchLoading').classList.remove('active'); 602 }); 603 // Hide spinner when returning via back button (bfcache restore) 604 window.addEventListener('pageshow', function(e) { 605 if (e.persisted) { 606 document.getElementById('searchLoading').classList.remove('active'); 607 } 608 }); 609 </script>
609 610 </div> 611 </div> 612 <footer class="site-footer"> 613 <div class="footer-inner"> 614 <div class="footer-grid"> 615 <div class="footer-brand"> 616 <span>Fanarchy</span> 617 <p>The social platform built for baseball fans.<br>Where Fandom Rules.</p> 618 </div> 619 <div class="footer-col"> 620 <h4>Product</h4> 621 <ul> 622 <li><a href="/games/search">Game Search</a></li> 623 <li><a href="/players/search">Player Search</a></li> 624 <li><a href="/news">Team News</a></li> 625 <li><a href="/slack">Slack App</a></li> 626 <li><a href="/discord">Discord App</a></li> 627 <li><a href="/#features">Features</a></li> 628 <li><a href="https://fanarchy.onelink.me/s9P9/fu1emsnk" target="_blank" rel="noopener noreferrer" data-install-trigger="footer">App Store</a></li> 629 </ul> 630 </div> 631 <div class="footer-col"> 632 <h4>Company</h4> 633 <ul> 634 <li><a href="/about">About</a></li> 635 <li><a href="/team">Team</a></li> 636 <li><a href="/compare">Compare</a></li> 637 <li><a href="/contact">Contact</a></li> 638 </ul> 639 </div> 640 <div class="footer-col"> 641 <h4>Legal</h4> 642 <ul> 643 <li><a href="/privacy">Privacy Policy</a></li> 644 <li><a href="/terms">Terms of Service</a></li> 645 <li><a href="/community-guidelines">Community Guidelines</a></li> 646 <li><a href="/faq">FAQ</a></li> 647 </ul> 648 </div> 649 </div> 650 <div class="footer-bottom"> 651 <span>© 2026 Fanarchy. All rights reserved.</span> 652 <span>Made with passion in the cheap seats.</span> 653 </div> 654 </div> 655 </footer> 656
656<script> 657(function() { 658 // --- Identity stitching --- 659 // Reads the Segment anonymousId from the JS API or the ajs_anonymous_id cookie 660 // (cookie persists across pages even without the Segment SDK loaded). 661 function getSegmentAnonId() { 662 if (typeof analytics !== 'undefined' && analytics.user) { 663 try { var id = analytics.user().anonymousId(); if (id) return id; } catch(e) {} 664 } 665 var m = document.cookie.match(/(?:^|;)\s*ajs_anonymous_id=([^;]+)/); 666 if (m) { try { return decodeURIComponent(m[1]).replace(/^"|"$/g, ''); } catch(e) {} } 667 return null; 668 } 669 670 function stitchIdentity() { 671 var anonId = getSegmentAnonId(); 672 if (!anonId) return; 673 674 // 1. Append af_sub2 to all OneLink URLs (for App Store install attribution) 675 document.querySelectorAll('a[href*="onelink.me"]').forEach(function(a) { 676 try { 677 var url = new URL(a.href); 678 if (!url.searchParams.has('af_sub2')) { 679 url.searchParams.set('af_sub2', anonId); 680 a.href = url.toString(); 681 } 682 } catch(e) {} 683 }); 684 685 // 2. Embed in the page URL for App Clip invocations â the App Clip receives 686 // the current page URL via NSUserActivity.webpageURL, so this is the only 687 // way to pass the web anonymousId to the App Clip session. 688 try { 689 var pageUrl = new URL(window.location.href); 690 if (!pageUrl.searchParams.has('seg_anon')) { 691 pageUrl.searchParams.set('seg_anon', anonId); 692 history.replaceState(null, '', pageUrl.toString()); 693 } 694 } catch(e) {} 695 } 696 697 // --- CTA click tracking --- 698 document.addEventListener('click', function(e) { 699 var link = e.target.closest('[data-install-trigger]'); 700 if (!link) return; 701 if (typeof analytics !== 'undefined') { 702 try { analytics.track('App Install CTA Clicked', { trigger: link.dataset.installTrigger }); } catch(e) {} 703 } 704 }); 705 706 // Run stitching after DOM is ready, and again after Segment loads (for pages 707 // where Segment initializes after DOMContentLoaded). 708 if (document.readyState === 'loading') { 709 document.addEventListener('DOMContentLoaded', stitchIdentity); 710 } else { 711 stitchIdentity(); 712 } 713 if (typeof analytics !== 'undefined' && analytics.ready) { 714 analytics.ready(stitchIdentity); 715 } 716})(); 717</script>
717 718</body> 719</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.