{% comment %} Detail Page Skeleton Component ============================== Animated skeleton placeholder for detail pages while content loads. Purpose: Displays pulsing skeleton elements for detail page layouts including header, image, and content sections. Usage Examples: Basic detail skeleton: {% include 'components/skeletons/detail_skeleton.html' %} With image placeholder: {% include 'components/skeletons/detail_skeleton.html' with show_image=True %} Custom content sections: {% include 'components/skeletons/detail_skeleton.html' with sections=4 %} Parameters: Optional: - show_image: Show large image placeholder (default: True) - show_badge: Show status badge placeholder (default: True) - show_meta: Show metadata row (default: True) - show_actions: Show action buttons placeholder (default: True) - sections: Number of content sections (default: 3) - paragraphs_per_section: Lines per section (default: 4) - animate: Enable pulse animation (default: True) Dependencies: - Tailwind CSS for styling and animation Accessibility: - Uses role="status" and aria-busy="true" for screen readers {% endcomment %} {% with show_image=show_image|default:True show_badge=show_badge|default:True show_meta=show_meta|default:True show_actions=show_actions|default:True sections=sections|default:3 paragraphs_per_section=paragraphs_per_section|default:4 animate=animate|default:True %}
{# Header Section #}
{# Breadcrumb placeholder #}
{# Title and badge row #}
{# Title #}
{# Subtitle/location #}
{% if show_badge %} {# Status badge #}
{% endif %}
{# Meta row (date, author, etc.) #} {% if show_meta %}
{% endif %} {# Action buttons #} {% if show_actions %}
{% endif %}
{# Image Section #} {% if show_image %}
{% endif %} {# Content Sections #}
{% for s in "1234567890"|slice:sections %}
{# Section heading #}
{# Paragraph lines #} {% for p in "12345678"|slice:paragraphs_per_section %}
{% endfor %}
{% endfor %}
Loading content, please wait...
{% endwith %}