schon/storefront/nuxt.config.ts
Egor fureunoir Gorbunov cc11da01f9 refactor(storefront): replace evibes logo with schon logo in SVG format
Updated the SVG logo file in storefront to replace evibes branding with schon. Includes enhanced styling and additional view properties for resolution compatibility.
2026-02-05 17:23:59 +03:00

97 lines
No EOL
2.4 KiB
TypeScript

import { defineNuxtConfig } from 'nuxt/config';
import { i18nConfig } from './config/i18n';
import {fileURLToPath, URL} from "node:url";
import { resolve } from 'node:path';
export default defineNuxtConfig({
ssr: true,
devtools: { enabled: true },
typescript: { strict: true },
modules: [
"@nuxtjs/i18n",
"@nuxt/icon",
"@pinia/nuxt",
"@nuxtjs/apollo",
"@vueuse/nuxt",
"@element-plus/nuxt",
"nuxt-marquee",
"@nuxt/image"
],
i18n: i18nConfig,
apollo: {
autoImports: true,
clients: {
default: {
httpEndpoint: `https://api.${process.env.SCHON_BASE_DOMAIN}/graphql/`,
connectToDevTools: true,
authType: 'Bearer',
authHeader: 'X-SCHON-AUTH',
tokenStorage: 'cookie',
tokenName: `${process.env.SCHON_PROJECT_NAME?.toLowerCase()}-access`,
}
}
},
runtimeConfig: {
public: {
schonProjectName: process.env.SCHON_PROJECT_NAME,
schonBaseDomain: process.env.SCHON_BASE_DOMAIN
},
},
app: {
head: {
charset: "utf-8",
viewport: "width=device-width, initial-scale=1",
title: process.env.SCHON_PROJECT_NAME,
titleTemplate: `${process.env.SCHON_PROJECT_NAME} | %s`,
link: [
{ rel: 'icon', type: 'image/x-icon', href: `https://${process.env.SCHON_BASE_DOMAIN}/favicon.ico` },
]
},
pageTransition: {
name: 'opacity',
mode: 'out-in'
}
},
css: [
'./assets/styles/main.scss',
'./assets/styles/global/fonts.scss'
],
alias: {
'styles': fileURLToPath(new URL("./assets/styles", import.meta.url)),
'images': fileURLToPath(new URL("./assets/images", import.meta.url)),
'icons': fileURLToPath(new URL("./assets/icons", import.meta.url)),
},
vite: {
envDir: '../',
envPrefix: 'SCHON_',
css: {
preprocessorOptions: {
scss: {
additionalData: `
@use "@/assets/styles/global/variables.scss" as *;
@use "@/assets/styles/global/mixins.scss" as *;
`
}
}
}
},
image: {
domains: [`https://api.${process.env.SCHON_BASE_DOMAIN}`]
},
hooks: {
'pages:extend'(pages) {
pages.push(
{
name: 'activate-user',
path: '/activate-user',
file: resolve(__dirname, 'pages/index.vue')
},
{
name: 'reset-password',
path: '/reset-password',
file: resolve(__dirname, 'pages/index.vue')
}
)
}
}
})