aboutsummaryrefslogtreecommitdiff
path: root/src/components/mentions_line/mentions_line.js
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2021-06-08 14:34:47 +0300
committerHenry Jameson <me@hjkos.com>2021-06-08 14:34:47 +0300
commit2f383c2c0197b94b30fdc4c5e0c742c7e104be20 (patch)
tree7b4b025a8f4f32fb413ad617f7c9e74b72ae2c16 /src/components/mentions_line/mentions_line.js
parent73127f0e2587ae2e06c3480451e9ea7fce3ce4c7 (diff)
moved mentions into a separate component - MentionLine, added collapsing
of mentions when there's too many of 'em
Diffstat (limited to 'src/components/mentions_line/mentions_line.js')
-rw-r--r--src/components/mentions_line/mentions_line.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/components/mentions_line/mentions_line.js b/src/components/mentions_line/mentions_line.js
new file mode 100644
index 00000000..837935ec
--- /dev/null
+++ b/src/components/mentions_line/mentions_line.js
@@ -0,0 +1,51 @@
+import MentionLink from 'src/components/mention_link/mention_link.vue'
+import { mapGetters } from 'vuex'
+
+const MentionsLine = {
+ name: 'MentionsLine',
+ props: {
+ attentions: {
+ required: true,
+ type: Object
+ }
+ },
+ data: () => ({ expanded: false }),
+ components: {
+ MentionLink
+ },
+ computed: {
+ oldStyle () {
+ return this.mergedConfig.mentionsOldStyle
+ },
+ limit () {
+ return 1
+ },
+ mentions () {
+ return this.attentions.slice(0, this.limit)
+ },
+ extraMentions () {
+ return this.attentions.slice(this.limit)
+ },
+ manyMentions () {
+ return this.extraMentions.length > 0
+ },
+ buttonClasses () {
+ return [
+ this.oldStyle
+ ? 'button-unstyled'
+ : 'button-default -sublime',
+ this.oldStyle
+ ? '-oldStyle'
+ : '-newStyle'
+ ]
+ },
+ ...mapGetters(['mergedConfig']),
+ },
+ methods: {
+ toggleShowMore () {
+ this.expanded = !this.expanded
+ }
+ }
+}
+
+export default MentionsLine