From 4e9acb65021d4b7982411a3fcb1a4981c24fa60c Mon Sep 17 00:00:00 2001
From: ari melody
Date: Mon, 1 Jul 2024 07:58:48 +0100
Subject: [PATCH] only mouse1 clicks should cause posts to open
---
src/lib/ui/post/Post.svelte | 12 +++++++++---
src/lib/ui/post/ReplyContext.svelte | 13 ++++++++++---
2 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/src/lib/ui/post/Post.svelte b/src/lib/ui/post/Post.svelte
index b4e9dbe..15f01aa 100644
--- a/src/lib/ui/post/Post.svelte
+++ b/src/lib/ui/post/Post.svelte
@@ -32,9 +32,15 @@
let mouse_pos = { top: 0, left: 0 };
- function gotoPost() {
+ function gotoPost(event) {
if (focused) return;
- if (event && event.key && event.key !== "Enter") return;
+ if (event) {
+ if (event.type == "mouseup" && (
+ event.button !== 0 ||
+ event.shiftKey ||
+ event.ctrlKey)) return;
+ if (event.key && event.key !== "Enter") return;
+ }
goto(`/post/${post.id}`);
}
@@ -62,7 +68,7 @@
aria-label={aria_label}
bind:this={el}
on:mousedown={e => {mouse_pos.left = e.pageX; mouse_pos.top = e.pageY}}
- on:mouseup={e => {if (e.pageX == mouse_pos.left && e.pageY == mouse_pos.top) gotoPost()}}
+ on:mouseup={e => {if (e.pageX == mouse_pos.left && e.pageY == mouse_pos.top) gotoPost(e)}}
on:keydown={gotoPost}>
diff --git a/src/lib/ui/post/ReplyContext.svelte b/src/lib/ui/post/ReplyContext.svelte
index ee67857..20d7ab4 100644
--- a/src/lib/ui/post/ReplyContext.svelte
+++ b/src/lib/ui/post/ReplyContext.svelte
@@ -16,8 +16,15 @@
let mouse_pos = { top: 0, left: 0 };
- function gotoPost() {
- if (event && event.key && event.key !== "Enter") return;
+ function gotoPost(event) {
+ if (event) {
+
+ if (event.type == "mouseup" && (
+ event.button !== 0 ||
+ event.shiftKey ||
+ event.ctrlKey)) return;
+ if (event.key && event.key !== "Enter") return;
+ }
goto(`/post/${post.id}`);
}
@@ -32,7 +39,7 @@
class="post-reply"
aria-label={aria_label}
on:mousedown={e => {mouse_pos.left = e.pageX; mouse_pos.top = e.pageY}}
- on:mouseup={e => {if (e.pageX == mouse_pos.left && e.pageY == mouse_pos.top) gotoPost()}}
+ on:mouseup={e => {if (e.pageX == mouse_pos.left && e.pageY == mouse_pos.top) gotoPost(e)}}
on:keydown={gotoPost}>