Files
indiekit-endpoint-microsub/views/reader.njk
Ricardo 4819c229cd feat: restore full microsub implementation with reader UI
Restores complete implementation from feat/endpoint-microsub branch:
- Reader UI with views (reader.njk, channel.njk, feeds.njk, etc.)
- Feed polling, parsing, and normalization
- WebSub subscriber
- SSE realtime updates
- Redis caching
- Search indexing
- Media proxy
- Webmention processing
2026-02-06 20:20:25 +01:00

42 lines
1.4 KiB
Plaintext

{% extends "layouts/reader.njk" %}
{% block reader %}
<div class="reader">
{% if channels.length > 0 %}
<div class="reader__channels">
{% for channel in channels %}
<a href="{{ baseUrl }}/channels/{{ channel.uid }}" class="reader__channel{% if channel.uid === currentChannel %} reader__channel--active{% endif %}">
<span class="reader__channel-name">
{% if channel.uid === "notifications" %}
{{ icon("mention") }}
{% endif %}
{{ channel.name }}
</span>
{% if channel.unread %}
<span class="reader__channel-badge{% if channel.unread === true %} reader__channel-badge--dot{% endif %}">
{% if channel.unread !== true %}{{ channel.unread }}{% endif %}
</span>
{% endif %}
</a>
{% endfor %}
</div>
<div class="reader__actions">
<a href="{{ baseUrl }}/search" class="button button--primary">
{{ icon("syndicate") }} {{ __("microsub.feeds.follow") }}
</a>
<a href="{{ baseUrl }}/channels/new" class="button button--secondary">
{{ icon("createPost") }} {{ __("microsub.channels.new") }}
</a>
</div>
{% else %}
<div class="reader__empty">
{{ icon("syndicate") }}
<p>{{ __("microsub.channels.empty") }}</p>
<a href="{{ baseUrl }}/channels/new" class="button button--primary">
{{ __("microsub.channels.new") }}
</a>
</div>
{% endif %}
</div>
{% endblock %}