diff options
author | PortableProgrammer <[email protected]> | 2025-01-08 17:45:37 +0000 |
---|---|---|
committer | PortableProgrammer <[email protected]> | 2025-01-08 17:45:37 +0000 |
commit | 3cd139f528f6c8d8186843e800672d16fd1c5558 (patch) | |
tree | c7f9b4a9a88144dc9ba99b6d9cac9e10d4633d75 | |
parent | e351d76a0e3dfc99a2ea3747ecb3aa06c7c6a613 (diff) |
Feat: Card View - Use `media` view instead of preview div
-rw-r--r-- | src/mixins/post.pug | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/mixins/post.pug b/src/mixins/post.pug index 2e77402..36ea1b8 100644 --- a/src/mixins/post.pug +++ b/src/mixins/post.pug | |||
@@ -36,16 +36,27 @@ mixin post(p, currentUrl) | |||
36 | div.self-text(class='card') | 36 | div.self-text(class='card') |
37 | != convertInlineImageLinks(p.selftext_html) | 37 | != convertInlineImageLinks(p.selftext_html) |
38 | div.media-preview(class=`${query.view}`) | 38 | div.media-preview(class=`${query.view}`) |
39 | - var onclick = query.view != "card" ? `toggleDetails('${p.id}')` : `` | ||
39 | if query.view == "card" && (p.spoiler || p.over_18) && (isPostGallery(p) || isPostImage(p) || isPostVideo(p)) | 40 | if query.view == "card" && (p.spoiler || p.over_18) && (isPostGallery(p) || isPostImage(p) || isPostVideo(p)) |
40 | div.spoiler(id=`spoiler_${p.id}`, onclick=`javascript:document.getElementById('spoiler_${p.id}').style.display = 'none';`) | 41 | div.spoiler(id=`spoiler_${p.id}`, onclick=`javascript:document.getElementById('spoiler_${p.id}').style.display = 'none';`) |
41 | h2 | 42 | h2 |
42 | != p.over_18 ? 'nsfw' : 'spoiler' | 43 | != p.over_18 ? 'nsfw' : 'spoiler' |
43 | if isPostGallery(p) | 44 | if isPostGallery(p) |
44 | - var item = postGalleryItems(p)[0] | 45 | - var item = postGalleryItems(p)[0] |
45 | img(src=item.url onclick=`toggleDetails('${p.id}')`) | 46 | if query.view == "card" |
47 | div.gallery(class=`${query.view}`) | ||
48 | each item in postGalleryItems(p) | ||
49 | div.gallery-item(class=`${query.view}`) | ||
50 | div.gallery-item-idx(class=`${query.view}`) | ||
51 | | #{`${item.idx}/${item.total}`} | ||
52 | a(href=`/media/${item.url}`) | ||
53 | img(src=item.url loading="lazy") | ||
54 | else | ||
55 | img(src=item.url onclick=onclick) | ||
46 | else if isPostImage(p) | 56 | else if isPostImage(p) |
47 | - var url = query.view == "card" ? p.url : postThumbnail(p) | 57 | - var url = query.view == "card" ? p.url : postThumbnail(p) |
48 | img(src=url onclick=`toggleDetails('${p.id}')`) | 58 | #{query.view == "card" ? "a href=/media/" + url : span} |
59 | img(src=url onclick=onclick) | ||
49 | else if isPostVideo(p) | 60 | else if isPostVideo(p) |
50 | - var decodedVideos = decodePostVideoUrls(p) | 61 | - var decodedVideos = decodePostVideoUrls(p) |
51 | if query.view == "card" | 62 | if query.view == "card" |