# Build-Kontext ist der Repo-Root (siehe .gitea/workflows/docker-build.yml und docker-compose.yml).
FROM node:20-alpine AS build
WORKDIR /app

# omsorgcore-client-ts (file:./api-client-ts) hat seinen dist/-Ordner NICHT eingecheckt
# (siehe omsorgapp/api-client-ts/ANLEITUNG.md) - muss hier zuerst gebaut werden, sonst schlägt
# der spätere `import ... from "omsorgcore-client-ts"` in omsorgapp fehl.
COPY omsorgapp/api-client-ts ./api-client-ts
RUN cd api-client-ts && npm ci && npm run build

COPY omsorgapp/package.json omsorgapp/package-lock.json ./
RUN npm ci

COPY omsorgapp/ .

# Vite bäckt import.meta.env.VITE_OMSORG_CORE_URL (src/api/config.js) zur Build-Zeit ein - kein
# Runtime-Wert. Default passt zum docker-compose.yml-Setup, für einen echten Deploy überschreibt
# CI das per --build-arg mit der öffentlich erreichbaren omsorgCore-URL.
ARG VITE_OMSORG_CORE_URL=http://localhost:8080
ENV VITE_OMSORG_CORE_URL=$VITE_OMSORG_CORE_URL
RUN npm run build

FROM nginx:1.27-alpine AS runtime
COPY --from=build /app/dist /usr/share/nginx/html
COPY omsorgapp/nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
