{% extends "base.html" %} {% load static %} {% block html_class %}dashboard-shell{% endblock %} {% block body %}
{% comment %} Public pages serve both signed-in and anonymous visitors. Authenticated users get the full app chrome (their Dashboard + module nav); anonymous visitors get the marketing header (section nav + Create account) instead of the dashboard topnav, whose "Dashboard" link is a login-gated dead end for them and which hides the signup CTA. {% endcomment %} {% if user.is_authenticated %} {% include "components/topnav.html" %} {% else %} {% include "components/public_header.html" %} {% endif %} {# ── Breadcrumb sub-bar ────────────────────────────────── #}
{% block breadcrumbs %}{% endblock %}
{# ── Main content ──────────────────────────────────────── #}
{% block messages %} {% include "layouts/partials/dashboard_messages.html" %} {% endblock %} {% block content %}{% endblock %}
{% endblock %}