# ============================================================================
# Connexa Frontend — build Vite puis service statique via Nginx
# ============================================================================

# --- Étape 1 : build -------------------------------------------------------
FROM node:20-alpine AS builder
WORKDIR /app

# Args de build Vite (publics, pas de secrets). VITE_GOOGLE_CLIENT_ID est le
# Client ID OAuth public Google, identique à GOOGLE_CLIENT_ID backend.
ARG VITE_API_URL=/api
ARG VITE_GOOGLE_CLIENT_ID
ENV VITE_API_URL=$VITE_API_URL
ENV VITE_GOOGLE_CLIENT_ID=$VITE_GOOGLE_CLIENT_ID

COPY package*.json ./
RUN npm ci

COPY . .
RUN npm run build

# --- Étape 2 : service statique --------------------------------------------
FROM nginx:1.25-alpine AS runner
# Configuration SPA (fallback index.html pour le routage côté client)
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=builder /app/dist /usr/share/nginx/html
EXPOSE 80
