FROM pretix/standalone:stable

USER root

# 1. Theme-Plugin-Repository in das Build-Verzeichnis kopieren
COPY . /tmp/pretix-falkenthal-theme

# 2. Öffentliche Plugins + Falkenthal Theme-Plugin installieren
RUN pip3 install --no-cache-dir \
    pretix-passbook \
    pretix-zugferd \
    pretix-pages \
    /tmp/pretix-falkenthal-theme

# 3. Primäre Fallback-Farbwerte (#3b1c4a) im Quellbaum auf Royalblau/Indigo umstellen
#    (Veranstalter können ihre Shop-Farben weiterhin frei im Web-Interface überschreiben)
RUN sed -i 's/#3b1c4a/#4f46e5/gI' /pretix/src/pretix/base/settings.py && \
    find /pretix/src/pretix -type f \( -name "*.scss" -o -name "*.less" -o -name "*.css" \) -exec sed -i \
    -e 's/#3b1c4a/#2563eb/gI' \
    -e 's/#5f2977/#4f46e5/gI' \
    -e 's/#7f4a88/#475569/gI' \
    -e 's/#8e44ad/#4f46e5/gI' \
    -e 's/#281233/#0f172a/gI' {} +

# 4. Basis-Templates patchen (Orig. Pretix-Link bleibt erhalten + separater Theme-Link)
RUN python3 /tmp/pretix-falkenthal-theme/patch_templates.py && \
    chown -R pretixuser:pretixuser /pretix/src/pretix

USER pretixuser

# 5. Compressor-Cache leeren und Assets als pretixuser neu kompilieren
RUN rm -rf /pretix/src/pretix/static.dist/CACHE && \
    cd /pretix/src && make production

USER root

# 6. Vorkompilierte CSS-Dateien bereinigen & statische Theme-Assets bereitstellen
RUN find /pretix/src/pretix/static.dist -type f -name "*.css" -exec sed -i \
    -e 's/#3b1c4a/#2563eb/gI' \
    -e 's/#5f2977/#4f46e5/gI' \
    -e 's/#7f4a88/#475569/gI' \
    -e 's/#6c3386/#4f46e5/gI' \
    -e 's/#4c2460/#1e293b/gI' \
    -e 's/#281233/#0f172a/gI' {} + && \
    mkdir -p /pretix/src/pretix/static.dist/whitelabel && \
    cp -r /tmp/pretix-falkenthal-theme/pretix_whitelabel/static/whitelabel/* /pretix/src/pretix/static.dist/whitelabel/ && \
    chown -R pretixuser:pretixuser /pretix/src/pretix/static.dist && \
    rm -rf /tmp/pretix-falkenthal-theme

USER pretixuser
