{% extends "base.html" %} {% block title %}{{ deck.title }} — Present - ICDEV™{% endblock %} {% block extra_css %} {% endblock %} {% block content %}
{% for slide in slides %}
{# ── Title slide ── #} {% if slide.slide_type == 'title' %}
{{ slide.title }}
{% if slide.speaker_notes %}
{{ slide.speaker_notes[:200] }}
{% endif %}
{# ── Mermaid diagram ── #} {% elif slide.slide_type == 'mermaid_diagram' %}
{{ slide.title }}
{% if slide.mermaid_code %}
{% else %}
No diagram data available.
{% endif %}
{# ── Three.js 3D animation ── #} {% elif slide.slide_type == 'three_animation' %}
{{ slide.title }}
{% if slide.three_scene_config %} {% else %}
🌐 3D animation not configured.
{% endif %}
{# ── Excalidraw sketch ── #} {% elif slide.slide_type == 'excalidraw_sketch' %}
{{ slide.title }}
{% if slide.excalidraw_elements %} {% else %}
✏️ Sketch data not available.
{% endif %}
{# ── Table ── #} {% elif slide.slide_type == 'table' %}
{{ slide.title }}
{% if slide.bullets is mapping %} {% set tbl = slide.bullets %} {% if tbl.headers %} {% for h in tbl.headers %}{% endfor %} {% endif %} {% for row in (tbl.rows or []) %} {% for cell in row %}{% endfor %} {% endfor %} {% if tbl.footer %} {% for cell in tbl.footer %}{% endfor %} {% endif %}
{{ h }}
{{ cell }}
{{ cell }}
{% else %}
Table data not available.
{% endif %}
{# ── Card grid ── #} {% elif slide.slide_type == 'card_grid' %}
{{ slide.title }}
{% for card in slide.bullets %} {% if card is mapping %}
{% if card.label %}
{{ card.label }}
{% endif %} {% if card.title %}
{{ card.title }}
{% endif %} {% if card.body %}
{{ card.body }}
{% endif %} {% if card.meta %}
{{ card.meta }}
{% endif %}
{% else %}
{{ card }}
{% endif %} {% endfor %}
{# ── Outro / closing ── #} {% elif slide.slide_type == 'outro' %}
{{ slide.title }}
{% if slide.bullets %}
    {% for b in slide.bullets %}
  • {{ b }}
  • {% endfor %}
{% endif %}
{# ── Standard content (bullet) slide ── #} {% else %}

{{ slide.title }}

{% if slide.image_path %}
    {% for bullet in slide.bullets %}
  • {{ bullet }}
  • {% endfor %}
{% else %}
    {% for bullet in slide.bullets %}
  • {{ bullet }}
  • {% endfor %}
{% endif %}
{% endif %}
{% endfor %} {# Speaker notes overlay #}
{# Controls bar #}
1 / {{ slides | length }}
✕ Exit {% if deck.status in ('completed', 'auto') %} ↓ PPTX {% endif %}
{# Load vendor libs and renderers at end of content block (Jinja2 constraint: no nested blocks) #} {% endblock %}