forked from AkkomaGang/akkoma-fe
separate reply button to its own component, add changelog entry
This commit is contained in:
parent
40ca0b394e
commit
f9ac23b9a9
5 changed files with 48 additions and 27 deletions
|
@ -6,6 +6,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
## [Unreleased patch]
|
## [Unreleased patch]
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Proper handling of deletes when using websocket streaming
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- Polls will be hidden with status content if "Collapse posts with subjects" is enabled and the post is collapsed.
|
- Polls will be hidden with status content if "Collapse posts with subjects" is enabled and the post is collapsed.
|
||||||
|
|
||||||
|
|
12
src/components/reply_button/reply_button.js
Normal file
12
src/components/reply_button/reply_button.js
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
|
||||||
|
const ReplyButton = {
|
||||||
|
name: 'ReplyButton',
|
||||||
|
props: ['status', 'replying'],
|
||||||
|
computed: {
|
||||||
|
loggedIn () {
|
||||||
|
return !!this.$store.state.users.currentUser
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ReplyButton
|
21
src/components/reply_button/reply_button.vue
Normal file
21
src/components/reply_button/reply_button.vue
Normal file
|
@ -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>
|
|
@ -1,3 +1,4 @@
|
||||||
|
import ReplyButton from '../reply_button/reply_button.vue'
|
||||||
import FavoriteButton from '../favorite_button/favorite_button.vue'
|
import FavoriteButton from '../favorite_button/favorite_button.vue'
|
||||||
import ReactButton from '../react_button/react_button.vue'
|
import ReactButton from '../react_button/react_button.vue'
|
||||||
import RetweetButton from '../retweet_button/retweet_button.vue'
|
import RetweetButton from '../retweet_button/retweet_button.vue'
|
||||||
|
@ -20,6 +21,7 @@ import { mapGetters, mapState } from 'vuex'
|
||||||
const Status = {
|
const Status = {
|
||||||
name: 'Status',
|
name: 'Status',
|
||||||
components: {
|
components: {
|
||||||
|
ReplyButton,
|
||||||
FavoriteButton,
|
FavoriteButton,
|
||||||
ReactButton,
|
ReactButton,
|
||||||
RetweetButton,
|
RetweetButton,
|
||||||
|
|
|
@ -321,21 +321,11 @@
|
||||||
v-if="!noHeading && !isPreview"
|
v-if="!noHeading && !isPreview"
|
||||||
class="status-actions"
|
class="status-actions"
|
||||||
>
|
>
|
||||||
<div>
|
<reply-button
|
||||||
<i
|
:replying="replying"
|
||||||
v-if="loggedIn"
|
:status="status"
|
||||||
class="button-icon button-reply icon-reply"
|
@toggle="toggleReplying"
|
||||||
: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>
|
|
||||||
<retweet-button
|
<retweet-button
|
||||||
:visibility="status.visibility"
|
:visibility="status.visibility"
|
||||||
:logged-in="loggedIn"
|
:logged-in="loggedIn"
|
||||||
|
@ -368,20 +358,13 @@
|
||||||
<div class="deleted-text">
|
<div class="deleted-text">
|
||||||
{{ $t('status.status_deleted') }}
|
{{ $t('status.status_deleted') }}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<reply-button
|
||||||
v-if="replying"
|
:replying="replying"
|
||||||
class="status-actions"
|
:status="status"
|
||||||
>
|
@toggle="toggleReplying"
|
||||||
<i
|
|
||||||
v-if="loggedIn"
|
|
||||||
class="button-icon button-reply icon-reply"
|
|
||||||
:title="$t('tool_tip.reply')"
|
|
||||||
:class="{'-active': replying}"
|
|
||||||
@click.prevent="toggleReplying"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div
|
<div
|
||||||
v-if="replying"
|
v-if="replying"
|
||||||
class="status-container reply-form"
|
class="status-container reply-form"
|
||||||
|
|
Loading…
Reference in a new issue