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 %}
{% endif %}
+ {% if can_bookmark %}
+
+ {% endif %}
{% if can_lock %}
{% 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;