{% extends "layout.html" %}
{% block content %}
<style>
li.feed-commands {display: none; text-align: right;}
li.feed-commands > span > a {margin-right: 10px;}
li.feed-menu:hover + li.feed-commands, li.feed-commands:hover {display: block;}
</style>
<div class="container-fluid">
{% if feeds|count == 0 %}
<div class="row justify-content-center">
<div class="col-md-6">
<h1>{{ _("You don't have any feeds.") }}</h1>
<h1><a href="{{ url_for('feed.form') }}">{{ _('Add some') }}</a>, {{ _('or') }} <a href="{{ url_for('user.management') }}">{{ _('upload an OPML file.') }}</a></h1>
</div>
</div>
{% else %}
<div class="row">
<div id="sidebar" class="col-2 d-none d-lg-block" style="min-height: 650px;">
<a class="nav-link" href="{{ gen_url(feed=0) }}">
{% if not feed_id %}<b>{% endif %}{{ _('All feeds') }}{% if not feed_id %}</b>{% endif %}
<span id="total-unread" class="badge badge-light pull-right"> {% if nb_unread > 1000 %}>{% endif %} {{ articles.__len__() }}</span>
</a>
{% for catid, nbunread in unread_by_cat|dictsort(by='value')|reverse if catid %}
<ul class="nav flex-column">
<div class="accordion" id="accordion-{{ catid }}">
<div class="bg-primary clearfix text-sm-left font-weight-bold">
<button class="btn btn-primary btn-sm pull-right" type="button" data-toggle="collapse" data-target="#collapse-{{ catid }}" aria-expanded="true" aria-controls="collapse-{{ catid }}">
<i class="fa fa-chevron-down" aria-hidden="true"></i>
</button>
<span class="align-middle"> {{ categories[catid].name }}</<span>
</div>
<div class="collapse show" id="collapse-{{ catid }}" data-parent="#accordion-{{ catid }}">
{% for feed in categories[catid].feeds if feed.id in unread.keys() %}
<li class="nav-item feed-menu {% if in_error.get(feed.id, 0) > 0 %}d-none{% endif %}" data-feed="{{ feed.id }}"><a class="nav-link" href="{{ gen_url(feed=feed.id) }}">
{% if feed_id == feed.id %}<b>{% endif %}
{% if in_error.get(feed.id, 0) > 0 %}
<span style="background-color: {{ "red" if in_error[feed.id] > 2 else "orange" }} ;" class="badge bg-danger pull-right" title="Some errors occured while trying to retrieve that feed.">{{ in_error[fid] }}</span>
{% endif %}
<span id="unread-{{ feed.id }}" class="badge badge-light pull-right">{{ unread[feed.id] }}</span>
<img src="{{ url_for('icon.icon', url=feeds[feed.id].icon_url) }}" width="16px">
{{ feeds[feed.id].title | safe | truncate(25, True) }}
{% if feed_id == feed.id %}</b>{% endif %}
</a></li>
<li class="nav-item feed-commands {% if in_error.get(fid, 0) > 0 %}d-none{% endif %}" data-feed="{{ feed.id }}"><span class="nav-link">
<a href="/feed/{{ feed.id }}"><i class="fa fa-info" aria-hidden="true" title="{{ _('Details') }}"></i></a>
<a href="{{ url_for('feed.form', feed_id=feed.id) }}"><i class="fa fa-pencil-square-o" aria-hidden="true" title="{{ _('Edit this feed') }}"></i></a>
<a href="{{ url_for('article.mark_as', new_value='unread', feed_id=feed.id) }}"><i class="fa fa-square-o" aria-hidden="true" title="{{ _('Mark this feed as unread') }}"></i></a>
<a href="{{ url_for('article.mark_as', new_value='read', feed_id=feed.id) }}"><i class="fa fa-check-square-o" aria-hidden="true" title="{{ _('Mark this feed as read') }}"></i></a>
<a href="#"><i class="fa fa-times delete-feed" aria-hidden="true" title="{{ _('Delete this feed') }}"></i></a>
</span></li>
{% endfor %}
</div>
</div>
</ul>
{% endfor %}
<ul class="nav flex-column">
<div class="bg-primary clearfix text-sm-left font-weight-bold">
<button class="btn btn-primary btn-sm pull-right" type="button" data-toggle="collapse" data-target="#collapse-noCategory" aria-expanded="true" aria-controls="collapse-noCategory">
<i class="fa fa-chevron-down" aria-hidden="true"></i>
</button>
<span class="align-middle"> No category</<span>
</div>
<div class="collapse show" id="collapse-noCategory">
{% for fid, nbunread in unread|dictsort(by='value')|reverse if not feeds[fid].category_id %}
<li class="nav-item feed-menu {% if in_error.get(fid, 0) > 0 %}d-none{% endif %}" data-feed="{{ fid }}"><a class="nav-link" href="{{ gen_url(feed=fid) }}">
{% if feed_id == fid %}<b>{% endif %}
{% if in_error.get(fid, 0) > 0 %}
<span style="background-color: {{ "red" if in_error[fid] > 2 else "orange" }} ;" class="badge bg-warning text-dark pull-right" title="Some errors occured while trying to retrieve that feed.">{{ in_error[fid] }}</span>
{% endif %}
<span id="unread-{{ fid }}" class="badge badge-light pull-right">{{ nbunread }}</span>
<img src="{{ url_for('icon.icon', url=feeds[fid].icon_url) }}" width="16px">
{{ feeds[fid].title | safe | truncate(25, True) }}
{% if feed_id == fid %}</b>{% endif %}
</a></li>
<li class="nav-item feed-commands {% if in_error.get(fid, 0) > 0 %}d-none{% endif %}" data-feed="{{ fid }}"><span class="nav-link">
<a href="/feed/{{ fid }}"><i class="fa fa-info" aria-hidden="true" title="{{ _('Details') }}"></i></a>
<a href="{{ url_for('feed.form', feed_id=fid) }}"><i class="fa fa-pencil-square-o" aria-hidden="true" title="{{ _('Edit this feed') }}"></i></a>
<a href="{{ url_for('article.mark_as', new_value='unread', feed_id=fid) }}"><i class="fa fa-square-o" aria-hidden="true" title="{{ _('Mark this feed as unread') }}"></i></a>
<a href="{{ url_for('article.mark_as', new_value='read', feed_id=fid) }}"><i class="fa fa-check-square-o" aria-hidden="true" title="{{ _('Mark this feed as read') }}"></i></a>
<a href="#"><i class="fa fa-times delete-feed" aria-hidden="true" title="{{ _('Delete this feed') }}"></i></a>
</span></li>
{% endfor %}
</div>
</ul>
<hr />
<ul class="nav flex-column">
<div class="bg-primary clearfix text-sm-left font-weight-bold">
<button class="btn btn-primary btn-sm pull-right" type="button" data-toggle="collapse" data-target="#collapse-unread" aria-expanded="false" aria-controls="collapse-unread">
<i class="fa fa-chevron-down" aria-hidden="true"></i>
</button>
<span class="align-middle"> Nothing to read</<span>
</div>
<div class="collapse" id="collapse-unread">
{% for fid, feed in feeds.items() if not fid in unread %}
<li class="nav-item feed-menu {% if in_error.get(fid, 0) > 0 %}d-none{% endif %}" data-feed="{{ fid }}"><a class="nav-link" href="{{ gen_url(feed=fid) }}">
{% if in_error.get(fid, 0) > 0 %}
<span style="background-color: {{ "red" if in_error[fid] > 2 else "orange" }} ;" class="badge bg-warning text-dark pull-right" title="Some errors occured while trying to retrieve that feed.">{{ in_error[fid] }}</span>
{% endif %}
{% if feed_id == fid %}<b>{% endif %}
<img src="{{ url_for('icon.icon', url=feeds[fid].icon_url) }}" width="16px">
{{ feed.title | safe | truncate(25, True) }}
{% if feed_id == fid %}</b>{% endif %}
</a></li>
<li class="nav-item feed-commands {% if in_error.get(fid, 0) > 0 %}d-none{% endif %}" data-feed="{{ fid }}"><span class="nav-link">
<a href="/feed/{{ fid }}"><i class="fa fa-info" aria-hidden="true" title="{{ _('Details') }}"></i></a>
<a href="{{ url_for('feed.form', feed_id=fid) }}"><i class="fa fa-pencil-square-o" aria-hidden="true" title="{{ _('Edit this feed') }}"></i></a>
<a href="{{ url_for('article.mark_as', new_value='unread', feed_id=fid) }}"><i class="fa fa-square-o" aria-hidden="true" title="{{ _('Mark this feed as unread') }}"></i></a>
<a href="{{ url_for('article.mark_as', new_value='read', feed_id=fid) }}"><i class="fa fa-check-square-o" aria-hidden="true" title="{{ _('Mark this feed as read') }}"></i></a>
<a href="#"><i class="fa fa-times delete-feed" aria-hidden="true" title="{{ _('Delete this feed') }}"></i></a>
</span></li>
{% endfor %}
</div>
</ul>
</div>
<div class="col-md-12 col-lg-10">
<div id="filters" data-filter="{{ filter_ }}">
<ul class="nav nav-tabs ml-auto">
<li id="tab-all" class="nav-item">
<a class="nav-link {% if filter_ == 'all' %}active{% endif %}" href="{{ gen_url(filter_='all') }}">{{ _('All') }}</a>
</li>
<li id="tab-read" class="nav-item">
<a class="nav-link {% if filter_ == 'read' %}active{% endif %}" href="{{ gen_url(filter_='read') }}">{{ _('Read') }}</a>
</li>
<li id="tab-unread" class="nav-item">
<a class="nav-link {% if filter_ == 'unread' %}active{% endif %}" href="{{ gen_url(filter_='unread') }}">{{ _('Unread') }}</a>
</li>
<li id="tab-unread" class="px-5 nav-item">
<a class="nav-link {% if liked %}active{% endif %}" href="{{ gen_url(liked=not liked) }}"><i class="fa fa-heart" aria-hidden="true"></i> {{ _('Liked') }}</a>
</li>
<li id="tab-nbdisplay" class="px-5 nav-item d-none d-lg-block">
<div id="nbdisplay">
<a href="{{ gen_url(limit=10) }}" class="badge {% if limit == 10 %}bg-primary{% else %}bg-secondary{% endif %}">{{ _(10) }}</a>
<a href="{{ gen_url(limit=100) }}" class="badge {% if limit == 100 %}bg-primary{% else %}bg-secondary{% endif %}">{{ _(100) }}</a>
<a href="{{ gen_url(limit=1000) }}" class="badge {% if limit == 1000 %}bg-primary{% else %}bg-secondary{% endif %}">{{ _(1000) }}</a>
<a href="{{ gen_url(limit='all') }}" class="badge {% if limit == 'all' %}bg-primary{% else %}bg-secondary{% endif %}">{{ _('All') }}</a>
</div>
</li>
</ul>
</div>
{% if articles | count != 0%}
<div class="table-responsive">
<table class="table table-striped table-sm">
<thead>
<tr>
<th scope="col">
{% if feed_id %}
<a href="{{ url_for('article.mark_as', new_value='read', feed_id=feed_id) }}"><i class="fa fa-check-square-o" aria-hidden="true" title="{{ _('Mark this feed as read') }}"></i></a>
{% else %}
<a href="{{ url_for('article.mark_as', new_value='read') }}"><i class="fa fa-check-square-o" aria-hidden="true" title="{{ _('Mark all as read') }}"></i></a>
{% endif%}
</th>
{% if not feed_id %}
<th class="d-none d-md-block">{{ _('Feed') }}</th>
{% endif %}
<th>{{ _('Article') }}</th>
<th class="d-none d-lg-block">{{ _('Date') }}</th>
</tr>
</thead>
<tbody>
{% for article in articles %}
<tr data-article="{{ article.id }}" data-feed="{{ article.feed_id }}">
<th scope="row">
{% if article.like %}
<a href="#"><i class="fa fa-heart like" aria-hidden="true" title="{{ _('One of your favorites') }}"></i></a>
{% else %}
<a href="#"><i class="fa fa-heart-o like" aria-hidden="true" title="{{ _('Click if you like this article') }}"></i></a>
{% endif %}
{% if article.readed %}
<a href="#"><i class="fa fa-square-o readed" aria-hidden="true" title="{{ _('Mark this article as unread') }}"></i></a>
{% else %}
<a href="#"><i class="fa fa-check-square-o readed" aria-hidden="true" title="{{ _('Mark this article as read') }}"></i></a>
{% endif %}
</th>
{% if not feed_id %}
<td class="d-none d-md-block">
<img src="{{ url_for('icon.icon', url=feeds[article.source.id].icon_url) }}" width="16px">
<a href="/article/redirect/{{ article.id}}" target="_blank">{{ article.source.title | safe }}</a>
</td>
{% endif %}
<td {%if filter_ == 'all' and article.readed == False %}style='font-weight:bold'{% endif %}>
<a href="/article/{{ article.id }}" title="{{ article.title }}">{{ article.title | truncate(100, False, '...') }}</a>
</td>
<td class="date d-none d-lg-block">{{ article.date | datetime(format='short') }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% endif %}
</div>
</div>
{% endif %}
</div>
{% endblock %}