2023-05-22 08:32:06 +00:00
|
|
|
<!-- prettier-ignore -->
|
|
|
|
{% extends 'base.html' %}
|
|
|
|
{% set selected_tab='my_contributions' %}
|
|
|
|
{% block content %}
|
|
|
|
|
|
|
|
<div
|
|
|
|
class="md:mr-64 relative overflow-x-auto shadow-md sm:rounded-lg mt-1 h-box w-box flex">
|
|
|
|
{% if not current_user.is_authenticated %}
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
<div class="mx-auto my-auto h-full w-full p-2">
|
|
|
|
<button type="button" id="connectWalletBtn" class="w-full h-full text-black dark:text-white focus:ring-4 focus:outline-none focus:ring-blue-100 font-medium rounded-lg text-sm px-4 py-2.5 justify-center text-center inline-flex items-center border border-gray-200 dark:border-gray-700"><div class="my-auto"></div> Connect you wallet to see your contributions! </div></button></div>
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
{% endif %}
|
|
|
|
{% if current_user.is_authenticated and current_user.stars|length== 0%}
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
<div class="mx-auto my-auto h-full w-full p-2">
|
|
|
|
<button type="button" data-modal-target="add-book-modal" data-modal-toggle="add-book-modal" class="w-full h-full text-black dark:text-white focus:ring-4 focus:outline-none focus:ring-blue-100 font-medium rounded-lg text-sm px-4 py-2.5 justify-center text-center inline-flex items-center border border-gray-200 dark:border-gray-700"><div class="my-auto"></div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"> <path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15" /> </svg> You don't have favorite books start to create your own! </div></button></div>
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
{% endif %}
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
<div class="flex flex-col w-4/5">
|
|
|
|
<h1 class=" text-lg font-extrabold dark:text-white ml-4">My contributions</h1>
|
2023-05-22 11:17:52 +00:00
|
|
|
{% for interpretation in interpretations %}
|
2023-05-22 08:32:06 +00:00
|
|
|
<!-- prettier-ignore -->
|
|
|
|
<dl class="bg-white dark:bg-gray-900 max-w-full p-3 text-gray-900 divide-y divide-gray-200 dark:text-white dark:divide-gray-700 m-3 border-2 border-gray-200 border-solid rounded-lg dark:border-gray-700">
|
2023-05-22 11:17:52 +00:00
|
|
|
<div class="flex flex-row pb-3 p-3 w-2/3 md:w-10/12">
|
|
|
|
<div class="vote-block flex flex-col m-5 justify-center items-center">
|
|
|
|
{% if interpretation.user_id != current_user.id %}
|
|
|
|
<div class="vote-button cursor-pointer" data-vote-for="interpretation" data-entity-id="{{ interpretation.id }}" data-positive="true">
|
|
|
|
<svg class="w-6 h-6 select-none
|
|
|
|
{% if interpretation.current_user_vote %}
|
|
|
|
stroke-green-500
|
|
|
|
{% endif %}
|
|
|
|
" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" > <path stroke-linecap="round" stroke-linejoin="round" d="M4.5 10.5L12 3m0 0l7.5 7.5M12 3v18" /> </svg>
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
2023-05-22 08:32:06 +00:00
|
|
|
|
2023-05-22 11:17:52 +00:00
|
|
|
<span
|
|
|
|
class="vote-count text-3xl select-none
|
|
|
|
{% if interpretation.vote_count < 0 %}
|
|
|
|
text-red-500
|
|
|
|
{% elif interpretation.vote_count > 0 %}
|
|
|
|
text-green-500
|
|
|
|
{% endif %}
|
|
|
|
"
|
|
|
|
>
|
|
|
|
{{ interpretation.vote_count }}
|
|
|
|
</span>
|
2023-05-22 08:32:06 +00:00
|
|
|
|
2023-05-22 11:17:52 +00:00
|
|
|
{% if interpretation.user_id != current_user.id %}
|
|
|
|
<div class="vote-button cursor-pointer" data-vote-for="interpretation" data-entity-id="{{ interpretation.id }}" data-positive="false">
|
|
|
|
<svg class="w-6 h-6 select-none
|
|
|
|
{% if interpretation.current_user_vote == False %}
|
|
|
|
stroke-red-500
|
|
|
|
{% endif %}
|
|
|
|
" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" d="M19.5 13.5L12 21m0 0l-7.5-7.5M12 21V3" /> </svg>
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
<dt class="flex w-full mb-1 text-gray-500 md:text-lg dark:text-gray-400 flex-col">
|
|
|
|
<div class="ql-snow truncate md:max-w-xl">
|
|
|
|
{% set local_breadcrumbs = interpretation.section.breadcrumbs_path %}
|
|
|
|
{% include 'book/local_breadcrumbs_navigation.html'%}
|
|
|
|
<p>{{ interpretation.section.label }}</p>
|
|
|
|
</a>
|
|
|
|
<div class="dark:text-white h-30 ql-editor-readonly">
|
|
|
|
<p>{{ interpretation.text|safe }}</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="flex mt-auto align-center justify-between md:w-full">
|
|
|
|
<div>
|
|
|
|
<span class="hidden md:inline-block">Interpretation by</span>
|
|
|
|
<a href="{{url_for('user.profile',user_id=interpretation.user.id)}}" class=" text-blue-500 {% if interpretation.user.is_deleted %}line-through{% endif %}">{{interpretation.user.username}}</a> on {{interpretation.created_at.strftime('%B %d, %Y')}}
|
|
|
|
</div>
|
|
|
|
<div class="flex ml-auto justify-between w-24">
|
2023-05-22 13:38:58 +00:00
|
|
|
<button data-tooltip-target="tooltip-click" data-tooltip-trigger="click" id="copyLinkButton" type="button" class="hover:text-white focus:ring-2 rounded-full font-medium text-sm p-2.5 text-center inline-flex items-center dark:hover:text-white" data-link="{{ build_qa_url(interpretation) }}"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"> <path stroke-linecap="round" stroke-linejoin="round" d="M9 8.25H7.5a2.25 2.25 0 00-2.25 2.25v9a2.25 2.25 0 002.25 2.25h9a2.25 2.25 0 002.25-2.25v-9a2.25 2.25 0 00-2.25-2.25H15m0-3l-3-3m0 0l-3 3m3-3V15" /> </svg> </button>
|
|
|
|
<div id="tooltip-click" role="tooltip" class="absolute z-10 invisible inline-block px-3 py-2 text-sm font-medium text-white bg-gray-900 rounded-lg shadow-sm opacity-0 tooltip dark:bg-gray-700"> Link copied! <div class="tooltip-arrow" data-popper-arrow></div> </div>
|
2023-05-22 11:17:52 +00:00
|
|
|
<div class="space-x-0.5 flex items-center">
|
|
|
|
<a class="!cursor-pointer text-no-underline flex items-center" href="{{ build_qa_url(interpretation) }}" >
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"> <path stroke-linecap="round" stroke-linejoin="round" d="M20.25 8.511c.884.284 1.5 1.128 1.5 2.097v4.286c0 1.136-.847 2.1-1.98 2.193-.34.027-.68.052-1.02.072v3.091l-3-3c-1.354 0-2.694-.055-4.02-.163a2.115 2.115 0 01-.825-.242m9.345-8.334a2.126 2.126 0 00-.476-.095 48.64 48.64 0 00-8.048 0c-1.131.094-1.976 1.057-1.976 2.192v4.286c0 .837.46 1.58 1.155 1.951m9.345-8.334V6.637c0-1.621-1.152-3.026-2.76-3.235A48.455 48.455 0 0011.25 3c-2.115 0-4.198.137-6.24.402-1.608.209-2.76 1.614-2.76 3.235v6.226c0 1.621 1.152 3.026 2.76 3.235.577.075 1.157.14 1.74.194V21l4.155-4.155" /> </svg>
|
|
|
|
<p>{{interpretation.active_comments | length}}</p>
|
|
|
|
</a>
|
|
|
|
</div>
|
2023-05-22 08:32:06 +00:00
|
|
|
</div>
|
2023-05-22 11:17:52 +00:00
|
|
|
</div>
|
|
|
|
</dt>
|
|
|
|
</div>
|
|
|
|
</dl>
|
2023-05-22 08:32:06 +00:00
|
|
|
{% endfor %}
|
2023-05-22 11:17:52 +00:00
|
|
|
{% if current_user.is_authenticated and page.pages > 1 %}
|
|
|
|
<div class="container content-center mt-3 flex bg-white dark:bg-gray-800">
|
|
|
|
<nav aria-label="Page navigation example" class="mx-auto">
|
|
|
|
<ul class="inline-flex items-center -space-x-px">
|
|
|
|
<li>
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
<a href="{{ url_for('book.my_contributions') }}?page=1&q={{page.query}}" class="block px-3 py-2 ml-0 leading-tight text-gray-500 bg-white border border-gray-300 rounded-l-lg hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white">
|
|
|
|
<span class="sr-only">First</span>
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"> <path fill-rule="evenodd" d="M15.79 14.77a.75.75 0 01-1.06.02l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 111.04 1.08L11.832 10l3.938 3.71a.75.75 0 01.02 1.06zm-6 0a.75.75 0 01-1.06.02l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 111.04 1.08L5.832 10l3.938 3.71a.75.75 0 01.02 1.06z" clip-rule="evenodd" /> </svg>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
<a href="{{ url_for('book.my_contributions') }}?page={{page.page-1 if page.page > 1 else 1}}&q={{page.query}}" class="block px-3 py-2 ml-0 leading-tight text-gray-500 bg-white border border-gray-300 rounded-l-lg hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white">
|
|
|
|
<span class="sr-only">Previous</span>
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"> <path fill-rule="evenodd" d="M12.79 5.23a.75.75 0 01-.02 1.06L8.832 10l3.938 3.71a.75.75 0 11-1.04 1.08l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 011.06.02z" clip-rule="evenodd" /> </svg>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
{% for p in page.pages_for_links %}
|
|
|
|
<li>
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
{% if p == page.page %}
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
<a href="{{ url_for('book.my_contributions') }}?page={{p}}&q={{page.query}}" aria-current="page" class="z-10 px-3 py-2 leading-tight text-blue-600 border border-blue-300 bg-blue-50 hover:bg-blue-100 hover:text-blue-700 dark:border-gray-700 dark:bg-gray-700 dark:text-white">{{p}}</a>
|
|
|
|
{% else %}
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
<a href="{{ url_for('book.my_contributions') }}?page={{p}}&q={{page.query}}" class="px-3 py-2 leading-tight text-gray-500 bg-white border border-gray-300 hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white">{{p}}</a>
|
|
|
|
{% endif %}
|
|
|
|
</li>
|
|
|
|
{% endfor %}
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
<a href="{{ url_for('book.my_contributions') }}?page={{page.page+1 if page.page < page.pages else page.pages}}&q={{page.query}}" class="block px-3 py-2 leading-tight text-gray-500 bg-white border border-gray-300 rounded-r-lg hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white">
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
<span class="sr-only">Next</span>
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"> <path fill-rule="evenodd" d="M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z" clip-rule="evenodd" /> </svg>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
<a href="{{ url_for('book.my_contributions') }}?page={{page.pages}}&q={{page.query}}" class="block px-3 py-2 leading-tight text-gray-500 bg-white border border-gray-300 rounded-r-lg hover:bg-gray-100 hover:text-gray-700 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white">
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
<span class="sr-only">Last</span>
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"> <path fill-rule="evenodd" d="M10.21 14.77a.75.75 0 01.02-1.06L14.168 10 10.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z" clip-rule="evenodd" /> <path fill-rule="evenodd" d="M4.21 14.77a.75.75 0 01.02-1.06L8.168 10 4.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z" clip-rule="evenodd" /> </svg>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
2023-05-22 08:32:06 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
{% endblock %}
|
|
|
|
<!-- prettier-ignore -->
|
|
|
|
{% block scripts %}
|
|
|
|
{% endblock %}
|