2023-05-05 16:51:55 +00:00
<!-- prettier - ignore -->
{% extends 'base.html' %}
{% include 'book/delete_interpretation_modal.html' %}
2023-05-09 08:37:23 +00:00
{% include 'book/delete_comment_modal.html' %}
2023-05-09 14:32:07 +00:00
{% include 'book/edit_comment_modal.html' %}
2023-05-09 08:37:23 +00:00
2023-05-05 16:51:55 +00:00
{% include 'book/edit_interpretation_modal.html' %}
<!-- show delete section btn on rightside bar -->
{% set show_edit_interpretation = True %}
<!-- prettier - ignore -->
{% set show_delete_interpretation = True %}
<!-- prettier - ignore -->
{% block right_sidebar %}
{% include 'book/right_sidebar.html' %}
{% endblock %}
{% block content %}
2023-05-08 08:24:26 +00:00
{% include 'book/breadcrumbs_navigation.html'%}
2023-05-09 09:52:37 +00:00
< div class = "shadow-md mt-5 md:mr-64 h-auto overflow-x-hidden" >
2023-05-08 08:24:26 +00:00
< div class = "ql-snow mt-20" >
2023-05-08 12:19:22 +00:00
< h1 class = "text-l font-extrabold dark:text-white ml-4 truncate" >
2023-05-08 08:24:26 +00:00
{{ interpretation.label }}
< / h1 >
2023-05-08 14:33:15 +00:00
< div class = "quill-editor text-lg dark:text-white p-3" > {{interpretation.text|safe}}< / div >
2023-05-08 08:24:26 +00:00
< / div >
2023-05-08 12:19:22 +00:00
< div class = "p-1" >
<!-- prettier - ignore -->
2023-05-17 12:34:49 +00:00
< form
{% if sub_collection %}
2023-05-08 12:19:22 +00:00
action="{{ url_for('book.create_comment', book_id=book.id, collection_id=collection.id, sub_collection_id=sub_collection.id,section_id=section.id,interpretation_id=interpretation.id) }}"
{% else %}
action="{{ url_for('book.create_comment', book_id=book.id, collection_id=collection.id,section_id=section.id,interpretation_id=interpretation.id) }}"
{% endif %}
2023-05-17 12:34:49 +00:00
method="post"
class="prevent-submit-on-enter flex flex-col 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-08 12:19:22 +00:00
{{ form_hidden_tag() }}
2023-05-17 12:34:49 +00:00
< div class = "relative z-0 w-full group" >
2023-05-17 09:07:41 +00:00
< div class = "mb-2" >
< label for = "tags-input" class = "block mb-2 text-sm font-medium text-gray-900 dark:text-white" >
Comment
< / label >
< input
name="text"
autocomplete="off"
maxlength="256"
type="text"
class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
placeholder="Leave your comment here"
required
>
< / div >
2023-05-17 12:34:49 +00:00
< div class = "multiple-input-block mb-6" >
2023-05-17 09:07:41 +00:00
< label for = "tags-input" class = "block mb-2 text-sm font-medium text-gray-900 dark:text-white" >
Tags
< / label >
< input type = "text" name = "tags" class = "hidden tags-to-submit" >
< input
type="text"
id="tags-input"
class="multiple-input mb-3 bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
placeholder="e.g. Law (press 'Enter' or Comma to add tag. Click on tag to edit it)"
data-save-results-to="tags-to-submit"
>
< div class = "multiple-input-items gap-1 flex flex-wrap" >
< / div >
< / div >
2023-05-08 12:19:22 +00:00
< / div >
2023-05-17 09:07:41 +00:00
2023-05-08 12:19:22 +00:00
<!-- prettier - ignore -->
< button type = "submit" class = "ml-auto text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800" > Leave comment < / button >
< / form >
< / div >
2023-05-10 12:07:07 +00:00
<!-- prettier - ignore -->
< dl class = "w-md md:w-full text-gray-900 divide-y divide-gray-200 dark:text-white dark:divide-gray-700" >
2023-05-08 14:33:15 +00:00
<!-- prettier - ignore -->
2023-05-11 15:02:14 +00:00
< div class = "text-sm dark:text-white p-3" > Comments:< / div >
2023-05-09 08:37:23 +00:00
{% for comment in interpretation.comments if not comment.is_deleted %}
2023-05-10 12:07:07 +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" >
< div class = "flex flex-row pb-3 p-3 w-2/3 md:w-full" >
2023-05-11 15:02:14 +00:00
< div class = "vote-block flex flex-col m-5 mr-8 justify-center items-center" >
2023-05-10 12:07:07 +00:00
{% if comment.user_id != current_user.id %}
< div class = "vote-button cursor-pointer" data-vote-for = "comment" data-entity-id = "{{ comment.id }}" data-positive = "true" >
< svg
class="w-6 h-6 select-none
{% if comment.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 >
2023-05-08 14:33:15 +00:00
< / div >
2023-05-10 12:07:07 +00:00
{% endif %}
< span
class="vote-count text-3xl select-none
{% if comment.vote_count < 0 % }
text-red-500
{% elif comment.vote_count > 0 %}
text-green-500
{% endif %}
"
>
{{ comment.vote_count }}
< / span >
{% if comment.user_id != current_user.id %}
< div class = "vote-button cursor-pointer" data-vote-for = "comment" data-entity-id = "{{ comment.id }}" data-positive = "false" >
< svg class = "w-6 h-6 select-none
{% if comment.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 %}
2023-05-11 15:02:14 +00:00
<!-- TODO check permissions -->
{% if interpretation.book.owner == current_user %}
< div class = "approve-button select-none approve-btn mt-3 cursor-pointer" data-approve = "comment" data-entity-id = "{{ comment.id }}" >
<!-- outline -->
< svg class = "not-approved-icon w-6 h-6 {% if comment.approved %} hidden {% 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 = "M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z" / >
< / svg >
<!-- solid -->
< svg class = "approved-icon w-6 h-6 {% if not comment.approved %} hidden {% endif %}" xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "currentColor" >
< path fill-rule = "evenodd" d = "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zm13.36-1.814a.75.75 0 10-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 00-1.06 1.06l2.25 2.25a.75.75 0 001.14-.094l3.75-5.25z" clip-rule = "evenodd" / >
< / svg >
< / div >
{% endif %}
2023-05-10 12:07:07 +00:00
< / div >
<!-- prettier - ignore -->
2023-05-11 15:02:14 +00:00
< dt class = "flex justify-center w-full mb-1 text-gray-500 md:text-lg dark:text-gray-400 flex-col" >
< div >
< div class = "dark:text-white h-30" >
2023-05-10 12:07:07 +00:00
< p > {{ comment.text }}< / p >
< / div >
< / div >
2023-05-11 15:02:14 +00:00
< div id = "accordion-collapse" data-accordion = "collapse" class = "flex border-t-2 pt-3 mt-6 align-center justify-between space-x-3" >
2023-05-10 12:07:07 +00:00
< div > Commented by < span class = "text-blue-500" > {{comment.user.username}}< / span > on {{comment.created_at.strftime('%B %d, %Y')}}{% if comment.edited %}< i class = "text-green-200" > edited< / i > {% endif %}< / div >
{% if comment.user_id == current_user.id %}
< div class = "flex ml-auto justify-between w-24" >
< div class = "relative" >
< button id = "edit_comment_btn" data-popover-target = "popover-edit" data-edit-comment-id = "{{comment.id}}" data-edit-comment-text = "{{comment.text}}" type = "button" data-modal-target = "edit_comment_modal" data-modal-toggle = "edit_comment_modal" class = "space-x-0.5 flex items-center" >
< 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 = "M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10" / > < / svg >
< / button >
< div data-popover id = "popover-edit" role = "tooltip" class = "absolute z-10 invisible inline-block w-64 text-sm text-gray-500 transition-opacity duration-300 bg-white border border-gray-200 rounded-lg shadow-sm opacity-0 dark:text-gray-400 dark:border-gray-600 dark:bg-gray-800" >
< div class = "px-3 py-2" >
< p > Edit this comment< / p >
< / div >
< div data-popper-arrow > < / div >
< / div >
2023-05-08 14:33:15 +00:00
< / div >
2023-05-10 12:07:07 +00:00
< div class = "relative" >
< button id = "delete_comment_btn" data-popover-target = "popover-delete" data-comment-id = "{{comment.id}}" type = "button" data-modal-target = "delete_comment_modal" data-modal-toggle = "delete_comment_modal" class = "space-x-0.5 flex items-center" >
< 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 = "M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" / > < / svg >
< / button >
< div data-popover id = "popover-delete" role = "tooltip" class = "absolute z-10 invisible inline-block w-64 text-sm text-gray-500 transition-opacity duration-300 bg-white border border-gray-200 rounded-lg shadow-sm opacity-0 dark:text-gray-400 dark:border-gray-600 dark:bg-gray-800" >
< div class = "px-3 py-2" >
< p > Delete this comment< / p >
< / div >
< div data-popper-arrow > < / div >
< / div >
< / div >
< div class = "relative" >
2023-05-09 09:24:57 +00:00
< button type = "button" data-popover-target = "popover-comment" data-accordion-target = "#accordion-collapse-body-{{loop.index}}" aria-expanded = "false" aria-controls = "accordion-collapse-body-1" class = "relative space-x-0.5 flex items-center" >
2023-05-08 14:33:15 +00:00
< 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 shrink-0" > < 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 >
< / button >
2023-05-10 12:07:07 +00:00
< div data-popover id = "popover-comment" role = "tooltip" class = "absolute z-10 invisible inline-block w-64 text-sm text-gray-500 transition-opacity duration-300 bg-white border border-gray-200 rounded-lg shadow-sm opacity-0 dark:text-gray-400 dark:border-gray-600 dark:bg-gray-800" >
< div class = "px-3 py-2" >
< p > Comment to this comment< / p >
2023-05-08 14:33:15 +00:00
< / div >
2023-05-09 09:24:57 +00:00
< / div > < / div >
2023-05-09 14:45:48 +00:00
{% endif %}
2023-05-08 14:33:15 +00:00
< / dt >
2023-05-10 12:12:36 +00:00
2023-05-08 14:33:15 +00:00
< / div >
2023-05-09 09:11:23 +00:00
< div class = "p-5 m-3" >
2023-05-10 08:55:23 +00:00
{% for child in comment.children %}< div class = "p-5 mb-2 flex justify-between items-end bg-slate-600 rounded-lg" > < div >
< div class = "inline-block mb-4" > - {{child.text}}< / div > < span > < div > by < span class = "text-blue-500" > {{child.user.username}}< / span > {{child.created_at.strftime('%B %d, %Y')}}< / div > < / span > < / div >
{% if child.user_id == current_user.id %}
< div class = "relative ml-2" >
< button id = "delete_comment_btn" data-popover-target = "popover-delete" data-comment-id = "{{child.id}}" type = "button" data-modal-target = "delete_comment_modal" data-modal-toggle = "delete_comment_modal" class = "space-x-0.5 flex items-center" >
< 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 = "M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" / > < / svg >
< / button >
< div data-popover id = "popover-delete" role = "tooltip" class = "absolute z-10 invisible inline-block w-64 text-sm text-gray-500 transition-opacity duration-300 bg-white border border-gray-200 rounded-lg shadow-sm opacity-0 dark:text-gray-400 dark:border-gray-600 dark:bg-gray-800" >
< div class = "px-3 py-2" >
< p > Delete this comment< / p >
2023-05-10 12:07:07 +00:00
< / div >
2023-05-10 08:55:23 +00:00
< div data-popper-arrow > < / div >
2023-05-10 12:07:07 +00:00
< / div >
2023-05-10 08:55:23 +00:00
< / div >
2023-05-10 12:07:07 +00:00
{% endif %}
2023-05-08 14:33:15 +00:00
< / div >
2023-05-09 09:11:23 +00:00
{% endfor %}
< / div >
2023-05-08 14:33:15 +00:00
< div id = "accordion-collapse-body-{{loop.index}}" class = "hidden" aria-labelledby = "accordion-collapse-heading-1" >
2023-05-09 09:30:15 +00:00
< div class = "p-5 border-t border-gray-200 dark:border-gray-700 dark:bg-gray-900" >
2023-05-17 12:34:49 +00:00
< form
{% if sub_collection %}
action="{{ url_for('book.create_comment', book_id=book.id, collection_id=collection.id, sub_collection_id=sub_collection.id,section_id=section.id,interpretation_id=interpretation.id) }}"
{% else %}
action="{{ url_for('book.create_comment', book_id=book.id, collection_id=collection.id,section_id=section.id,interpretation_id=interpretation.id) }}"
{% endif %}
method="post"
class="prevent-submit-on-enter flex flex-col bg-white dark:bg-gray-900 max-w-full p-3 text-gray-900 dark:text-white dark:divide-gray-700 m-3 border-2 border-gray-200 border-solid rounded-lg dark:border-gray-700"
>
{{ form_hidden_tag() }}
< input type = "hidden" name = "parent_id" id = "parent_id" value = "{{comment.id}}" / >
2023-05-17 15:01:39 +00:00
< div class = "relative z-0 w-full group" >
< div class = "mb-2" >
< label for = "tags-input" class = "block mb-2 text-sm font-medium text-gray-900 dark:text-white" >
Comment
< / label >
< input
name="text"
autocomplete="off"
maxlength="256"
type="text"
class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
placeholder="Leave your comment here"
required
>
< / div >
< div class = "multiple-input-block mb-6" >
< label for = "tags-input" class = "block mb-2 text-sm font-medium text-gray-900 dark:text-white" >
Tags
< / label >
< input type = "text" name = "tags" class = "hidden tags-to-submit" >
< input
type="text"
id="tags-input"
class="multiple-input mb-3 bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
placeholder="e.g. Law (press 'Enter' or Comma to add tag. Click on tag to edit it)"
data-save-results-to="tags-to-submit"
>
< div class = "multiple-input-items gap-1 flex flex-wrap" >
< / div >
< / div >
< / div >
2023-05-17 12:34:49 +00:00
<!-- prettier - ignore -->
< button type = "submit" class = "ml-auto text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800" > Leave comment < / button >
< / form >
2023-05-08 14:33:15 +00:00
< / div >
< / div >
< / dl >
{% endfor %}
< / dl >
2023-05-05 16:51:55 +00:00
< / div >
2023-05-08 12:19:22 +00:00
2023-05-05 16:51:55 +00:00
<!-- prettier - ignore -->
{% endblock %}