"""
P85 — Banner-Screenshot-Block in der Mail.

Embedded den von consent-tester captured Screenshot des Banners
(banner_result.banner_screenshot_b64) als data-URI <img> in die Mail.
"so sah euer Banner zum Audit-Zeitpunkt aus" — visueller Beweis fuer
Dispute mit Marketing-Team oder DSB.
"""

from __future__ import annotations

import logging

logger = logging.getLogger(__name__)


def build_banner_screenshot_html(banner_result: dict | None) -> str:
    if not isinstance(banner_result, dict):
        return ""
    b64 = banner_result.get("banner_screenshot_b64") or ""
    if not b64 or len(b64) < 200:
        return ""
    provider = banner_result.get("banner_provider") or "Generic"
    detected = banner_result.get("banner_detected")
    return (
        '<div style="font-family:-apple-system,BlinkMacSystemFont,sans-serif;'
        'max-width:760px;margin:0 auto 16px;padding:12px 16px;'
        'background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px">'
        '<div style="font-size:11px;color:#475569;text-transform:uppercase;'
        'letter-spacing:1.2px;margin-bottom:4px;font-weight:600">'
        'Screenshot des Cookie-Banners zum Audit-Zeitpunkt</div>'
        f'<h3 style="margin:0 0 6px;font-size:13px;color:#1e293b">'
        f'Provider: <strong>{provider}</strong> · '
        f'erkannt: <strong>{"ja" if detected else "nein"}</strong></h3>'
        '<p style="margin:0 0 8px;font-size:11px;color:#64748b;line-height:1.5">'
        'Visueller Beweis wie das Banner zum Zeitpunkt des Audits angezeigt '
        'wurde. Bei spaeterer Aenderung des Banners bitte mit diesem '
        'Screenshot abgleichen.'
        '</p>'
        f'<img src="data:image/png;base64,{b64}" alt="Cookie-Banner" '
        f'style="max-width:100%;height:auto;border:1px solid #cbd5e1;'
        f'border-radius:4px;display:block">'
        '</div>'
    )
