Img full/thumb toggling. Small tweaks

This commit is contained in:
Dominic Ferrando
2025-04-19 19:21:06 -04:00
parent 9096c00db5
commit 62b9113509
3 changed files with 57 additions and 30 deletions
+2 -2
View File
@@ -192,9 +192,9 @@ body {
}
.post-img {
cursor: pointer;
height: auto;
max-width: 400px;
margin-bottom: 10px;
max-width: 100%;
}
.post-body {
+18 -1
View File
@@ -1,5 +1,5 @@
function insertHeaderReplies() {
const posts = Array.from(document.querySelectorAll("article"));
const replies = {};
for (const post of posts) {
@@ -16,6 +16,8 @@ for (const post of posts) {
for (const postId in replies) {
const post = $(`post-${postId}`);
if (!post) break;
const postRepliesContainer = post.querySelector(".post-replies");
const replyIds = Array.from(replies[postId]);
@@ -32,3 +34,18 @@ for (const postId in replies) {
postRepliesContainer.append(replyLink);
}
}
}
function togglePostImage(img) {
const filename = img.src.split("/").at(-1);
if (img.classList.contains("post-img-full")) {
img.classList.remove("post-img-full");
img.src = "/static/img/posts/thumb/" + filename;
}
else {
img.classList.add("post-img-full");
img.src = "/static/img/posts/full/" + filename;
}
}
insertHeaderReplies()
+12 -2
View File
@@ -20,7 +20,13 @@ templ ThreadPost(post database.Post, thread *database.Thread) {
<article id={ fmt.Sprintf("post-%d", post.Id) } class={ getPostClass(isOp) }>
if post.MediaPath != "" {
<div class="post-img-container">
<img loading="lazy" src={ fmt.Sprintf("/static/img/posts/thumb/%s", post.MediaPath) } class="post-img"/>
<img
onclick="togglePostImage(this)"
loading="lazy"
src={ fmt.Sprintf("/static/img/posts/thumb/%s",
post.MediaPath) }
class="post-img"
/>
</div>
}
<header class="post-header">
@@ -84,7 +90,11 @@ templ Thread(board database.Board, thread database.Thread, posts []database.Post
</div>
<div class="thread">
@ThreadPost(posts[0], &thread)
<div hx-get={ fmt.Sprintf("/hx/%s/threads/%d/posts", board.Slug, thread.Id) } hx-trigger="refreshPosts from:body">
<div
hx-get={ fmt.Sprintf("/hx/%s/threads/%d/posts", board.Slug, thread.Id) }
hx-trigger="refreshPosts from:body"
_="on htmx:afterSwap call insertHeaderReplies()"
>
@ThreadPosts(posts[1:])
</div>
</div>