// Scripts for firebase and firebase messaging
// eslint-disable-next-line no-undef
importScripts("https://www.gstatic.com/firebasejs/10.14.1/firebase-app-compat.js");
// eslint-disable-next-line no-undef
importScripts("https://www.gstatic.com/firebasejs/10.14.1/firebase-messaging-compat.js");

// Initialize the Firebase app in the service worker by passing the generated config
let firebaseConfig;
switch (this.location.hostname) {
  case "localhost":
    firebaseConfig = {
      apiKey: "AIzaSyDPLT8GiDHDR1R4nI66Qi0BY1aYviDPioc",
      authDomain: "imex-dev.firebaseapp.com",
      databaseURL: "https://imex-dev.firebaseio.com",
      projectId: "imex-dev",
      storageBucket: "imex-dev.appspot.com",
      messagingSenderId: "759548147434",
      appId: "1:759548147434:web:e8239868a48ceb36700993",
      measurementId: "G-K5XRBVVB4S"
    };
    break;
  case "test.imex.online":
    firebaseConfig = {
      apiKey: "AIzaSyBw7_GTy7GtQyfkIRPVrWHEGKfcqeyXw0c",
      authDomain: "imex-test.firebaseapp.com",
      projectId: "imex-test",
      storageBucket: "imex-test.appspot.com",
      messagingSenderId: "991923618608",
      appId: "1:991923618608:web:633437569cdad78299bef5"
      // measurementId: "${config.measurementId}",
    };
    break;
  case "imex.online":
  default:
    firebaseConfig = {
      apiKey: "AIzaSyDSezy-jGJreo7ulgpLdlpOwAOrgcaEkhU",
      authDomain: "imex-prod.firebaseapp.com",
      databaseURL: "https://imex-prod.firebaseio.com",
      projectId: "imex-prod",
      storageBucket: "imex-prod.appspot.com",
      messagingSenderId: "253497221485",
      appId: "1:253497221485:web:3c81c483b94db84b227a64",
      measurementId: "G-NTWBKG2L0M"
    };
}

// eslint-disable-next-line no-undef
firebase.initializeApp(firebaseConfig);

// Retrieve firebase messaging
// eslint-disable-next-line no-undef
const messaging = firebase.messaging();

messaging.onBackgroundMessage(function (payload) {
  // Customize notification here
  console.log("[firebase-messaging-sw.js] Received background message ", payload);
  // eslint-disable-next-line no-undef
  self.registration.showNotification(notificationTitle, notificationOptions);
});
