-
Notifications
You must be signed in to change notification settings - Fork 0
/
nuxt.config.ts
96 lines (96 loc) · 2.45 KB
/
nuxt.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
devtools: {
enabled: true,
timeline: {
enabled: true,
},
},
runtimeConfig: {
public: {
appVersion: process.env.npm_package_version
}
},
future: {
compatibilityVersion: 4,
},
ssr: true,
modules: ['@nuxtjs/i18n', '@nuxt/image', 'vuetify-nuxt-module'],
css: [
'~/assets/css/main.css',
'@mdi/font/css/materialdesignicons.min.css'
],
vuetify: {
moduleOptions: {
ssrClientHints: {
reloadOnFirstRequest: true, // Reloads the page on first request to apply the theme
prefersColorScheme: true, // Uses Sec-CH-Prefers-Color-Scheme for theme detection
viewportSize: true, // Enable Sec-CH-Viewport-Width, Sec-CH-DPR for responsive layout on SSR
prefersColorSchemeOptions: {
cookieName: 'color-scheme', // Stores user's preferred color scheme
useBrowserThemeOnly: true, // Strictly uses the browser theme without relying on cookies
},
prefersReducedMotion: true, // Uses Sec-CH-Prefers-Reduced-Motion for reduced motion detection
}
},
vuetifyOptions: {
theme: {
defaultTheme: 'light',
themes: {
light: {
colors: {
background: '#FFFFFF',
surface: '#F5F5F5',
primary: '#58ab27',
secondary: '#3F51B5',
accent: '#546E7A',
error: '#F44336',
info: '#2196F3',
success: '#4CAF50',
warning: '#FFC107',
},
},
dark: {
colors: {
background: '#0f172a',
surface: '#1e293b',
primary: '#58ab27',
secondary: '#1A237E',
accent: '#263238',
error: '#D32F2F',
info: '#2979FF',
success: '#2E7D32',
warning: '#FF6F00',
},
},
},
},
},
},
i18n: {
locales: [ 'de', 'en', 'ru', 'tr', 'uk' ],
vueI18n: './app/config/i18n.config.ts',
strategy: 'no_prefix',
detectBrowserLanguage: {
useCookie: false,
},
},
image: {
formats: ['avif', 'webp'],
},
build: {
transpile: ['vuetify'],
},
imports: {
autoImport: true,
},
compatibilityDate: '2024-10-13',
vite: {
build: {
minify: 'esbuild',
},
optimizeDeps: {
include: ['vuetify'],
},
},
});