import { defineConfig, loadEnv } from 'vite'
import react from '@vitejs/plugin-react'
import tailwindcss from '@tailwindcss/vite'
import path from 'path' // Importuj moduł path

export default defineConfig(({ mode }) => {
    // Ustawiamy ścieżkę do folderu, w którym faktycznie znajduje się plik .env
    // path.resolve(__dirname, '..') oznacza: "wyjdź jeden poziom wyżej względem tego pliku"
    const envDirectory = path.resolve(__dirname, '..');

    // Ładujemy env z określonej lokalizacji
    const env = loadEnv(mode, envDirectory, '');

    const apiTarget = env.VITE_API_TARGET;

    return {
        plugins: [
            react(),
            tailwindcss(),
        ],
        server: {
            port: 6568,
            proxy: {
                '/api': {
                    target: apiTarget,
                    changeOrigin: true,
                    secure: false,
                    headers: {
                        'Origin': apiTarget,
                        'Referer': `${apiTarget}/`
                    },
                    configure: (proxy) => {
                        proxy.on('error', (err) => {
                            console.log('[Proxy Error]:', err.message);
                        });
                        proxy.on('proxyReq', (_, req) => {
                            console.log(`[Proxy] Wysyłam do: ${apiTarget}${req.url}`);
                        });
                        proxy.on('proxyRes', (proxyRes, req) => {
                            console.log(`[Proxy] Odpowiedź: ${proxyRes.statusCode} ${req.url}`);
                        });
                    },
                }
            }
        },
        preview: {
            port: 6568,
        },
    }
})