diff --git a/app/templates/threads/thread.html b/app/templates/threads/thread.html index e8e7c69..47cb3e4 100644 --- a/app/templates/threads/thread.html +++ b/app/templates/threads/thread.html @@ -1,12 +1,15 @@ {% from 'common/macros.html' import pager, babycode_editor_form, full_post %} +{% from 'common/icons.html' import icn_bookmark %} {% extends "base.html" %} {% block title %}{{ thread.title }}{% endblock %} {% block content %} {% set can_post = false %} {% set can_lock = false %} {% set can_subscribe = false %} +{% set can_bookmark = false %} {% if active_user %} {% set can_subscribe = true %} + {% set can_bookmark = not active_user.is_guest() %} {% set can_post = (not thread.is_locked and not active_user.is_guest()) or active_user.is_mod() %} {% set can_lock = ((active_user.id | int) == (thread.user_id | int)) or active_user.is_mod() %} {% endif %} @@ -18,7 +21,7 @@ • stickied, so it's probably important {% endif %} -
+
{% if can_subscribe %}
@@ -26,6 +29,9 @@
{% endif %} + {% if can_bookmark %} + + {% endif %} {% if can_lock %}
@@ -50,7 +56,7 @@
{% for post in posts %} - {{ full_post(post = post, active_user = active_user, is_latest = loop.index == (posts | length), Reactions = Reactions) }} + {{ full_post(post = post, active_user = active_user, is_latest = loop.index == (posts | length), Reactions = Reactions, show_bookmark = can_bookmark) }} {% endfor %} diff --git a/app/templates/topics/topic.html b/app/templates/topics/topic.html index b837a54..c495999 100644 --- a/app/templates/topics/topic.html +++ b/app/templates/topics/topic.html @@ -53,7 +53,7 @@ {% if active_user and not active_user.is_guest() -%} - + {%- endif %} diff --git a/data/static/css/style.css b/data/static/css/style.css index 558179d..fe08fda 100644 --- a/data/static/css/style.css +++ b/data/static/css/style.css @@ -99,6 +99,12 @@ a:visited { font-weight: bold; } +.thread-actions { + display: flex; + align-items: center; + gap: 5px; +} + .post { display: grid; grid-template-columns: 200px 1fr; @@ -891,6 +897,9 @@ input[type=text]:focus, input[type=password]:focus, textarea:focus, select:focus justify-content: center; flex-direction: column; } +.contain-svg.inline { + display: inline-flex; +} .post-img-container { display: flex; diff --git a/data/static/css/theme-otomotone.css b/data/static/css/theme-otomotone.css index 128697d..953ddb7 100644 --- a/data/static/css/theme-otomotone.css +++ b/data/static/css/theme-otomotone.css @@ -99,6 +99,12 @@ a:visited { font-weight: bold; } +.thread-actions { + display: flex; + align-items: center; + gap: 5px; +} + .post { display: grid; grid-template-columns: 200px 1fr; @@ -891,6 +897,9 @@ input[type=text]:focus, input[type=password]:focus, textarea:focus, select:focus justify-content: center; flex-direction: column; } +.contain-svg.inline { + display: inline-flex; +} .post-img-container { display: flex; diff --git a/data/static/css/theme-peachy.css b/data/static/css/theme-peachy.css index 9850cd3..25b3eff 100644 --- a/data/static/css/theme-peachy.css +++ b/data/static/css/theme-peachy.css @@ -99,6 +99,12 @@ a:visited { font-weight: bold; } +.thread-actions { + display: flex; + align-items: center; + gap: 3px; +} + .post { display: grid; grid-template-columns: 200px 1fr; @@ -891,6 +897,9 @@ input[type=text]:focus, input[type=password]:focus, textarea:focus, select:focus justify-content: center; flex-direction: column; } +.contain-svg.inline { + display: inline-flex; +} .post-img-container { display: flex; diff --git a/sass/_default.scss b/sass/_default.scss index 1eb851b..26165cc 100644 --- a/sass/_default.scss +++ b/sass/_default.scss @@ -213,6 +213,13 @@ $thread_title_size: 1.5rem !default; font-weight: bold; } +$thread_actions_gap: $SMALL_PADDING !default; +.thread-actions { + display: flex; + align-items: center; + gap: $thread_actions_gap; +} + $post_usercard_width: 200px !default; $post_border: 2px outset $DARK_2 !default; .post { @@ -747,6 +754,10 @@ $thread_locked_background: none !default; align-items: center; justify-content: center; flex-direction: column; + + &.inline { + display: inline-flex; + } } $post_img_container_gap: $SMALL_PADDING !default;