11// https://nuxt.com/docs/api/configuration/nuxt-config
22export default defineNuxtConfig ( {
3- compatibilityDate : '2024-11-01 ' ,
3+ compatibilityDate : '2024-04-03 ' ,
44 devtools : { enabled : true } ,
55 css : [ '~/assets/css/main.css' ] ,
66 app : {
77 head : {
8+ htmlAttrs : {
9+ lang : "en" ,
10+ } ,
11+ title : "AI Trading Dashboard - Real-Time Crypto Trading Performance" ,
12+ meta : [
13+ { charset : "utf-8" } ,
14+ { name : "viewport" , content : "width=device-width, initial-scale=1" } ,
15+ {
16+ name : "description" ,
17+ content :
18+ "Monitor and compare AI trading models in real-time. Track crypto portfolio performance, positions, and trading analytics across multiple AI agents." ,
19+ } ,
20+ {
21+ name : "keywords" ,
22+ content :
23+ "AI trading, crypto trading, trading dashboard, portfolio tracker, trading models, cryptocurrency, DeFi, algorithmic trading" ,
24+ } ,
25+ { name : "author" , content : "AI Trading Dashboard" } ,
26+ { name : "robots" , content : "index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" } ,
27+ { name : "theme-color" , content : "#0a0a0a" } ,
28+
29+ // Open Graph / Social Media Meta Tags
30+ { property : "og:type" , content : "website" } ,
31+ { property : "og:url" , content : "og:url" } ,
32+ { property : "og:title" , content : "AI Trading Dashboard - Real-Time Crypto Trading Performance" } ,
33+ {
34+ property : "og:description" ,
35+ content :
36+ "Monitor and compare AI trading models in real-time. Track crypto portfolio performance, positions, and trading analytics." ,
37+ } ,
38+ { property : "og:image" , content : "/logo.png" } ,
39+ { property : "og:image:width" , content : "1200" } ,
40+ { property : "og:image:height" , content : "630" } ,
41+ { property : "og:site_name" , content : "AI Trading Dashboard" } ,
42+
43+ // Twitter Card Meta Tags
44+ { name : "twitter:card" , content : "summary_large_image" } ,
45+ { name : "twitter:url" , content : "twitter:url" } ,
46+ { name : "twitter:title" , content : "AI Trading Dashboard - Real-Time Crypto Trading Performance" } ,
47+ {
48+ name : "twitter:description" ,
49+ content :
50+ "Monitor and compare AI trading models. Track performance, positions, and analytics across multiple AI trading agents." ,
51+ } ,
52+ { name : "twitter:image" , content : "/logo.png" } ,
53+
54+ // Additional SEO Meta Tags
55+ { name : "apple-mobile-web-app-capable" , content : "yes" } ,
56+ { name : "apple-mobile-web-app-status-bar-style" , content : "black-translucent" } ,
57+ { name : "format-detection" , content : "telephone=no" } ,
58+ ] ,
859 link : [
960 {
1061 rel : 'preconnect' ,
@@ -19,20 +70,108 @@ export default defineNuxtConfig({
1970 rel : 'stylesheet' ,
2071 href : 'https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap' ,
2172 } ,
73+ // Canonical URL
74+ {
75+ rel : "canonical" ,
76+ content : "canonical" ,
77+ } ,
78+ // Favicons
79+ {
80+ rel : "icon" ,
81+ type : "image/x-icon" ,
82+ href : "/favicon.ico" ,
83+ } ,
84+ {
85+ rel : "icon" ,
86+ type : "image/svg+xml" ,
87+ href : "/favicon.svg" ,
88+ } ,
89+ {
90+ rel : "icon" ,
91+ type : "image/png" ,
92+ sizes : "16x16" ,
93+ href : "/favicon-16x16.png" ,
94+ } ,
95+ {
96+ rel : "icon" ,
97+ type : "image/png" ,
98+ sizes : "32x32" ,
99+ href : "/favicon-32x32.png" ,
100+ } ,
101+ // Apple Touch Icon (180x180 is the standard for modern iOS)
102+ {
103+ rel : "apple-touch-icon" ,
104+ sizes : "180x180" ,
105+ href : "/icons/light/apple-touch-icon.png" ,
106+ } ,
107+ // Preload critical resources
108+ {
109+ rel : "preload" ,
110+ as : "font" ,
111+ href : "https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap" ,
112+ crossorigin : "" ,
113+ } ,
114+ ] ,
115+ script : [
116+ {
117+ type : "application/ld+json" ,
118+ innerHTML : JSON . stringify ( {
119+ "@context" : "https://schema.org" ,
120+ "@type" : "WebApplication" ,
121+ name : "AI Trading Dashboard" ,
122+ description :
123+ "Real-time monitoring and comparison of AI trading models with cryptocurrency portfolio analytics" ,
124+ url : process . env . NUXT_PUBLIC_SITE_URL || "" ,
125+ applicationCategory : "FinanceApplication" ,
126+ offers : {
127+ "@type" : "Offer" ,
128+ price : "0" ,
129+ priceCurrency : "USD" ,
130+ } ,
131+ aggregateRating : {
132+ "@type" : "AggregateRating" ,
133+ ratingValue : "4.8" ,
134+ ratingCount : "250" ,
135+ } ,
136+ } ) ,
137+ } ,
138+ // Google Analytics (replace UA-XXXXXXXXX with your actual tracking ID)
139+ {
140+ async : true ,
141+ src : "https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID" ,
142+ } ,
143+ {
144+ innerHTML : `
145+ window.dataLayer = window.dataLayer || [];
146+ function gtag(){dataLayer.push(arguments);}
147+ gtag('js', new Date());
148+ gtag('config', 'GA_MEASUREMENT_ID', {
149+ page_path: window.location.pathname,
150+ });
151+ ` ,
152+ type : "text/javascript" ,
153+ } ,
22154 ] ,
23155 } ,
24156 } ,
157+
25158 typescript : {
26159 strict : true ,
27- typeCheck : false // Disable type checking during dev to avoid vue-tsc issues
160+ typeCheck : false , // Disable type checking during dev to avoid vue-tsc issues
28161 } ,
29162 postcss : {
30163 plugins : {
31164 tailwindcss : { } ,
32165 autoprefixer : { } ,
33166 } ,
34167 } ,
35- modules : [ 'radix-vue/nuxt' ] ,
168+ modules : [ "radix-vue/nuxt" ] ,
169+
170+ site : {
171+ url : process . env . NUXT_PUBLIC_SITE_URL ,
172+ name : process . env . NUXT_PUBLIC_SITE_NAME ,
173+ } ,
174+
36175 build : {
37176 transpile : [ 'radix-vue' , 'apexcharts' , 'vue3-apexcharts' ] ,
38177 } ,
@@ -60,7 +199,10 @@ export default defineNuxtConfig({
60199 nodeEnv : process . env . NUXT_NODE_ENV || '' ,
61200
62201 public : {
63- // apiBaseUrl: process.env.NUXT_PUBLIC_API_BASE_URL || 'http://localhost:3000',
202+ site : {
203+ url : process . env . NUXT_PUBLIC_SITE_URL ,
204+ name : process . env . NUXT_PUBLIC_SITE_NAME ,
205+ } ,
64206 } ,
65207 } ,
66208} )
0 commit comments