{% extends "base.html" %} {% block title %}Cockpit{% endblock %} {% block head %} {% endblock %} {% macro render_sig(s) %} {% set sc = s.radar_score|int %} {% set sid = s.signal_id %} {% if sc>=85 %}{% set T='Sofortsignal'%}{% set tc='var(--red)'%}{% set bc='#ef4444'%} {% elif sc>=70 %}{% set T='Hoch relevant'%}{% set tc='var(--orange)'%}{% set bc='#f97316'%} {% elif sc>=51 %}{% set T='Relevant'%}{% set tc='var(--accent)'%}{% set bc='#4f8ef7'%} {% elif sc>=31 %}{% set T='Beobachten'%}{% set tc='var(--yellow)'%}{% set bc='#eab308'%} {% else %}{% set T='Gering'%}{% set tc='var(--muted)'%}{% set bc='#374151'%}{% endif %} {% if s.competition_signal %}{% set NS='n-konk'%}{% set NL='Konkurrenz'%} {% elif s.topic_class=='kern' and sc>=85 %}{% set NS='n-sofort'%}{% set NL='⚡ Sofort'%} {% elif s.topic_class=='kern' and sc>=70 %}{% set NS='n-analyse'%}{% set NL='Analysieren'%} {% elif s.topic_class=='kern' and sc>=50 %}{% set NS='n-beitrag'%}{% set NL='Beitrag'%} {% elif s.topic_class=='irrelevant' %}{% set NS='n-ignore'%}{% set NL='Ignorieren'%} {% else %}{% set NS='n-beob'%}{% set NL='Beobachten'%}{% endif %} {% set li=s.platform_linkedin|int %}{% set fb=s.platform_facebook|int %} {% set ig=s.platform_instagram|int %}{% set tt=s.platform_tiktok|int %} {% if li>=3 or fb>=3 or ig>=3 or tt>=3 %}{% set PC='plat-high'%}{% set PL='Hohe Reichweite'%} {% elif li>=2 or fb>=2 or ig>=2 or tt>=2 %}{% set PC='plat-med'%}{% set PL='Mittlere Reichweite'%} {% else %}{% set PC='plat-low'%}{% set PL='Begrenzte Reichweite'%}{% endif %} {% set icons={'wetter_klima':'🌪','ferienimmobilie':'🏠','feuchte':'💧','schimmel_risiko':'🔧','mallorca_news':'📰','konkurrenz':'🏴‍☠️'} %} {% set cat_icon=icons.get(s.signal_category,'📡') %} {% set _bsig = s.briefing_freigabe in ('zurueckstellen','verwerfen') %}
{% set _img_src = '/static/img_cache/' + s.cached_image_path if s.cached_image_path else ('/api/img?u=' + s.image_url|urlencode if (s.image_found and s.image_url) else '') %} {% set _cat = s.signal_category or 'default' %} {% set _known_cats = ['feuchte','schimmel_risiko','wetter_klima','ferienimmobilie','mallorca_news','konkurrenz'] %}
{% if _img_src %}{% endif %} {{cat_icon}} {% set _li_hi = s.platform_linkedin|int >= 3 %} {% set _fb_hi = s.platform_facebook|int >= 3 %} {% set _ig_hi = s.platform_instagram|int >= 3 %} {% if _li_hi or _fb_hi or _ig_hi %}
{% if _li_hi %}LI{% endif %} {% if _fb_hi %}FB{% endif %} {% if _ig_hi %}IG{% endif %}
{% endif %}
{{s.topic or s.extracted_hook or '(kein Titel)'}}
{% if s.topic_de and s.topic_de != s.topic and s.topic_de|length > 4 %}
{{s.topic_de}}
{% endif %}
{{s.source_name or '—'}} {% if s.source_count > 1 %}{{s.source_count}} Quellen ▾{% endif %} {{NL}} {% set ds = s.director_score|default(0)|round(0)|int %} {% if ds >= 60 %}Director {{ds}} {% elif ds >= 40 %}Director {{ds}} {% endif %}
{% if s.source_count > 1 and s.extra_sources %} {% endif %}
{% set op = s.operational_priority|int if s.operational_priority else 0 %} {% if op>=75 %}{% set OT="Sofort" %}{% set OC="var(--red)" %} {% elif op>=55 %}{% set OT="Priorität" %}{% set OC="var(--orange)" %} {% elif op>=35 %}{% set OT="Beobachten" %}{% set OC="var(--muted)" %} {% else %}{% set OT="Gering" %}{% set OC="var(--muted)" %}{% endif %}
{{OT}}
{{sc}}
{% endmacro %} {% block content %} {# ─── JS-Signal-Daten ──────────────────────────────────────────────────── #}
{# Topbar #}
Cockpit {% for d,l in [(1,'Heute'),(2,'2T'),(3,'3T'),(5,'5T'),(7,'7T'),(14,'14T')] %} {{l}} {% endfor %} {% for sk,sl in [('op_priority','Priorität'),('relevance','Score'),('newest','Neu'),('virality','Viral'),('linkedin','LI'),('facebook','FB')] %} {{sl}} {% endfor %} + Analyse
{# Tabs #}
{# ═══ LINKE LISTE ════════════════════════════════════════════════════════ #}
{# TAB RADAR #}
{# Gepinnte zuerst #} {% set pinned_sigs = signals|selectattr('pinned')|list %} {% if pinned_sigs %}
📌 Angepinnt ({{pinned_sigs|length}})
{% for s in pinned_sigs %}{{render_sig(s)}}{% endfor %}
{% endif %} {# Kategorie-Gruppen #} {% set cat_meta = { 'wetter_klima': ('🌪', 'Wetter & Klima'), 'ferienimmobilie': ('🏠', 'Ferienimmobilien'), 'feuchte': ('💧', 'Feuchtigkeit & Schäden'), 'schimmel_risiko': ('🔧', 'Schimmel-Risiko'), 'mallorca_news': ('📰', 'Mallorca News'), 'konkurrenz': ('🏴‍☠️', 'Markt & Konkurrenz'), } %} {% set normal_sigs = signals|rejectattr('pinned')|list %} {% for cat, cat_grp in normal_sigs|sort(attribute='signal_category')|groupby('signal_category') %} {% set cat_sigs = cat_grp|sort(attribute='radar_score', reverse=True) %} {% set meta = cat_meta.get(cat, ('📡', cat|replace('_',' ')|title)) %}
{{meta[0]}} {{meta[1]}} {{cat_sigs|length}} Ereignis{% if cat_sigs|length != 1 %}se{% endif %}
{% for s in cat_sigs %}{{render_sig(s)}}{% endfor %}
{% endfor %} {% if not signals %}
📡
Keine Signale für diesen Zeitraum.
{% endif %} {# Konkurrenz-Sektion immer im Radar-Tab #} {% if competition %}
🏴‍☠️ Konkurrenz & Markt {{competition|length}} Signal{% if competition|length != 1 %}e{% endif %}
{% for s in competition %}{{render_sig(s)}}{% endfor %}
{% endif %}
{# TAB ANALYSEN #}
{% if posts %} {% for p in posts %} {% set sc=p.overall_score|int %} {% if sc>=70%}{% set pc='var(--orange)'%}{% elif sc>=50%}{% set pc='var(--accent)'%}{% else%}{% set pc='var(--muted)'%}{% endif %}
{{sc}}
{{p.hook or p.raw_text[:80] or '(kein Hook)'}}
{{p.problem_type or '—'}} Viral {{p.virality_score|int}} {% if p.case_match_status=='missing'%}Fall fehlt {% elif p.case_match_status=='found'%}Fall ✓{% endif %}
{% endfor %} {% else %}
📊
Ersten Post analysieren →
{% endif %}
{# TAB MARKT #}
{% if competition %}
Feeds: Murprotec · Sanierungsfirmen · Humedades Mallorca
{% for s in competition %}{{render_sig(s)}}{% endfor %} {% else %}
🏴‍☠️
Keine Markt-Signale in diesem Zeitraum.
{% endif %}
{# TAB BEREIT ZUM POSTEN #} {# TAB GEPOSTET / ARCHIV #}
{# /list #} {# ═══ RECHTE ARBEITSFLÄCHE ═══════════════════════════════════════════════ #}
Ereignis auswählen
Signal anklicken für vollständige Analyse
{# /body #}
{# /cockpit-wrap #} {% endblock %}