FROM opensign/opensign:main

USER root

RUN mkdir -p /usr/src/app/build/brand/source

COPY branding/mad-extra-seo-logo.webp /usr/src/app/build/brand/mad-extra-seo-logo.webp
COPY branding/madextra-theme.css /usr/src/app/build/brand/madextra-theme.css
COPY branding/source.html /usr/src/app/build/brand/source.html
COPY branding/manifest.json /usr/src/app/build/manifest.json
COPY branding/rebrand-locales.mjs /tmp/rebrand-locales.mjs
COPY branding/client.Dockerfile branding/server.Dockerfile branding/rebrand-locales.mjs branding/manifest.json branding/madextra-theme.css compose.yaml SOURCE_OFFER.md /usr/src/app/build/brand/source/
COPY licenses/OpenSign-AGPL-3.0.txt /usr/src/app/build/brand/source/OpenSign-AGPL-3.0.txt

RUN set -eux; \
    brand_files="$(grep -RIl 'OpenSign™' /usr/src/app/build/assets /usr/src/app/build/locales)"; \
    test -n "$brand_files"; \
    for file in $brand_files; do sed -i 's/OpenSign™/Mad Extra SEO LLC/g' "$file"; done; \
    node /tmp/rebrand-locales.mjs /usr/src/app/build/locales/*/translation.json; \
    rm /tmp/rebrand-locales.mjs; \
    logo_ref_files="$(grep -RIlE '/assets/logo-[A-Za-z0-9_-]+\.png' /usr/src/app/build/assets)"; \
    test -n "$logo_ref_files"; \
    for file in $logo_ref_files; do sed -i -E 's#/assets/logo-[A-Za-z0-9_-]+\.png#/brand/mad-extra-seo-logo.webp#g' "$file"; done; \
    favicon_files="$(grep -RIl 'fev_Icon:`data:image/png;base64,' /usr/src/app/build/assets)"; \
    test -n "$favicon_files"; \
    for file in $favicon_files; do sed -i -E 's#fev_Icon:`data:image/png;base64,[^`]+`#fev_Icon:`/brand/mad-extra-seo-logo.webp`#g' "$file"; done; \
    sed -i 's#<title>...Loading</title>#<title>Mad Extra SEO Secure Sign</title>#' /usr/src/app/build/index.html; \
    sed -i 's#</head>#  <link rel="icon" type="image/webp" href="/brand/mad-extra-seo-logo.webp" />\n  <link rel="stylesheet" href="/brand/madextra-theme.css" />\n</head>#' /usr/src/app/build/index.html; \
    sed -i 's#</body>#  <a id="madextra-source-offer" href="/brand/source.html">Source \&amp; license</a>\n</body>#' /usr/src/app/build/index.html; \
    if grep -RIl 'OpenSign™' /usr/src/app/build/assets /usr/src/app/build/locales; then exit 1; fi
