// Configuration for your app

const envparser = require("./config/envparser");

module.exports = function(ctx) {
  return {
    // app boot file (/src/boot)
    // --> boot files are part of "main.js"
    boot: ["axios", "firebase", "auth", "format_time", "categories"],

    css: ["app.styl"],

    extras: [
      "roboto-font",
      "material-icons", // optional, you are not bound to it
      // 'ionicons-v4',
      // 'mdi-v3',
      "fontawesome-v5"
      // 'eva-icons'
    ],

    prefetch: true,

    framework: {
      // all: true, // --- includes everything; for dev only!

      components: [
        "QLayout",
        "QHeader",
        "QDrawer",
        "QPageContainer",
        "QPage",
        "QPageSticky",
        "QToolbar",
        "QToolbarTitle",
        "QFooter",
        "QBtn",
        "QChip",
        "QIcon",
        "QInput",
        "QEditor",
        "QSelect",
        "QSpace",
        "QList",
        "QItem",
        "QItemSection",
        "QItemLabel",
        "QOptionGroup",
        "QMenu",
        "QCard",
        "QCardSection",
        "QCardActions",
        "QImg",
        "QAvatar",
        "QSeparator",
        "QInfiniteScroll",
        "QSpinnerDots",
        "QForm",
        "QToggle",
        "QUploader",
        "QCarousel",
        "QCarouselSlide",
        "QCarouselControl",
        "QSpace"
      ],

      directives: ["Ripple", "ClosePopup"],
      // cssAddon: true,
      // Quasar plugins
      plugins: ["Notify", "LoadingBar"],
      config: {
        loadingBar: {
          /* LoadingBar defaults */

          color: "teal-6"
        }
      }
      // iconSet: 'ionicons-v4'
      // lang: 'de' // Quasar language
    },

    supportIE: false,

    build: {
      scopeHoisting: true,
      vueRouterMode: "history",
      env: envparser(),
      // vueCompiler: true,
      // gzip: true,
      // analyze: true,
      // extractCSS: false,
      extendWebpack(cfg) {}
    },

    devServer: {
      // https: true,
      // port: 8080,
      open: true // opens browser window automatically
    },

    // animations: 'all', // --- includes all animations
    animations: [],

    ssr: {
      pwa: false
    },

    pwa: {
      // workboxPluginMode: 'InjectManifest',
      // workboxOptions: {}, // only for NON InjectManifest
      manifest: {
        // name: 'Quasar App',
        // short_name: 'Quasar-PWA',
        // description: 'Best PWA App in town!',
        display: "standalone",
        orientation: "portrait",
        background_color: "#ffffff",
        theme_color: "#027be3",
        icons: [
          {
            src: "statics/icons/icon-128x128.png",
            sizes: "128x128",
            type: "image/png"
          },
          {
            src: "statics/icons/icon-192x192.png",
            sizes: "192x192",
            type: "image/png"
          },
          {
            src: "statics/icons/icon-256x256.png",
            sizes: "256x256",
            type: "image/png"
          },
          {
            src: "statics/icons/icon-384x384.png",
            sizes: "384x384",
            type: "image/png"
          },
          {
            src: "statics/icons/icon-512x512.png",
            sizes: "512x512",
            type: "image/png"
          }
        ]
      }
    },

    cordova: {
      // id: 'org.cordova.quasar.app'
      // noIosLegacyBuildFlag: true // uncomment only if you know what you are doing
    },

    electron: {
      // bundler: 'builder', // or 'packager'

      extendWebpack(cfg) {
        // do something with Electron main process Webpack cfg
        // chainWebpack also available besides this extendWebpack
      },

      packager: {
        // https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
        // OS X / Mac App Store
        // appBundleId: '',
        // appCategoryType: '',
        // osxSign: '',
        // protocol: 'myapp://path',
        // Window only
        // win32metadata: { ... }
      },

      builder: {
        // https://www.electron.build/configuration/configuration
        // appId: 'quasar-app'
      }
    }
  };
};