selfhostable, read-only reddit client

Feat: Card View - Use `media` view instead of preview div

+13 -2
+13 -2
src/mixins/post.pug
··· 36 div.self-text(class='card') 37 != convertInlineImageLinks(p.selftext_html) 38 div.media-preview(class=`${query.view}`) 39 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 h2 42 != p.over_18 ? 'nsfw' : 'spoiler' 43 if isPostGallery(p) 44 - var item = postGalleryItems(p)[0] 45 - img(src=item.url onclick=`toggleDetails('${p.id}')`) 46 else if isPostImage(p) 47 - var url = query.view == "card" ? p.url : postThumbnail(p) 48 - img(src=url onclick=`toggleDetails('${p.id}')`) 49 else if isPostVideo(p) 50 - var decodedVideos = decodePostVideoUrls(p) 51 if query.view == "card"
··· 36 div.self-text(class='card') 37 != convertInlineImageLinks(p.selftext_html) 38 div.media-preview(class=`${query.view}`) 39 + - var onclick = query.view != "card" ? `toggleDetails('${p.id}')` : `` 40 if query.view == "card" && (p.spoiler || p.over_18) && (isPostGallery(p) || isPostImage(p) || isPostVideo(p)) 41 div.spoiler(id=`spoiler_${p.id}`, onclick=`javascript:document.getElementById('spoiler_${p.id}').style.display = 'none';`) 42 h2 43 != p.over_18 ? 'nsfw' : 'spoiler' 44 if isPostGallery(p) 45 - var item = postGalleryItems(p)[0] 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) 56 else if isPostImage(p) 57 - var url = query.view == "card" ? p.url : postThumbnail(p) 58 + #{query.view == "card" ? "a href=/media/" + url : span} 59 + img(src=url onclick=onclick) 60 else if isPostVideo(p) 61 - var decodedVideos = decodePostVideoUrls(p) 62 if query.view == "card"