aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/reply_button/reply_button.js12
-rw-r--r--src/components/reply_button/reply_button.vue21
-rw-r--r--src/components/status/status.js2
-rw-r--r--src/components/status/status.vue37
4 files changed, 45 insertions, 27 deletions
diff --git a/src/components/reply_button/reply_button.js b/src/components/reply_button/reply_button.js
new file mode 100644
index 00000000..22957650
--- /dev/null
+++ b/src/components/reply_button/reply_button.js
@@ -0,0 +1,12 @@
+
+const ReplyButton = {
+ name: 'ReplyButton',
+ props: ['status', 'replying'],
+ computed: {
+ loggedIn () {
+ return !!this.$store.state.users.currentUser
+ }
+ }
+}
+
+export default ReplyButton
diff --git a/src/components/reply_button/reply_button.vue b/src/components/reply_button/reply_button.vue
new file mode 100644
index 00000000..b2904b5c
--- /dev/null
+++ b/src/components/reply_button/reply_button.vue
@@ -0,0 +1,21 @@
+<template>
+ <div>
+ <i
+ v-if="loggedIn"
+ class="button-icon button-reply icon-reply"
+ :title="$t('tool_tip.reply')"
+ :class="{'-active': replying}"
+ @click.prevent="$emit('toggle')"
+ />
+ <i
+ v-else
+ class="button-icon button-reply -disabled icon-reply"
+ :title="$t('tool_tip.reply')"
+ />
+ <span v-if="status.replies_count > 0">
+ {{ status.replies_count }}
+ </span>
+ </div>
+</template>
+
+<script src="./reply_button.js"></script>
diff --git a/src/components/status/status.js b/src/components/status/status.js
index 5a6110c1..cb39fd6e 100644
--- a/src/components/status/status.js
+++ b/src/components/status/status.js
@@ -1,3 +1,4 @@
+import ReplyButton from '../reply_button/reply_button.vue'
import FavoriteButton from '../favorite_button/favorite_button.vue'
import ReactButton from '../react_button/react_button.vue'
import RetweetButton from '../retweet_button/retweet_button.vue'
@@ -20,6 +21,7 @@ import { mapGetters, mapState } from 'vuex'
const Status = {
name: 'Status',
components: {
+ ReplyButton,
FavoriteButton,
ReactButton,
RetweetButton,
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index d7dfc0ab..cb81b14e 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -321,21 +321,11 @@
v-if="!noHeading && !isPreview"
class="status-actions"
>
- <div>
- <i
- v-if="loggedIn"
- class="button-icon button-reply icon-reply"
- :title="$t('tool_tip.reply')"
- :class="{'-active': replying}"
- @click.prevent="toggleReplying"
- />
- <i
- v-else
- class="button-icon button-reply -disabled icon-reply"
- :title="$t('tool_tip.reply')"
- />
- <span v-if="status.replies_count > 0">{{ status.replies_count }}</span>
- </div>
+ <reply-button
+ :replying="replying"
+ :status="status"
+ @toggle="toggleReplying"
+ />
<retweet-button
:visibility="status.visibility"
:logged-in="loggedIn"
@@ -368,18 +358,11 @@
<div class="deleted-text">
{{ $t('status.status_deleted') }}
</div>
- <div
- v-if="replying"
- class="status-actions"
- >
- <i
- v-if="loggedIn"
- class="button-icon button-reply icon-reply"
- :title="$t('tool_tip.reply')"
- :class="{'-active': replying}"
- @click.prevent="toggleReplying"
- />
- </div>
+ <reply-button
+ :replying="replying"
+ :status="status"
+ @toggle="toggleReplying"
+ />
</div>
</div>
<div