bookwyrm/bookwyrm/templates/shelf/shelf.html

241 lines
10 KiB
HTML
Raw Normal View History

2021-08-17 17:57:32 +00:00
{% extends 'layout.html' %}
2022-01-18 19:20:27 +00:00
{% load shelf_tags %}
2021-05-11 22:14:42 +00:00
{% load utilities %}
{% load humanize %}
{% load i18n %}
2020-11-10 21:39:37 +00:00
{% block title %}
{% include 'user/books_header.html' with shelf=shelf %}
{% endblock %}
{% block opengraph %}
{% include 'snippets/opengraph.html' with image=user.preview_image %}
2021-08-17 17:57:32 +00:00
{% endblock %}
{% block content %}
<header class="block">
2021-01-30 20:03:50 +00:00
<h1 class="title">
2021-09-28 23:04:08 +00:00
{% include 'user/books_header.html' %}
2021-01-30 20:03:50 +00:00
</h1>
</header>
{% if user.moved_to %}
<div class="container my-6">
<div class="notification is-info has-text-centered">
<p>
{% trans "You have have moved to" %}
<a href="{{user.moved_to}}">{% id_to_username user.moved_to %}</a>
</p>
<p> {% trans "You can undo this move to restore full functionality, but some followers may have already unfollowed this account." %}</p>
<form name="remove-alias" action="{% url 'prefs-unmove' %}" method="post">
{% csrf_token %}
<input type="hidden" name="remote_id" id="remote_id" value="{{user.moved_to}}">
<button type="submit" class="button is-small">{% trans "Undo move" %}</button>
</form>
</div>
</div>
{% else %}
2022-01-11 20:03:04 +00:00
<nav class="breadcrumb subtitle" aria-label="breadcrumbs">
<ul>
<li><a href="{% url 'user-feed' user|username %}">{% trans "User profile" %}</a></li>
<li class="is-active">
<a href="#" aria-current="page">
{% include "snippets/translated_shelf_name.html" with shelf=shelf %}
</a>
</li>
</ul>
</nav>
2021-10-20 20:31:18 +00:00
<nav class="block columns is-mobile scroll-x">
<div class="column pr-0">
<div class="tabs" id="tour-user-shelves">
2020-11-10 22:52:04 +00:00
<ul>
2021-10-20 20:31:18 +00:00
<li class="{% if shelf.identifier == 'all' %}is-active{% endif %}">
<a href="{% url 'user-shelves' user|username %}"{% if shelf.identifier == 'all' %} aria-current="page"{% endif %}>
{% trans "All books" %}
</a>
</li>
{% for shelf_tab in shelves %}
<li class="{% if shelf_tab.identifier == shelf.identifier %}is-active{% endif %}">
<a
href="{{ shelf_tab.local_path }}"
{% if shelf_tab.identifier == shelf.identifier %} aria-current="page"{% endif %}
>
2022-02-03 16:44:51 +00:00
{% include "snippets/translated_shelf_name.html" with shelf=shelf_tab %}
2021-10-20 20:31:18 +00:00
</a>
</li>
{% endfor %}
2020-11-10 22:52:04 +00:00
</ul>
</div>
</div>
2020-11-10 21:39:37 +00:00
{% if is_self %}
2021-10-20 20:31:18 +00:00
<div class="column is-narrow pl-0">
<div class="tabs">
<ul>
<li>
<a href="{% url 'import' %}" id="tour-import-books">
2021-10-20 20:31:18 +00:00
<span class="icon icon-list" aria-hidden="true"></span>
<span>{% trans "Import Books" %}</span>
</a>
</li>
</ul>
</div>
</div>
<div class="column is-narrow" id="tour-create-shelf">
{% trans "Create shelf" as button_text %}
{% include 'snippets/toggle/open_button.html' with text=button_text icon_with_text="plus" controls_text="create_shelf_form" focus="create_shelf_form_header" %}
2020-11-10 21:39:37 +00:00
</div>
{% endif %}
2021-10-20 20:31:18 +00:00
</nav>
2020-11-10 21:39:37 +00:00
2021-02-03 20:36:20 +00:00
<div class="block">
2021-09-28 23:04:08 +00:00
{% include 'shelf/create_shelf_form.html' with controls_text='create_shelf_form' %}
</div>
2021-09-29 00:20:15 +00:00
<div>
<div class="block columns is-mobile">
<div class="column">
<h2 class="title is-3">
{% if shelf.identifier == 'to-read' %}{% trans "To Read" %}
{% elif shelf.identifier == 'reading' %}{% trans "Currently Reading" %}
{% elif shelf.identifier == 'read' %}{% trans "Read" %}
{% elif shelf.identifier == 'stopped-reading' %}{% trans "Stopped Reading" %}
{% else %}{{ shelf.name }}{% endif %}
2021-09-29 00:20:15 +00:00
<span class="subtitle">
{% include 'snippets/privacy-icons.html' with item=shelf %}
</span>
{% with count=books.paginator.count %}
{% if count %}
2022-01-20 22:03:38 +00:00
<span class="help">
2021-09-29 00:20:15 +00:00
{% blocktrans trimmed count counter=count with formatted_count=count|intcomma %}
{{ formatted_count }} book
{% plural %}
{{ formatted_count }} books
{% endblocktrans %}
2021-09-29 00:20:15 +00:00
{% if books.has_other_pages %}
{% blocktrans trimmed with start=books.start_index end=books.end_index %}
(showing {{ start }}-{{ end }})
{% endblocktrans %}
{% endif %}
2022-01-20 22:03:38 +00:00
</span>
{% endif %}
2021-09-29 00:20:15 +00:00
{% endwith %}
</h2>
</div>
{% if is_self and shelf.id %}
<div class="column is-narrow">
<div class="is-flex">
{% trans "Edit shelf" as button_text %}
{% include 'snippets/toggle/open_button.html' with text=button_text icon_with_text="pencil" controls_text="edit_shelf_form" focus="edit_shelf_form_header" %}
2021-09-29 00:17:01 +00:00
2021-09-29 00:20:15 +00:00
{% if shelf.deletable %}
<form class="ml-1" name="delete-shelf" action="/delete-shelf/{{ shelf.id }}" method="post">
{% csrf_token %}
<input type="hidden" name="user" value="{{ request.user.id }}">
<button class="button is-danger is-light" type="submit">
{% trans "Delete shelf" %}
</button>
</form>
{% endif %}
</div>
2021-09-29 00:17:01 +00:00
</div>
2021-09-29 00:20:15 +00:00
{% endif %}
2020-11-10 21:39:37 +00:00
</div>
2021-09-29 00:20:15 +00:00
{% if shelf.description %}
<p>{{ shelf.description }}</p>
2020-11-10 21:39:37 +00:00
{% endif %}
</div>
2022-11-26 23:12:14 +00:00
<div class="block mt-2">
2021-09-28 23:04:08 +00:00
{% include 'shelf/edit_shelf_form.html' with controls_text="edit_shelf_form" %}
2020-11-11 04:11:21 +00:00
</div>
2020-09-29 21:11:55 +00:00
<div class="block">
2020-02-22 00:03:05 +00:00
<div>
{% if books|length > 0 %}
<table class="table is-striped is-fullwidth is-mobile">
<thead>
<tr>
<th>{% trans "Cover"%}</th>
<th>{% trans "Title" as text %}{% include 'snippets/table-sort-header.html' with field="sort_title" sort=sort text=text %}</th>
<th>{% trans "Author" as text %}{% include 'snippets/table-sort-header.html' with field="author" sort=sort text=text %}</th>
{% if request.user.is_authenticated %}
{% if is_self %}
<th>{% trans "Shelved" as text %}{% include 'snippets/table-sort-header.html' with field="shelved_date" sort=sort text=text %}</th>
<th>{% trans "Started" as text %}{% include 'snippets/table-sort-header.html' with field="start_date" sort=sort text=text %}</th>
<th>{% if shelf.identifier == 'read' %}{% trans "Finished" as text %}{% else %}{% trans "Until" as text %}{% endif %}{% include 'snippets/table-sort-header.html' with field="finish_date" sort=sort text=text %}</th>
{% endif %}
<th>{% trans "Rating" as text %}{% include 'snippets/table-sort-header.html' with field="rating" sort=sort text=text %}</th>
2021-05-11 20:54:38 +00:00
{% endif %}
{% if shelf.user == request.user %}
<th aria-hidden="true"></th>
{% endif %}
</tr>
</thead>
<tbody>
{% for book in books %}
{% spaceless %}
<tr class="book-preview">
<td class="book-preview-top-row">
2021-05-24 14:18:05 +00:00
<a href="{{ book.local_path }}">{% include 'snippets/book_cover.html' with book=book cover_class='is-w-s-tablet is-h-s' size='small' %}</a>
</td>
<td data-title="{% trans "Title" %}">
<a href="{{ book.local_path }}">{{ book.title }}</a>
</td>
<td data-title="{% trans "Author" %}">
{% include 'snippets/authors.html' %}
</td>
{% if request.user.is_authenticated %}
{% if is_self %}
<td data-title="{% trans "Shelved" %}">
{{ book.shelved_date|naturalday }}
</td>
<td data-title="{% trans "Started" %}">
{{ book.start_date|naturalday|default_if_none:""}}
</td>
<td data-title="{% if shelf.identifier == 'read' %}{% trans "Finished" as text %}{% else %}{% trans "Until" as text %}{% endif %}">
{{ book.finish_date|naturalday|default_if_none:""}}
</td>
{% endif %}
<td data-title="{% trans "Rating" %}">
2021-05-11 20:54:38 +00:00
{% include 'snippets/stars.html' with rating=book.rating %}
</td>
{% endif %}
{% if shelf.user == request.user %}
<td class="book-preview-top-row has-text-right">
{% with right=True %}
{% if not shelf.id %}
{% active_shelf book as current %}
{% include 'snippets/shelf_selector.html' with current=current.shelf class="is-small" %}
{% else %}
{% include 'snippets/shelf_selector.html' with current=shelf class="is-small" %}
{% endif %}
{% endwith %}
</td>
{% endif %}
</tr>
{% endspaceless %}
{% endfor %}
</tbody>
</table>
{% else %}
2021-09-28 23:04:08 +00:00
<p><em>{% trans "This shelf is empty." %}</em></p>
{% endif %}
2020-02-22 00:03:05 +00:00
</div>
</div>
<div>
{% include 'snippets/pagination.html' with page=books path=request.path %}
</div>
{% endif %}
2020-02-22 00:03:05 +00:00
{% endblock %}
2022-06-18 07:17:22 +00:00
{% block scripts %}
2022-07-09 00:23:09 +00:00
{% if request.user.show_guided_tour %}
2022-06-18 07:17:22 +00:00
{% include 'guided_tour/user_books.html' %}
{% endif %}
{% endblock %}