mirror of
https://github.com/janeczku/calibre-web.git
synced 2024-11-26 08:51:05 +02:00
675e8dd5cd
With them shown in a modal, you don't lose your place in the pagination. If the request comes via Ajax, the minimal layout is used. If via a normal request, the full layout is used. That lets you open the details in a new tab and have the full experience, but if you're clicking through the results of a search, you can view many without losing your place.
67 lines
2.6 KiB
HTML
67 lines
2.6 KiB
HTML
{% extends "layout.html" %}
|
|
{% block body %}
|
|
<div class="discover">
|
|
<h2>{{title}}</h2>
|
|
{% if g.user.is_authenticated %}
|
|
{% if (g.user.role_edit_shelfs() and shelf.is_public ) or not shelf.is_public %}
|
|
<div data-toggle="modal" data-target="#DeleteShelfDialog" class="btn btn-danger">{{ _('Delete this Shelf') }} </div>
|
|
<a href="{{ url_for('edit_shelf', shelf_id=shelf.id) }}" class="btn btn-primary">{{ _('Edit Shelf name') }} </a>
|
|
<a href="{{ url_for('order_shelf', shelf_id=shelf.id) }}" class="btn btn-primary">{{ _('Change order') }} </a>
|
|
{% endif %}
|
|
{% endif %}
|
|
<div class="row">
|
|
|
|
{% for entry in entries %}
|
|
<div class="col-sm-3 col-lg-2 col-xs-6 book">
|
|
<div class="cover">
|
|
{% if entry.has_cover is defined %}
|
|
<a href="{{ url_for('show_book', book_id=entry.id) }}" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">
|
|
<img src="{{ url_for('get_cover', cover_path=entry.path.replace('\\','/')) }}" />
|
|
</a>
|
|
{% endif %}
|
|
</div>
|
|
<div class="meta">
|
|
<p class="title">{{entry.title|shortentitle}}</p>
|
|
<p class="author">
|
|
{% for author in entry.authors %}
|
|
<a href="{{url_for('author', book_id=author.id) }}">{{author.name}}</a>
|
|
{% if not loop.last %}
|
|
&
|
|
{% endif %}
|
|
{% endfor %}
|
|
</p>
|
|
{% if entry.ratings.__len__() > 0 %}
|
|
<div class="rating">
|
|
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
|
<span class="glyphicon glyphicon-star good"></span>
|
|
{% if loop.last and loop.index < 5 %}
|
|
{% for numer in range(5 - loop.index) %}
|
|
<span class="glyphicon glyphicon-star"></span>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
<div id="DeleteShelfDialog" class="modal fade" role="dialog">
|
|
<div class="modal-dialog modal-sm">
|
|
<div class="modal-content">
|
|
<div class="modal-header bg-danger text-center">
|
|
<span>{{_('Do you really want to delete the shelf?')}}</span>
|
|
</div>
|
|
<div class="modal-body text-center">
|
|
<span>{{_('Shelf will be lost for everybody and forever!')}}</span>
|
|
<p></p>
|
|
<a href="{{ url_for('delete_shelf', shelf_id=shelf.id) }}" class="btn btn-danger">{{_('Ok')}}</a>
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">{{_('Back')}}</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock %}
|