aboutsummaryrefslogtreecommitdiff
path: root/src/components/retweet_button/retweet_button.vue
diff options
context:
space:
mode:
authorShpuld Shpludson <shp@cock.li>2020-12-01 11:02:46 +0000
committerShpuld Shpludson <shp@cock.li>2020-12-01 11:02:46 +0000
commitfdfb8810c1d8ab64969c38aa1a6bce1daf013249 (patch)
tree14efedfdbbfca297da51819235c71ca685cc9902 /src/components/retweet_button/retweet_button.vue
parentc655699935ce6fd8b5d0a744dafd6403e32277b7 (diff)
parent655d985a82d194cd38c5ec75f1b0153804965d5f (diff)
Merge branch 'fix/use-semantically-correct-buttons' into 'develop'
Fix #1001 Accessibility: Use semantically correct buttons (almost) everywhere Closes #1001 See merge request pleroma/pleroma-fe!1293
Diffstat (limited to 'src/components/retweet_button/retweet_button.vue')
-rw-r--r--src/components/retweet_button/retweet_button.vue74
1 files changed, 44 insertions, 30 deletions
diff --git a/src/components/retweet_button/retweet_button.vue b/src/components/retweet_button/retweet_button.vue
index b234f3d9..859ce499 100644
--- a/src/components/retweet_button/retweet_button.vue
+++ b/src/components/retweet_button/retweet_button.vue
@@ -1,33 +1,38 @@
<template>
- <div v-if="loggedIn">
- <template v-if="visibility !== 'private' && visibility !== 'direct'">
+ <div class="RetweetButton">
+ <button
+ v-if="visibility !== 'private' && visibility !== 'direct' && loggedIn"
+ class="button-unstyled interactive"
+ :class="status.repeated && '-repeated'"
+ :title="$t('tool_tip.repeat')"
+ @click.prevent="retweet()"
+ >
<FAIcon
- :class="classes"
- class="RetweetButton fa-scale-110 fa-old-padding -interactive"
+ class="fa-scale-110 fa-old-padding"
icon="retweet"
:spin="animated"
- :title="$t('tool_tip.repeat')"
- @click.prevent="retweet()"
/>
- <span v-if="!mergedConfig.hidePostStats && status.repeat_num > 0">{{ status.repeat_num }}</span>
- </template>
- <template v-else>
+ </button>
+ <span v-else-if="loggedIn">
<FAIcon
- :class="classes"
- class="RetweetButton fa-scale-110 fa-old-padding"
+ class="fa-scale-110 fa-old-padding"
icon="lock"
:title="$t('timeline.no_retweet_hint')"
/>
- </template>
- </div>
- <div v-else-if="!loggedIn">
- <FAIcon
- :class="classes"
- class="fa-scale-110 fa-old-padding"
- icon="retweet"
- :title="$t('tool_tip.repeat')"
- />
- <span v-if="!mergedConfig.hidePostStats && status.repeat_num > 0">{{ status.repeat_num }}</span>
+ </span>
+ <span v-else>
+ <FAIcon
+ class="fa-scale-110 fa-old-padding"
+ icon="retweet"
+ :title="$t('tool_tip.repeat')"
+ />
+ </span>
+ <span
+ v-if="!mergedConfig.hidePostStats && status.repeat_num > 0"
+ class="no-event"
+ >
+ {{ status.repeat_num }}
+ </span>
</div>
</template>
@@ -37,19 +42,28 @@
@import '../../_variables.scss';
.RetweetButton {
- &.-interactive {
- cursor: pointer;
- animation-duration: 0.6s;
+ display: flex;
- &:hover {
+ > :first-child {
+ padding: 10px;
+ margin: -10px -8px -10px -10px;
+ }
+
+ .action-counter {
+ pointer-events: none;
+ user-select: none;
+ }
+
+ .interactive {
+ .svg-inline--fa {
+ animation-duration: 0.6s;
+ }
+
+ &:hover .svg-inline--fa,
+ &.-repeated .svg-inline--fa {
color: $fallback--cGreen;
color: var(--cGreen, $fallback--cGreen);
}
}
-
- &.-repeated {
- color: $fallback--cGreen;
- color: var(--cGreen, $fallback--cGreen);
- }
}
</style>