From b806902bc4cd5c1f7dea05e5aab6b15de8dded59 Mon Sep 17 00:00:00 2001
From: Paul <paulmakles@gmail.com>
Date: Fri, 9 Jul 2021 10:15:32 +0100
Subject: [PATCH] Fix: Prevent clicking on links in reply / channel header.
 Jump to existing message if exists.

---
 .../common/messaging/attachments/MessageReply.tsx      |  5 ++++-
 src/lib/renderer/Singleton.ts                          | 10 ++++++++++
 src/pages/channels/ChannelHeader.tsx                   |  4 ++++
 3 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/src/components/common/messaging/attachments/MessageReply.tsx b/src/components/common/messaging/attachments/MessageReply.tsx
index b9b0e6b..435f2d5 100644
--- a/src/components/common/messaging/attachments/MessageReply.tsx
+++ b/src/components/common/messaging/attachments/MessageReply.tsx
@@ -45,10 +45,13 @@ export const ReplyBase = styled.div<{
     .content {
         gap: 4px;
         display: flex;
+        cursor: pointer;
         align-items: center;
         flex-direction: row;
 
-        cursor: pointer;
+        > * {
+            pointer-events: none;
+        }
     }
 
     > svg:first-child {
diff --git a/src/lib/renderer/Singleton.ts b/src/lib/renderer/Singleton.ts
index 83bb2ef..be9829d 100644
--- a/src/lib/renderer/Singleton.ts
+++ b/src/lib/renderer/Singleton.ts
@@ -73,6 +73,16 @@ export class SingletonRenderer extends EventEmitter3 {
     }
 
     async init(id: string, message_id?: string) {
+        if (message_id) {
+            if (this.state.type === 'RENDER') {
+                let message = this.state.messages.find(x => x._id === message_id);
+                if (message) {
+                    this.emit("scroll", { type: "ScrollToView", id: message_id });
+                    return;
+                }
+            }
+        }
+
         this.channel = id;
         this.stale = false;
         this.setStateUnguarded({ type: "LOADING" });
diff --git a/src/pages/channels/ChannelHeader.tsx b/src/pages/channels/ChannelHeader.tsx
index 31cb705..95b964b 100644
--- a/src/pages/channels/ChannelHeader.tsx
+++ b/src/pages/channels/ChannelHeader.tsx
@@ -58,6 +58,10 @@ const Info = styled.div`
         font-size: 0.8em;
         font-weight: 400;
         color: var(--secondary-foreground);
+        
+        > * {
+            pointer-events: none;
+        }
     }
 `;
 
-- 
GitLab