PageSourceSearch

https://pupwife.com/scripts/dependencies/firebaseConfig.js

js pupwife.com collected 2026-09-30 15:05:10 UTC 2,703 bytes, 87 lines download raw bytes

1// Firebase configuration and initialization
2// Safe to include more than once (ipBanBoot + page scripts + SPA navigation).
3(function () {
4  'use strict';
5
6  if (window.__PUPWIFE_FIREBASE_CONFIG_LOADED__) {
7    if (typeof window.ensureFirebaseApp === 'function') {
8      window.ensureFirebaseApp();
9    }
10    return;
11  }
12  window.__PUPWIFE_FIREBASE_CONFIG_LOADED__ = true;
13
14  function emitDevLog() {
15    if (typeof window !== 'undefined' && typeof window.devLog === 'function') {
16      window.devLog.apply(window, arguments);
17    }
18  }
19  function emitDevWarn() {
20    if (typeof window !== 'undefined' && typeof window.devWarn === 'function') {
21      window.devWarn.apply(window, arguments);
22    }
23  }
24
25  if (typeof window.__firebaseInitialized === 'undefined') {
26    window.__firebaseInitialized = false;
27  }
28
29  var firebaseConfig = {
30    apiKey: 'AIzaSyAgjuQRdBrtVnuWnmQN5DwL5T5J2CR_nL0',
31    authDomain: 'pongbreaker-c7868.firebaseapp.com',
32    databaseURL: 'https://pongbreaker-c7868-default-rtdb.firebaseio.com',
33    projectId: 'pongbreaker-c7868',
34    storageBucket: 'pongbreaker-c7868.firebasestorage.app',
35    messagingSenderId: '687604943939',
36    appId: '1:687604943939:web:0aba2d98afa03bd91298f6',
37    measurementId: 'G-XG7LB7STJP'
38  };
39
40  function ensureFirebaseApp() {
41    if (typeof firebase === 'undefined') {
42      return false;
43    }
44
45    try {
46      firebase.app();
47      window.__firebaseInitialized = true;
48      return true;
49    } catch (e) {
50      try {
51        firebase.initializeApp(firebaseConfig);
52        window.__firebaseInitialized = true;
53        try {
54          if (firebase.database && typeof firebase.database.enableLogging === 'function') {
55            firebase.database.enableLogging(false);
56          }
57        } catch (loggingErr) {}
58        try {
59          if (!sessionStorage.getItem('pupwife_firebase_devlogged')) {
60            emitDevLog('Firebase initialized successfully!');
61            sessionStorage.setItem('pupwife_firebase_devlogged', '1');
62          }
63        } catch (storageErr) {
64          emitDevLog('Firebase initialized successfully!');
65        }
66        return true;
67      } catch (initErr) {
68        try {
69          firebase.app();
70          window.__firebaseInitialized = true;
71          return true;
72        } catch (retryErr) {
73          emitDevWarn('Firebase config error:', initErr?.message || retryErr?.message);
74          return false;
75        }
76      }
77    }
78  }
79
80  window.ensureFirebaseApp = ensureFirebaseApp;
81
82  if (typeof firebase !== 'undefined') {
83    ensureFirebaseApp();
84  } else {
85    emitDevWarn('Firebase scripts not loaded yet');
86  }
87})();

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.