diff --git a/src/components/styled/Board.styled.jsx b/src/components/styled/Board.styled.jsx index 6b5b1967..3fd706fa 100644 --- a/src/components/styled/Board.styled.jsx +++ b/src/components/styled/Board.styled.jsx @@ -2701,6 +2701,13 @@ export const BoardForm = styled.div` margin: 4px 0; } + .highlighted { + background-color: #f0c0b0 !important; + border: 1px solid #d99f91 !important; + border-left: none !important; + border-top: none !important; + } + hr { border: none; border-top: 1px solid #d9bfb7; @@ -2867,6 +2874,13 @@ export const BoardForm = styled.div` margin: 4px 0; } + .highlighted { + background-color: #d6bad0 !important; + border: 1px solid #ba9dbf !important; + border-left: none !important; + border-top: none !important; + } + hr { border: none; border-top: 1px solid #b7c5d9; @@ -2980,7 +2994,7 @@ export const BoardForm = styled.div` } .quote-link { - color: navy; + color: #34345C; text-decoration: underline; } @@ -3024,7 +3038,6 @@ export const BoardForm = styled.div` .post-reply { background-color: #f0e0d6; - border: 1px solid #d9bfb7; margin-top: 2px; border-left: none; border-top: none; @@ -3037,6 +3050,10 @@ export const BoardForm = styled.div` margin: 4px 0 } + .highlighted { + background-color: #f0c0b0 !important; + } + hr { clear: both; }`; @@ -3157,7 +3174,7 @@ export const BoardForm = styled.div` } .quote-link:hover { - color: red; + color: #dd0000; } .backlink span { @@ -3204,6 +3221,10 @@ export const BoardForm = styled.div` margin: 4px 0 } + .highlighted { + background-color: #d6bad0 !important; + } + hr { clear: both; }`; @@ -3376,6 +3397,11 @@ export const BoardForm = styled.div` margin: 4px 0 } + .highlighted { + background-color: #1d1d21 !important; + border: 1px solid #111 !important; + } + hr { border: none; border-top: 1px solid #282a2e; @@ -3547,6 +3573,11 @@ export const BoardForm = styled.div` margin: 4px 0 } + .highlighted { + background-color: #ccc !important; + border: 1px solid #ccc !important; + } + hr { border: none; border-top: 1px solid #ddd; diff --git a/src/components/views/Board.jsx b/src/components/views/Board.jsx index c3eea593..83715356 100644 --- a/src/components/views/Board.jsx +++ b/src/components/views/Board.jsx @@ -478,7 +478,7 @@ const Board = () => {
- {}}> + handleQuoteClick(reply, shortParentCid, event)}> {`c/${shortParentCid}`}{
}@@ -636,7 +636,7 @@ const Board = () => {
- {}}> + handleQuoteClick(reply, shortParentCid, event)}> {`c/${shortParentCid}`}{
}diff --git a/src/components/views/Thread.jsx b/src/components/views/Thread.jsx index 10b63413..1167a0de 100644 --- a/src/components/views/Thread.jsx +++ b/src/components/views/Thread.jsx @@ -491,7 +491,7 @@ const Thread = () => { {}} key={`ql-${reply.cid}`} className="quote-link" - onClick={(event) => handleQuoteClick(reply, event)}> + onClick={(event) => handleQuoteClick(reply, null, event)}> c/{reply.shortCid}@@ -514,7 +514,7 @@ const Thread = () => { return ({'>>'}-+@@ -559,7 +559,7 @@ const Thread = () => {{}} key={`ql-${reply.cid}`} className="quote-link" - onClick={(event) => handleQuoteClick(reply, event)}> + onClick={(event) => handleQuoteClick(reply, reply.shortCid, event)}> c/{reply.shortCid}@@ -614,7 +614,7 @@ const Thread = () => { ) : null}{}} className="quote-link" - onClick={(event) => handleQuoteClick(reply, event)}> + onClick={(event) => handleQuoteClick(reply, shortParentCid, event)}> {`c/${shortParentCid}`}{
}diff --git a/src/utils/handleQuoteClick.js b/src/utils/handleQuoteClick.js index 916fb97e..044bbaee 100644 --- a/src/utils/handleQuoteClick.js +++ b/src/utils/handleQuoteClick.js @@ -1,9 +1,21 @@ -function handleQuoteClick(reply) { - const cid = reply.shortCid; +function handleQuoteClick(reply, parentCid) { + const cid = parentCid ? parentCid : reply.shortCid; const targetElement = [...document.querySelectorAll('.post-reply')] - .find(el => el.innerHTML.includes(cid)); + .find(el => { + const postNumberElement = el.querySelector('.post-number'); + return postNumberElement && postNumberElement.innerHTML.includes(cid); + }); + if (targetElement) { - targetElement.scrollIntoView({ behavior: "instant" }); + const highlightedElements = document.querySelectorAll('.highlighted'); + + highlightedElements.forEach(el => { + el.classList.remove('highlighted'); + }); + + targetElement.scrollIntoView({ behavior: "auto", block: "center" }); + targetElement.classList.add('highlighted'); + } else { console.log('Could not find target element'); }