# ── Шаг 1: сборка основного React-приложения ──────────────────────────────────
FROM node:20-alpine AS app-build
WORKDIR /build
COPY web-react/package*.json ./
RUN npm ci --prefer-offline
COPY web-react/ ./
RUN npm run build

# ── Шаг 2: сборка редактора статей (TipTap) ───────────────────────────────────
FROM node:20-alpine AS editor-build
WORKDIR /build
COPY web/editor-ui/package*.json ./
RUN npm ci --prefer-offline
COPY web/editor-ui/ ./
RUN npm run build

# ── Шаг 3: nginx раздаёт оба приложения ───────────────────────────────────────
FROM nginx:alpine
COPY --from=app-build    /build/dist  /usr/share/nginx/html/app
COPY --from=editor-build /build/dist  /usr/share/nginx/html/editor
COPY web-react/nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
