aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2020-11-02 23:43:32 +0200
committerHenry Jameson <me@hjkos.com>2020-11-02 23:43:32 +0200
commite351665bb31745e2639abef3e47bf4f9df616d6b (patch)
treedf8ca410ea57bfd4257d7bacfec8f61dd12b5169 /src
parentf0a66448eeedb348f71b09334b6e7b3c411baeea (diff)
Instead of blocking all interaction, only block interaction in places
that matter
Diffstat (limited to 'src')
-rw-r--r--src/components/extra_buttons/extra_buttons.vue4
-rw-r--r--src/components/favorite_button/favorite_button.vue4
-rw-r--r--src/components/react_button/react_button.vue4
-rw-r--r--src/components/reply_button/reply_button.vue4
-rw-r--r--src/components/retweet_button/retweet_button.vue4
-rw-r--r--src/components/status/status.scss14
-rw-r--r--src/components/status/status.vue1
-rw-r--r--src/components/status_content/status_content.vue4
-rw-r--r--src/components/timeline/timeline.js2
-rw-r--r--src/components/timeline/timeline.vue2
-rw-r--r--src/components/user_card/user_card.vue4
11 files changed, 45 insertions, 2 deletions
diff --git a/src/components/extra_buttons/extra_buttons.vue b/src/components/extra_buttons/extra_buttons.vue
index a33f6e87..984b0483 100644
--- a/src/components/extra_buttons/extra_buttons.vue
+++ b/src/components/extra_buttons/extra_buttons.vue
@@ -120,5 +120,9 @@
color: $fallback--text;
color: var(--text, $fallback--text);
}
+
+ ._misclick-prevention & {
+ pointer-events: none !important;
+ }
}
</style>
diff --git a/src/components/favorite_button/favorite_button.vue b/src/components/favorite_button/favorite_button.vue
index dfe12f86..55872133 100644
--- a/src/components/favorite_button/favorite_button.vue
+++ b/src/components/favorite_button/favorite_button.vue
@@ -35,6 +35,10 @@
color: $fallback--cOrange;
color: var(--cOrange, $fallback--cOrange);
}
+
+ ._misclick-prevention & {
+ pointer-events: none !important;
+ }
}
&.-favorited {
diff --git a/src/components/react_button/react_button.vue b/src/components/react_button/react_button.vue
index 95d95b11..bb4472d7 100644
--- a/src/components/react_button/react_button.vue
+++ b/src/components/react_button/react_button.vue
@@ -107,6 +107,10 @@
color: $fallback--text;
color: var(--text, $fallback--text);
}
+
+ ._misclick-prevention & {
+ pointer-events: none !important;
+ }
}
</style>
diff --git a/src/components/reply_button/reply_button.vue b/src/components/reply_button/reply_button.vue
index a0ac8941..4ca37d5e 100644
--- a/src/components/reply_button/reply_button.vue
+++ b/src/components/reply_button/reply_button.vue
@@ -34,6 +34,10 @@
color: $fallback--cBlue;
color: var(--cBlue, $fallback--cBlue);
}
+
+ ._misclick-prevention & {
+ pointer-events: none !important;
+ }
}
}
</style>
diff --git a/src/components/retweet_button/retweet_button.vue b/src/components/retweet_button/retweet_button.vue
index b234f3d9..b79fcd75 100644
--- a/src/components/retweet_button/retweet_button.vue
+++ b/src/components/retweet_button/retweet_button.vue
@@ -45,6 +45,10 @@
color: $fallback--cGreen;
color: var(--cGreen, $fallback--cGreen);
}
+
+ ._misclick-prevention & {
+ pointer-events: none !important;
+ }
}
&.-repeated {
diff --git a/src/components/status/status.scss b/src/components/status/status.scss
index 0a395086..769f7ef4 100644
--- a/src/components/status/status.scss
+++ b/src/components/status/status.scss
@@ -59,6 +59,12 @@ $status-margin: 0.75em;
justify-content: flex-end;
}
+ .user-avatar {
+ ._misclick-prevention & {
+ pointer-events: none !important;
+ }
+ }
+
.left-side {
margin-right: $status-margin;
}
@@ -108,6 +114,10 @@ $status-margin: 0.75em;
a {
display: inline-block;
word-break: break-all;
+
+ ._misclick-prevention & {
+ pointer-events: none !important;
+ }
}
}
@@ -250,6 +260,10 @@ $status-margin: 0.75em;
vertical-align: middle;
object-fit: contain;
}
+
+ ._misclick-prevention & a {
+ pointer-events: none !important;
+ }
}
.status-fadein {
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index 21412faa..eb54befc 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -119,6 +119,7 @@
>
<router-link
:to="userProfileLink"
+ class="user-avatar"
@click.stop.prevent.capture.native="toggleUserExpanded"
>
<UserAvatar
diff --git a/src/components/status_content/status_content.vue b/src/components/status_content/status_content.vue
index 321cd477..e3875498 100644
--- a/src/components/status_content/status_content.vue
+++ b/src/components/status_content/status_content.vue
@@ -240,6 +240,10 @@ $status-margin: 0.75em;
word-wrap: break-word;
word-break: break-word;
+ ._misclick-prevention & :not(.attachments) a {
+ pointer-events: none !important;
+ }
+
blockquote {
margin: 0.2em 0 0.2em 2em;
font-style: italic;
diff --git a/src/components/timeline/timeline.js b/src/components/timeline/timeline.js
index 368ee81b..cba46daf 100644
--- a/src/components/timeline/timeline.js
+++ b/src/components/timeline/timeline.js
@@ -72,7 +72,7 @@ const Timeline = {
},
classes () {
let rootClasses = !this.embedded ? ['panel', 'panel-default'] : []
- if (this.blockingClicks) rootClasses = rootClasses.concat(['-blocked'])
+ if (this.blockingClicks) rootClasses = rootClasses.concat(['-blocked', '_misclick-prevention'])
return {
root: rootClasses,
header: ['timeline-heading'].concat(!this.embedded ? ['panel-heading'] : []),
diff --git a/src/components/timeline/timeline.vue b/src/components/timeline/timeline.vue
index 373b946f..04859852 100644
--- a/src/components/timeline/timeline.vue
+++ b/src/components/timeline/timeline.vue
@@ -113,7 +113,7 @@
}
&.-blocked {
- pointer-events: none;
+ cursor: progress;
}
}
diff --git a/src/components/user_card/user_card.vue b/src/components/user_card/user_card.vue
index f916af9d..d1cfe654 100644
--- a/src/components/user_card/user_card.vue
+++ b/src/components/user_card/user_card.vue
@@ -282,6 +282,10 @@
.user-card {
position: relative;
+ ._misclick-prevention & {
+ pointer-events: none !important;
+ }
+
&:hover .Avatar {
--_still-image-img-visibility: visible;
--_still-image-canvas-visibility: hidden;