import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import tailwindcss from '@tailwindcss/vite';
import fs from 'node:fs';
import path from 'node:path';

// Copy brand assets (from the chat assets folder) into public/ so they can be used
// as the app/company logo. Runs in Node whenever Vite loads its config.
(function copyBrandAssets() {
  const assetsDir = 'C:\\Users\\Shamal\\.cursor\\projects\\c-Users-Shamal-Downloads-sas\\assets';
  const pub = path.resolve(process.cwd(), 'public');
  const copy = (candidates: string[], targets: string[]) => {
    try {
      const src = candidates.find((p) => fs.existsSync(p));
      if (!src) return;
      fs.mkdirSync(pub, { recursive: true });
      for (const t of targets) fs.copyFileSync(src, path.join(pub, t));
    } catch { /* ignore */ }
  };

  // Square icon for the PWA / home screen.
  copy(
    [path.join(assetsDir, 'kitn-app-icon.png'), path.resolve(process.cwd(), 'assets', 'kitn-app-icon.png')],
    ['icon-512.png', 'icon-192.png', 'apple-touch-icon.png']
  );

  // Real company wordmark logo shown inside the app (sidebar / login).
  copy(
    [
      path.join(assetsDir, 'c__Users_Shamal_AppData_Roaming_Cursor_User_workspaceStorage_empty-window_images_kitn-logo-7721aeb9-4a7d-4d47-a6bc-0321550cc46d.png'),
      path.resolve(process.cwd(), 'assets', 'kitn-logo.png'),
    ],
    ['kitn-logo.png']
  );
})();

export default defineConfig({
  plugins: [react(), tailwindcss()],
  define: {
    'process.env.GOOGLE_MAPS_PLATFORM_KEY': JSON.stringify(process.env.GOOGLE_MAPS_PLATFORM_KEY || '')
  },
  server: {
    host: '0.0.0.0',
    port: 3000
  }
});
