{# templates/changelog.html #} {% extends "base.html" %} {% block title %}Changelog{% endblock %} {% block content %}

SneakyScope Changelog

{% if updated %}

Last updated: {{ updated }}

{% endif %}
{# Unreleased #} {% set ur = changelog.unreleased %} {% if ur.features or ur.refactors or ur.fixes %}

Unreleased

WIP
{% for title, items, icon in [ ("✨ Features", ur.features, "✨"), ("πŸ› οΈ Refactors", ur.refactors, "πŸ› οΈ"), ("πŸ› Fixes", ur.fixes, "πŸ›"), ] %}

{{ title }}

{% if items and items|length %}
    {% for it in items %}
  • {{ it.title }}
    {% if it.details %}
      {% for d in it.details %}
    • {{ d }}
    • {% endfor %}
    {% endif %}
  • {% endfor %}
{% else %}

Nothing yet β€” add upcoming {{ title.split(' ')[1] | lower }} here.

{% endif %}
{% endfor %}
{% endif %} {# Versions Accordion #}
{% for v in changelog.versions %}

{% if v.notes and v.notes|length %}

Notes

    {% for n in v.notes %}
  • {{ n }}
  • {% endfor %}
{% endif %} {% for section_title, items in [ ("✨ Features", v.features), ("πŸ› οΈ Refactors", v.refactors), ("πŸ› Fixes", v.fixes), ] %} {% if items and items|length %}

{{ section_title }}

{% for it in items %}

{{ it.title }}

{% if it.details %}
    {% for d in it.details %}
  • {{ d }}
  • {% endfor %}
{% endif %}
{% endfor %}
{% endif %} {% endfor %}
{% endfor %}
{% endblock %} {% block scripts %} {# If you’re not auto-initializing Flowbite elsewhere, ensure its JS is loaded globally. #} {% endblock %}