# Copyright (c) 2026 GUDUUOS INC. SPDX-License-Identifier: AGPL-3.0-only
# Build only from the allowlisted context produced by compliance/prepare.py.
# The matching source offer is part of this image, not a separately updated site.
ARG MAS_BASE=ghcr.io/element-hq/matrix-authentication-service:1.25.1@sha256:54f03be8ef26b9a6f2ab594d2a4c6e8074c3c09fbe05890a00ea50939d3e152a
FROM ${MAS_BASE} AS upstream
FROM node:24.11.1-bookworm-slim@sha256:48abc13a19400ca3985071e287bd405a1d99306770eb81d61202fb6b65cf0b57 AS styles
WORKDIR /src/distro/staging/mas-locales/compliance/styles
COPY distro/staging/mas-locales/compliance/styles/ ./
RUN npm ci --ignore-scripts
COPY client/identity-auth/ /src/client/identity-auth/
RUN node build.cjs /auth.css

FROM python:3.12-slim@sha256:78387bc3881b8273120a12ebe6c1ab22b018ccc2c9adf565ae1ac9b536e184ea AS translations
ARG GUDUU_IDENTITY_ORIGIN=https://id.staging.guduu.co
ENV GUDUU_IDENTITY_ORIGIN=${GUDUU_IDENTITY_ORIGIN}
COPY --from=upstream /usr/local/share/mas-cli/translations/en.json /en.json
COPY distro/staging/mas-locales/build.py distro/staging/mas-locales/overrides.json distro/staging/mas-locales/brand.py /build/
COPY distro/staging/mas-locales/recovery.js /build/recovery.js
COPY --from=upstream /usr/local/share/mas-cli/templates /templates
COPY distro/staging/mas-locales/error.html /templates/pages/error.html
COPY --from=styles /auth.css /build/auth.css
COPY distro/staging/mas-locales/compliance/install_notice.py /build/install_notice.py
COPY _legal/source.json /build/source.json
RUN python /build/build.py && python /build/brand.py && python /build/install_notice.py /templates /build/source.json

FROM node:24.11.1-bookworm-slim@sha256:48abc13a19400ca3985071e287bd405a1d99306770eb81d61202fb6b65cf0b57 AS account
RUN apt-get update && apt-get install -y --no-install-recommends python3 ca-certificates && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY upstream/ /app/
COPY distro/staging/mas-locales/account /overlay
COPY distro/staging/mas-locales/compliance/collect_licenses.py /collect_licenses.py
RUN python3 /overlay/patch.py /app && corepack enable && pnpm install --frozen-lockfile --no-runtime --filter mas-frontend
RUN cd frontend && PATH="/app/frontend/node_modules/.bin:$PATH" node node_modules/vite/bin/vite.js build
RUN mkdir -p /share/assets && cp frontend/dist/manifest.json /share/manifest.json && rm -f frontend/dist/index.html* frontend/dist/manifest.json* && cp frontend/dist/* /share/assets/

RUN python3 /collect_licenses.py /app/node_modules /dependency-notices.txt

FROM upstream
COPY --from=account /share/assets /usr/local/share/mas-cli/assets
COPY --from=account /share/manifest.json /usr/local/share/mas-cli/manifest.json
COPY --from=translations /out /usr/local/share/mas-cli/guduu-translations
ENV MAS_TEMPLATES__TRANSLATIONS_PATH=/usr/local/share/mas-cli/guduu-translations
COPY --from=translations /templates /usr/local/share/mas-cli/templates
COPY node/identity/guduu_node_identity/static/fonts/open-sans.woff2 node/identity/guduu_node_identity/static/fonts/open-sans-semibold.woff2 /usr/local/share/mas-cli/assets/guduu/fonts/
COPY node/identity/guduu_node_identity/static/images/guduu-icon.svg /usr/local/share/mas-cli/assets/guduu/images/guduu-icon.svg
COPY --from=styles /auth.css /usr/local/share/mas-cli/assets/guduu/auth.css
COPY distro/staging/mas-locales/language.js /usr/local/share/mas-cli/assets/guduu/language.js
COPY --from=translations /build/recovery.bundle.js /usr/local/share/mas-cli/assets/guduu/recovery.js

COPY _legal/ /usr/local/share/mas-cli/assets/guduu/legal/
COPY distro/staging/mas-locales/compliance/source-offer.css /usr/local/share/mas-cli/assets/guduu/legal/source-offer.css
LABEL org.guduu.source-offer="/assets/guduu/legal/index.html"
COPY --from=account /dependency-notices.txt /usr/local/share/mas-cli/assets/guduu/legal/dependency-notices.txt
