templates/_tree_folder_feeds.html
Rama main · réplica de lectura del repositorio original.
{# One folder's sidebar feed rows (<li> items only — the <ul> shell lives in
index.html so toggle targeting by id keeps working). Included inline for the
selected folder (active highlight + auto-expand must work on full load) and
served by /tree/folder-feeds/{folder_id} for every other folder, fetched on
first expand — inlining all folders' rows costs megabytes at thousands of
feeds. Context: row, folder_feeds, selected_feed_url, push_feed_urls,
_tree_sq, _tree_rfq. #}
{% for feed in folder_feeds %}
<li class="tree-feed-item" data-unread-count="{{ feed.unread_count }}">
<a
class="feed-link {% if selected_feed_url == feed.url %}active{% endif %}"
href="/?folder_id={{ row.id }}&list_feed_url={{ feed.url | urlencode }}{{ _tree_sq }}{{ _tree_rfq }}"
data-feed-url="{{ feed.url }}"
data-folder-id="{{ row.id }}"
title="{{ feed.url }}"
>
<span class="feed-label">
{% if feed.icon_url %}
<img class="feed-favicon" src="{{ feed.icon_url }}" alt="" loading="lazy" onerror="this.style.display='none'" />
{% endif %}
<span>{{ feed.title }}</span>
{% if feed.url in push_feed_urls %}<span class="feed-push-badge" title="Instant updates (WebSub)">⚡</span>{% endif %}
</span>
{% if feed.has_error %}<span class="feed-error-badge" title="Fetch errors — right-click → Properties for details">⚠</span>{% endif %}
{% if feed.unread_count %}<span class="count">{{ feed.unread_count }}</span>{% endif %}
</a>
</li>
{% endfor %}