Merge pull request #274 from mouse-reeve/search-ui

Search ui
This commit is contained in:
Mouse Reeve 2020-11-02 09:06:53 -08:00 committed by GitHub
commit afa2aff30a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 58 additions and 22 deletions

View File

@ -50,7 +50,7 @@ def get_or_create_connector(remote_id):
books_url='https://%s/book' % identifier, books_url='https://%s/book' % identifier,
covers_url='https://%s/images/covers' % identifier, covers_url='https://%s/images/covers' % identifier,
search_url='https://%s/search?q=' % identifier, search_url='https://%s/search?q=' % identifier,
priority=3 priority=2
) )
return load_connector(connector_info) return load_connector(connector_info)

View File

@ -1,32 +1,66 @@
{% extends 'layout.html' %} {% extends 'layout.html' %}
{% block content %} {% block content %}
{% with book_results|first as local_results %}
<div class="block columns"> <div class="block columns">
<div class="column"> <div class="column">
<h2 class="title">Matching Books</h2> <h2 class="title">Matching Books</h2>
{% for result_set in book_results %} <section class="block">
{% if result_set.results %} {% if not local_results.results %}
<section> <p>No books found for "{{ query }}"</p>
{% if not result_set.connector.local %} {% else %}
<h3> <ul>
Results from <a href="{{ result_set.connector.base_url }}" target="_blank">{% if result_set.connector.name %}{{ result_set.connector.name }}{% else %}{{ result_set.connector.identifier }}{% endif %}</a> {% for result in local_results.results %}
</h3> <li class="pd-4">
{% endif %} <a href="{{ result.key }}">{% include 'snippets/search_result_text.html' with result=result link=True %}</a>
</li>
{% for result in result_set.results %}
<div>
<form action="/resolve_book" method="POST">
{% csrf_token %}
<input type="hidden" name="remote_id" value="{{ result.key }}">
<button type="submit">{{ result.title }} by {{ result.author }} ({{ result.year }})</button>
</form>
</div>
{% endfor %} {% endfor %}
</ul>
{% endif %}
</section> </section>
{% if book_results|slice:":1" and local_results.results %}
<div class="block">
<p>
Didn't find what you were looking for?
</p>
<input class="toggle-control" type="radio" name="more-results" id="fewer-results" checked>
<div class="toggle-content hidden">
<label class="button is-small" for="more-results">Show results from other catalogues</label>
</div>
</div>
{% endif %} {% endif %}
{% endfor %}
{% if not book_results %} <input class="toggle-control" type="radio" name="more-results" id="more-results" {% if not local_results.results %}checked{% endif %}>
<p>No books found for "{{ query }}"</p> <div class="toggle-content hidden">
{% endif %} {% for result_set in book_results|slice:"1:" %}
{% if result_set.results %}
<section class="block">
{% if not result_set.connector.local %}
<h3 class="title is-5">
Results from <a href="{{ result_set.connector.base_url }}" target="_blank">{% if result_set.connector.name %}{{ result_set.connector.name }}{% else %}{{ result_set.connector.identifier }}{% endif %}</a>
</h3>
{% endif %}
<ul>
{% for result in result_set.results %}
<li class="pb-4">
<form action="/resolve_book" method="POST">
{% csrf_token %}
<input type="hidden" name="remote_id" value="{{ result.key }}">
<div>{% include 'snippets/search_result_text.html' with result=result link=False %}</div>
<button type="submit" class="button is-small is-link is-light">Import book</button>
</form>
</li>
{% endfor %}
</ul>
</section>
{% endif %}
{% endfor %}
{% if local_results.results %}
<label class="button is-small" for="fewer-results">Hide results from other catalogues</label>
{% endif %}
</div>
</div> </div>
<div class="column"> <div class="column">
<h2 class="title">Matching Users</h2> <h2 class="title">Matching Users</h2>
@ -42,4 +76,5 @@
{% endfor %} {% endfor %}
</div> </div>
</div> </div>
{% endwith %}
{% endblock %} {% endblock %}

View File

@ -76,4 +76,5 @@ Connector.objects.create(
books_url='https://openlibrary.org', books_url='https://openlibrary.org',
covers_url='https://covers.openlibrary.org', covers_url='https://covers.openlibrary.org',
search_url='https://openlibrary.org/search?q=', search_url='https://openlibrary.org/search?q=',
priority=3,
) )