diff --git a/frontend/.env.production b/frontend/.env.production new file mode 100644 index 0000000..9574844 --- /dev/null +++ b/frontend/.env.production @@ -0,0 +1,16 @@ +# Production Environment Variables for Frontend +# These are embedded at build time by Vite + +# API URL - Backend API endpoint +VITE_API_URL=https://api.turbotrades.dev + +# WebSocket URL - Backend WebSocket endpoint +# If not set, will auto-generate from VITE_API_URL +VITE_WS_URL=wss://api.turbotrades.dev/ws + +# App Configuration +VITE_APP_NAME=TurboTrades +VITE_APP_ENV=production + +# Feature Flags +VITE_ENABLE_DEBUG=false diff --git a/frontend/src/stores/websocket.js b/frontend/src/stores/websocket.js index bd5a069..7c353ef 100644 --- a/frontend/src/stores/websocket.js +++ b/frontend/src/stores/websocket.js @@ -31,14 +31,17 @@ export const useWebSocketStore = defineStore("websocket", () => { // Helper functions const getWebSocketUrl = () => { - // Use environment variable or fallback to ws subdomain + // Use environment variable or fallback if (import.meta.env.VITE_WS_URL) { return import.meta.env.VITE_WS_URL; } - // In production, use dedicated WebSocket domain + // In production, use main API domain with /ws path if (import.meta.env.PROD) { - return "wss://ws.turbotrades.dev"; + const apiUrl = + import.meta.env.VITE_API_URL || "https://api.turbotrades.dev"; + // Convert http(s):// to ws(s):// + return apiUrl.replace(/^http/, "ws") + "/ws"; } // In development, use current host with ws path (for proxy)