import translations from './translations' import numberFormats from './translations/numberFormats' export default { env: { graphqlApi: process.env.GRAPHQL_API, }, mode: 'spa', head: { link: [ {rel: 'apple-touch-icon', sizes: '180x180', href: '/apple-touch-icon.png'}, {rel: 'icon', type: 'image/png', sizes: '32x32', href: '/favicon-32x32.png'}, {rel: 'icon', type: 'image/png', sizes: '16x16', href: '/favicon-16x16.png'}, {rel: 'manifest', href: '/site.webmanifest'}, {rel: 'mask-icon', href: '/safari-pinned-tab.svg', color: '#7f0aff'}, {rel: 'icon', type: 'image/x-icon', href: '/favicon.ico'}, {rel: "stylesheet", href: 'https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons'}, {rel: "stylesheet", href: "https://fonts.googleapis.com/css?family=Material+Icons"}, {rel: "stylesheet", href: "https://cdn.materialdesignicons.com/3.3.92/css/materialdesignicons.min.css"} ], meta: [ {name: 'viewport', content: 'width=device-width, initial-scale=1, user-scalable=no, minimal-ui'} ], }, modules: [ 'nuxt-i18n', '@nuxtjs/vuetify', ['@nuxtjs/moment', { locales: ['sv'], defaultLocale: 'sv' }], ], i18n: { strategy: 'prefix_and_default', detectBrowserLanguage: { useCookie: true, cookieKey: 'nuxt_i18n_redirected', alwaysRedirect: true, fallbackLocale: 'sv' }, locales: [ { code: 'en', iso: 'en-US' }, { code: 'sv', iso: 'sv-SE' } ], defaultLocale: 'sv', vueI18n: { fallbackLocale: 'sv', messages: translations, numberFormats } }, vuetify: { optionsPath: './vuetify.options.js' }, css: [ 'vuetify/dist/vuetify.css', '~/assets/scss/global.scss', ], plugins: [ '~/plugins/composition', '~/plugins/hooks', '~/plugins/i18n', '~/plugins/vue-numeral-filter.js' ], build: { babel: { presets({ isServer }) { return [ [ require.resolve('@nuxt/babel-preset-app'), // require.resolve('@nuxt/babel-preset-app-edge'), // For nuxt-edge users { buildTarget: isServer ? 'server' : 'client', corejs: { version: 3 } } ] ] } } } };