2020-04-27 09:53:04 +00:00
|
|
|
import Attachment from '../attachment/attachment.vue'
|
|
|
|
import Poll from '../poll/poll.vue'
|
|
|
|
import Gallery from '../gallery/gallery.vue'
|
2021-06-07 16:50:26 +00:00
|
|
|
import StatusBody from 'src/components/status_body/status_body.vue'
|
2020-04-27 09:53:04 +00:00
|
|
|
import LinkPreview from '../link-preview/link-preview.vue'
|
|
|
|
import { mapGetters, mapState } from 'vuex'
|
2020-10-20 21:01:28 +00:00
|
|
|
import { library } from '@fortawesome/fontawesome-svg-core'
|
|
|
|
import {
|
|
|
|
faCircleNotch,
|
|
|
|
faFile,
|
|
|
|
faMusic,
|
|
|
|
faImage,
|
|
|
|
faLink,
|
|
|
|
faPollH
|
|
|
|
} from '@fortawesome/free-solid-svg-icons'
|
|
|
|
|
|
|
|
library.add(
|
|
|
|
faCircleNotch,
|
|
|
|
faFile,
|
|
|
|
faMusic,
|
|
|
|
faImage,
|
|
|
|
faLink,
|
|
|
|
faPollH
|
|
|
|
)
|
2020-04-27 09:53:04 +00:00
|
|
|
|
|
|
|
const StatusContent = {
|
|
|
|
name: 'StatusContent',
|
|
|
|
props: [
|
|
|
|
'status',
|
2021-06-13 23:52:41 +00:00
|
|
|
'compact',
|
2020-04-27 09:53:04 +00:00
|
|
|
'focused',
|
|
|
|
'noHeading',
|
2020-07-07 20:33:08 +00:00
|
|
|
'fullContent',
|
2021-08-11 23:49:37 +00:00
|
|
|
'singleLine'
|
2020-04-27 09:53:04 +00:00
|
|
|
],
|
|
|
|
computed: {
|
|
|
|
hideAttachments () {
|
|
|
|
return (this.mergedConfig.hideAttachments && !this.inConversation) ||
|
|
|
|
(this.mergedConfig.hideAttachmentsInConv && this.inConversation)
|
|
|
|
},
|
|
|
|
nsfwClickthrough () {
|
|
|
|
if (!this.status.nsfw) {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
if (this.status.summary && this.localCollapseSubjectDefault) {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
return true
|
|
|
|
},
|
|
|
|
attachmentSize () {
|
2022-01-24 17:53:17 +00:00
|
|
|
if (this.compact) {
|
|
|
|
return 'small'
|
|
|
|
} else if ((this.mergedConfig.hideAttachments && !this.inConversation) ||
|
2020-04-27 09:53:04 +00:00
|
|
|
(this.mergedConfig.hideAttachmentsInConv && this.inConversation) ||
|
|
|
|
(this.status.attachments.length > this.maxThumbnails)) {
|
|
|
|
return 'hide'
|
|
|
|
}
|
|
|
|
return 'normal'
|
|
|
|
},
|
|
|
|
maxThumbnails () {
|
|
|
|
return this.mergedConfig.maxThumbnails
|
|
|
|
},
|
|
|
|
...mapGetters(['mergedConfig']),
|
|
|
|
...mapState({
|
|
|
|
currentUser: state => state.users.currentUser
|
|
|
|
})
|
|
|
|
},
|
|
|
|
components: {
|
|
|
|
Attachment,
|
|
|
|
Poll,
|
|
|
|
Gallery,
|
2021-06-07 00:14:48 +00:00
|
|
|
LinkPreview,
|
2021-06-07 16:50:26 +00:00
|
|
|
StatusBody
|
2020-04-27 09:53:04 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default StatusContent
|