From e92e27bd4092f3ef8eff1121d800a5e620f74668 Mon Sep 17 00:00:00 2001 From: Thomas Lynch Date: Thu, 21 Apr 2022 12:38:21 +1000 Subject: [PATCH] remove "+x earlier", bugfixes and expanding omitted appearance tweaks --- gulp/res/css/style.css | 3 +++ gulp/res/img/minus.png | Bin 6348 -> 549 bytes gulp/res/img/plus.png | Bin 648 -> 554 bytes gulp/res/js/live.js | 2 +- gulp/res/js/omitted.js | 13 ++++++++++--- views/mixins/post.pug | 3 ++- 6 files changed, 16 insertions(+), 5 deletions(-) diff --git a/gulp/res/css/style.css b/gulp/res/css/style.css index 9413d721..d539c8a7 100644 --- a/gulp/res/css/style.css +++ b/gulp/res/css/style.css @@ -204,6 +204,9 @@ pre { content: "Settings"; } .expand-omitted { + background-color: var(--post-color); + border: 1px solid var(--font-color); + border-radius: 2px; vertical-align: bottom; margin-right: 5px; } diff --git a/gulp/res/img/minus.png b/gulp/res/img/minus.png index 95d1eb24560afc7fa87a31472611d07072d6dcb4..3732f92ea9e66ae2de4e13175cd8d5b246ec3008 100644 GIT binary patch delta 534 zcmV+x0_pwCF{K25iBL{Q4GJ0x0000DNk~Le0000C0000C2nGNE09JKe=Kuf!glR)V zP)S2WAaHVTW@&6?001bFeUUv#!$2IxU(-rODjlpK;*gR@u| z7c^-|Qd}Gb*Mfr|i&X~~XI&j!1wrrw#L>w~(M3x9Us7m)5$nNmKi=JY+`R*YMulls zU>wkN+e{}DVm7xb244}tAOwUFlbL1ANm2@3$Jaf4e7%eFtnTOj9Q|tEVt`L1o@It< z6K@btZ`uauec}i!$tv+V@t8>$B!1+&;_(~jqRRr$jF_49JaL3rEOxNc!K`Fz#8bpk zRnsY7$a<`Qa^B*sRcfqtPyWJCUSC<}I?WLzv4|x|5TT%kGAghUr&TA#LYnpyUHrqY zUm}-6t}+-o7Epx-+4Y0}!S8OZ!sLXP6iNU+FOKsu3Iun7X5DeVj~%CZ0{EYSE4}Tn zHh`H=((7$4dIW^Gfs5<5rtATiJHXJBA)B%*`DqF?g#z$?M&FbJ25y1AHLthUK29Hi z40V;d0S*p1RY*^YXATM07*qoM6N<$f)2jhs{jB1 literal 6348 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 N002ovPDHLkV1gv()y@C_ delta 618 zcmV-w0+s!$1c(J8iBL{Q4GJ0x0000DNk~Le0000I0000I2nGNE09MY9SCJtce^3;K zPt!_8DuV4G;t-@dSr8R*)G8FALZ}s5bufA9A2ex5Qd}Gb*MfsTi&X~~XI&j!1wrr! z#L>w~(M3wUuPL;M@xkSNocGS*zWV^7US^sV7zZ@nHdBeXn8~h+!B+&(Pc@9N%q(M0 zl9KRTU-$6w{Vv9{yzl+Fdexl8e*m9IJj)EzCf*>P-n0$Q`@|7elvUz$;xUsNB!1+& z;_@5kLX!oa88OqTdEyAMSmil z)esU`#1bTkP*6n)W!Q+(u9IRRMdxu3|6tQEkxL<035*;Is6d0<^n?GwfA85^`N;`4 zDHI2~UL5CR1PJZ|jhf?pA3ILt1n@rtS9;rDsRJ{gq}SS7^a$wN1}?7Knz9F6?f?T% zhHT1B$xkKZ^T7KVeNz?)-vT{r?%Z1EIDG)pG^^wdaBv8W7ASk&_CX>@2HM@dakSAh-}0001BNklSr>Ide#IMM_Ev+%P6;d5xe!K0ZDSK0ZE_JR3wc7ZD3s zaCrxx*p@9@=>${postData.postId}(\s|$)`).test(replies.innerText)) { + if (new RegExp(`>>${postData.postId}(\\s|$)`).test(replies.innerText)) { //reply link already exists (probably from a late catch up) continue; } diff --git a/gulp/res/js/omitted.js b/gulp/res/js/omitted.js index bf188d29..392eb799 100644 --- a/gulp/res/js/omitted.js +++ b/gulp/res/js/omitted.js @@ -5,7 +5,8 @@ window.addEventListener('DOMContentLoaded', () => { const hideOmitted = (e) => { e.target.nextSibling.style.display = 'unset'; const thread = e.target.closest('.thread'); - let replies = Array.from(thread.querySelectorAll('.post-container:not(.op)')); + const posts = Array.from(thread.querySelectorAll('.post-container')); + let replies = posts.slice(1); if (e.target.dataset.shown > 0) { replies = replies.slice(0, -parseInt(e.target.dataset.shown)); } @@ -52,7 +53,7 @@ window.addEventListener('DOMContentLoaded', () => { if (json) { setLocalStorage(`hovercache-${jsonPath}`, JSON.stringify(json)); hoverCacheList.value = Object.keys(localStorage).filter(k => k.startsWith('hovercache')); - replies = json.replies; + replies = [...json.replies]; } else { return localStorage.removeItem(`hovercache-${jsonPath}`); //thread deleted } @@ -60,10 +61,16 @@ window.addEventListener('DOMContentLoaded', () => { if (!replies) { return; } + const opReplies = parentPost.querySelector('.replies'); + if (opReplies && opReplies.innerText.includes('+')) { + const earlierLink = opReplies.lastElementChild; + earlierLink.previousSibling.remove(); + earlierLink.remove(); + } + replies = replies.reverse(); e.target.nextSibling.style.display = 'none'; e.target.src = '/file/minus.png'; e.target.dataset.open = true; - replies = replies.reverse(); if (firstPreviewReply) { replies = replies.filter(r => r.postId < firstPreviewReply.dataset.postId); } diff --git a/views/mixins/post.pug b/views/mixins/post.pug index 51936e7b..618ee72e 100644 --- a/views/mixins/post.pug +++ b/views/mixins/post.pug @@ -158,7 +158,7 @@ mixin post(post, truncate, manage=false, globalmanage=false, ban=false, overboar | Message too long. #[a.viewfulltext(href=`${postURL}#${post.postId}`) View the full text] if post.omittedposts || post.omittedfiles div.cb.mt-5.ml-5 - img.jsonly.dummy-link.expand-omitted(height='18' width='18' data-shown=post.replies.length data-board=post.board data-thread=post.postId src='/file/plus.png') + img.jsonly.dummy-link.expand-omitted(height='12' width='12' data-shown=post.replies.length data-board=post.board data-thread=post.postId src='/file/plus.png') - const ompo = post.omittedposts; - const omfi = post.omittedfiles; span @@ -174,6 +174,7 @@ mixin post(post, truncate, manage=false, globalmanage=false, ban=false, overboar if post.previewbacklinks.length < post.backlinks.length - const ombls = post.backlinks.length-post.previewbacklinks.length; | + #[a(href=`${postURL}#${post.postId}`) #{ombls} earlier] + | else if post.backlinks && post.backlinks.length > 0 div.replies.mt-5.ml-5 Replies: each backlink in post.backlinks