mirror of
https://codeberg.org/rimu/pyfedi
synced 2025-01-23 19:36:56 -08:00
design improvements
This commit is contained in:
parent
1fb1735faf
commit
724d6c4bbd
9 changed files with 62 additions and 15 deletions
|
@ -71,5 +71,5 @@ class CreatePost(FlaskForm):
|
||||||
|
|
||||||
|
|
||||||
class NewReplyForm(FlaskForm):
|
class NewReplyForm(FlaskForm):
|
||||||
body = TextAreaField(_l('Body'), render_kw={'placeholder': 'What are your thoughts?', 'rows': 3})
|
body = TextAreaField(_l('Body'), render_kw={'placeholder': 'What are your thoughts?', 'rows': 3}, validators={DataRequired(), Length(min=3, max=5000)})
|
||||||
submit = SubmitField(_l('Comment'))
|
submit = SubmitField(_l('Comment'))
|
||||||
|
|
|
@ -4,7 +4,7 @@ from typing import List
|
||||||
from app import db
|
from app import db
|
||||||
from app.models import Community, File, BannedInstances, PostReply
|
from app.models import Community, File, BannedInstances, PostReply
|
||||||
from app.utils import get_request
|
from app.utils import get_request
|
||||||
from sqlalchemy import desc
|
from sqlalchemy import desc, text
|
||||||
|
|
||||||
|
|
||||||
def search_for_community(address: str):
|
def search_for_community(address: str):
|
||||||
|
@ -130,5 +130,5 @@ def get_comment_branch(post_id: int, comment_id: int, sort_by: str) -> List[Post
|
||||||
|
|
||||||
# The number of replies a post has
|
# The number of replies a post has
|
||||||
def post_reply_count(post_id) -> int:
|
def post_reply_count(post_id) -> int:
|
||||||
return db.session.execute('SELECT COUNT(id) as c FROM "post_reply" WHERE post_id = :post_id',
|
return db.session.execute(text('SELECT COUNT(id) as c FROM "post_reply" WHERE post_id = :post_id'),
|
||||||
{'post_id': post_id}).scalar()
|
{'post_id': post_id}).scalar()
|
||||||
|
|
|
@ -361,6 +361,7 @@ fieldset legend {
|
||||||
.post_list .post_teaser h3 {
|
.post_list .post_teaser h3 {
|
||||||
font-size: 120%;
|
font-size: 120%;
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
.post_list .post_teaser .meta_row a, .post_list .post_teaser .main_row a, .post_list .post_teaser .utilities_row a {
|
.post_list .post_teaser .meta_row a, .post_list .post_teaser .main_row a, .post_list .post_teaser .utilities_row a {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
@ -368,6 +369,12 @@ fieldset legend {
|
||||||
|
|
||||||
.comments > .comment {
|
.comments > .comment {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
|
border-top: solid 1px #bbb;
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
.comments > .comment:first-child {
|
||||||
|
border-top: none;
|
||||||
|
padding-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#replies {
|
#replies {
|
||||||
|
@ -381,8 +388,9 @@ fieldset legend {
|
||||||
.voting_buttons {
|
.voting_buttons {
|
||||||
float: right;
|
float: right;
|
||||||
display: block;
|
display: block;
|
||||||
width: 60px;
|
width: 55px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
|
padding-right: 0;
|
||||||
}
|
}
|
||||||
.voting_buttons div {
|
.voting_buttons div {
|
||||||
border: solid 1px #0071CE;
|
border: solid 1px #0071CE;
|
||||||
|
@ -419,7 +427,8 @@ fieldset legend {
|
||||||
.comment {
|
.comment {
|
||||||
clear: both;
|
clear: both;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
margin-left: 20px;
|
margin-left: 15px;
|
||||||
|
padding-top: 8px;
|
||||||
}
|
}
|
||||||
.comment .limit_height {
|
.comment .limit_height {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
@ -460,6 +469,7 @@ fieldset legend {
|
||||||
.comment .replies {
|
.comment .replies {
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
border-left: solid 1px #ddd;
|
border-left: solid 1px #ddd;
|
||||||
|
border-top: solid 1px #ddd;
|
||||||
}
|
}
|
||||||
|
|
||||||
.add_reply .form-control-label {
|
.add_reply .form-control-label {
|
||||||
|
|
|
@ -122,6 +122,7 @@ nav, etc which are used site-wide */
|
||||||
h3 {
|
h3 {
|
||||||
font-size: 120%;
|
font-size: 120%;
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.meta_row, .main_row, .utilities_row {
|
.meta_row, .main_row, .utilities_row {
|
||||||
|
@ -138,6 +139,13 @@ nav, etc which are used site-wide */
|
||||||
|
|
||||||
.comments > .comment {
|
.comments > .comment {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
|
border-top: solid 1px $grey;
|
||||||
|
margin-right: 8px;
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
border-top: none;
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#replies {
|
#replies {
|
||||||
|
@ -151,8 +159,9 @@ nav, etc which are used site-wide */
|
||||||
.voting_buttons {
|
.voting_buttons {
|
||||||
float: right;
|
float: right;
|
||||||
display: block;
|
display: block;
|
||||||
width: 60px;
|
width: 55px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
|
padding-right: 0;
|
||||||
|
|
||||||
div {
|
div {
|
||||||
border: solid 1px $primary-colour;
|
border: solid 1px $primary-colour;
|
||||||
|
@ -197,7 +206,8 @@ nav, etc which are used site-wide */
|
||||||
.comment {
|
.comment {
|
||||||
clear: both;
|
clear: both;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
margin-left: 20px;
|
margin-left: 15px;
|
||||||
|
padding-top: 8px;
|
||||||
|
|
||||||
.limit_height {
|
.limit_height {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
@ -248,6 +258,7 @@ nav, etc which are used site-wide */
|
||||||
.replies {
|
.replies {
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
border-left: solid 1px $light-grey;
|
border-left: solid 1px $light-grey;
|
||||||
|
border-top: solid 1px $light-grey;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -378,4 +378,13 @@ nav.navbar {
|
||||||
color: #777;
|
color: #777;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.comment_author a {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.low_score .hide_button a, .low_score .comment_author a {
|
||||||
|
font-weight: normal;
|
||||||
|
color: #777;
|
||||||
|
}
|
||||||
|
|
||||||
/*# sourceMappingURL=styles.css.map */
|
/*# sourceMappingURL=styles.css.map */
|
||||||
|
|
|
@ -141,4 +141,20 @@ nav.navbar {
|
||||||
a {
|
a {
|
||||||
color: $dark-grey;
|
color: $dark-grey;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.comment_author {
|
||||||
|
a {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.low_score {
|
||||||
|
.hide_button, .comment_author {
|
||||||
|
|
||||||
|
a {
|
||||||
|
font-weight: normal;
|
||||||
|
color: $dark-grey;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -60,6 +60,5 @@
|
||||||
<div class="col">
|
<div class="col">
|
||||||
{{ post.body_html|safe }}
|
{{ post.body_html|safe }}
|
||||||
</div>
|
</div>
|
||||||
<hr />
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
|
@ -1,9 +1,6 @@
|
||||||
<div class="post_teaser">
|
<div class="post_teaser">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col col-md-10">
|
<div class="col col-md-10">
|
||||||
<div class="row meta_row small">
|
|
||||||
<div class="col">{{ render_username(post.author) }} · {{ moment(post.posted_at).fromNow() }}</div>
|
|
||||||
</div>
|
|
||||||
<div class="row main_row">
|
<div class="row main_row">
|
||||||
<div class="col{% if post.image_id %}-8{% endif %}">
|
<div class="col{% if post.image_id %}-8{% endif %}">
|
||||||
<h3>
|
<h3>
|
||||||
|
@ -15,6 +12,7 @@
|
||||||
<span class="domain_link">(<a href="/d/{{ post.domain_id }}">{{ post.domain.name }}</a>)</span>
|
<span class="domain_link">(<a href="/d/{{ post.domain_id }}">{{ post.domain.name }}</a>)</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</h3>
|
</h3>
|
||||||
|
<span class="small">{{ render_username(post.author) }} · {{ moment(post.posted_at).fromNow() }}</span>
|
||||||
</div>
|
</div>
|
||||||
{% if post.image_id %}
|
{% if post.image_id %}
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
|
|
|
@ -35,14 +35,19 @@
|
||||||
<div class="row post_replies">
|
<div class="row post_replies">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
{% macro render_comment(comment) %}
|
{% macro render_comment(comment) %}
|
||||||
<div id="comment_{{ comment['comment'].id }}" class="comment">
|
<div id="comment_{{ comment['comment'].id }}" class="comment {% if comment['comment'].score <= -10 %}low_score{% endif %}">
|
||||||
<div class="limit_height">
|
<div class="limit_height">
|
||||||
<div class="voting_buttons">
|
<div class="voting_buttons">
|
||||||
{% with comment=comment['comment'] %}
|
{% with comment=comment['comment'] %}
|
||||||
{% include "community/_voting_buttons.html" %}
|
{% include "community/_voting_buttons.html" %}
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
</div>
|
</div>
|
||||||
<div class="hide_button">{% if comment['comment'].score <= -10 %}<a href='#'>[+] show</a>{% else %}<a href='#'>[-] hide</a>{% endif %}
|
<div class="hide_button">
|
||||||
|
{% if comment['comment'].score <= -10 %}
|
||||||
|
<a href='#'>[+] show</a>
|
||||||
|
{% else %}
|
||||||
|
<a href='#'>[-] hide</a>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="comment_author">
|
<div class="comment_author">
|
||||||
{% if comment['comment'].author.deleted %}
|
{% if comment['comment'].author.deleted %}
|
||||||
|
@ -53,8 +58,7 @@
|
||||||
<img src="{{ comment['comment'].author.avatar_image() }}" alt="Avatar" /></a>
|
<img src="{{ comment['comment'].author.avatar_image() }}" alt="Avatar" /></a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a href="/u/{{ comment['comment'].author.link() }}" title="{{ comment['comment'].author.link() }}">
|
<a href="/u/{{ comment['comment'].author.link() }}" title="{{ comment['comment'].author.link() }}">
|
||||||
{% if comment['comment'].score > -10 %}<strong>{% endif %}
|
{{ comment['comment'].author.user_name }}</a>
|
||||||
{{ comment['comment'].author.user_name }}{% if comment['comment'].score > -10 %}</strong>{% endif %}</a>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if comment['comment'].author.id == post.author.id %}<span title="Submitter of original post" aria-label="submitter" class="small">[OP]</span>{% endif %}
|
{% if comment['comment'].author.id == post.author.id %}<span title="Submitter of original post" aria-label="submitter" class="small">[OP]</span>{% endif %}
|
||||||
<span class="text-muted small">{{ moment(comment['comment'].posted_at).fromNow(refresh=True) }}</span>
|
<span class="text-muted small">{{ moment(comment['comment'].posted_at).fromNow(refresh=True) }}</span>
|
||||||
|
|
Loading…
Reference in a new issue