{# Scrollable <ul> shared by in-grid applet partials (My Buds / My Notes /  #}
{# My Posts / My Scrolls / My Games) AND by the dedicated billposts /        #}
{# billbuds pages that wrap it in _applet-list-shell.html.                   #}
{#                                                                           #}
{# Parameters:                                                               #}
{#   list_items         — iterable rendered into the list                    #}
{#   list_item_template — partial rendering each <li>; receives `item`       #}
{#   list_empty         — fallback string for the empty-state row            #}
{#   list_id            — optional `id=` for the <ul> (e.g. "id_buds_list")  #}
<ul {% if list_id %}id="{{ list_id }}"{% endif %} class="applet-list">
    {% for item in list_items %}
        {% include list_item_template %}
    {% empty %}
        <li class="applet-list-entry applet-list-entry--empty">{{ list_empty|default:"Nothing here yet." }}</li>
    {% endfor %}
    <li class="applet-list-buffer" aria-hidden="true"></li>
</ul>
