Merges ac-helper (PHP Activation Calendar) and brief-extractor (Python AI) into a single Docker app with React/TypeScript frontend. Features: - Brief upload → AI extraction → review → Activation Calendar import - Handsontable v17 spreadsheet with dependent dropdowns (148 categories) - AI natural language commands via Gemini (YOLO mode, voice input) - Azure AD MSAL SPA PKCE authentication, user roles (user/admin) - CSV Activation Calendar export - Real-time WebSocket job progress - Admin: user management, dropdown Excel upload - Multi-stage Dockerfile, docker-compose, nginx proxy instructions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
28 lines
780 B
TypeScript
28 lines
780 B
TypeScript
import { defineConfig } from 'vite'
|
|
import react from '@vitejs/plugin-react'
|
|
import tailwindcss from '@tailwindcss/vite'
|
|
|
|
export default defineConfig({
|
|
plugins: [react(), tailwindcss()],
|
|
base: '/ac-helper/',
|
|
server: {
|
|
port: 5173,
|
|
proxy: {
|
|
// Strip /ac-helper prefix before forwarding to backend (mirrors production nginx)
|
|
'/ac-helper/api': {
|
|
target: 'http://localhost:8000',
|
|
changeOrigin: true,
|
|
rewrite: (path) => path.replace('/ac-helper', ''),
|
|
},
|
|
'/ac-helper/ws': {
|
|
target: 'ws://localhost:8000',
|
|
ws: true,
|
|
rewrite: (path) => path.replace('/ac-helper', ''),
|
|
},
|
|
'/health': { target: 'http://localhost:8000', changeOrigin: true },
|
|
},
|
|
},
|
|
build: {
|
|
outDir: 'dist',
|
|
},
|
|
})
|