# =============================================================================
# Stage 1: Build frontend
# =============================================================================
FROM node:22-alpine AS frontend-builder

WORKDIR /tmp/frontend
RUN npm install -g pnpm

COPY frontend/package.json /tmp/frontend
RUN pnpm install

COPY frontend/src /tmp/frontend/src
COPY frontend/vite.config.js /tmp/frontend
RUN pnpm run build

# =============================================================================
# Stage 2: Final image
# =============================================================================
FROM python:3.11-slim

RUN apt-get update && apt-get install -y --no-install-recommends \
    curl \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /usr/app

# Install Python dependencies
RUN pip install --no-cache-dir industream-flowmaker-sdk

# Copy application
COPY main.py /usr/app/
COPY src/ /usr/app/src/

# Copy frontend build
COPY --from=frontend-builder /tmp/frontend/dist/ /usr/app/config/

ENV FM_WORKER_APP_CONFIG=/usr/app/config/

CMD ["python", "main.py"]
