From 654cf60e582082d361dbaa1968b399e7daccf56f Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Fri, 21 Aug 2020 11:20:43 +0900
Subject: [PATCH] refs #1453 Add quote button on toot
---
src/constants/servers/quote.ts | 3 +++
src/renderer/components/organisms/Toot.vue | 10 +++++++++-
src/renderer/utils/quoteSupported.ts | 13 +++++++++++++
3 files changed, 25 insertions(+), 1 deletion(-)
create mode 100644 src/constants/servers/quote.ts
create mode 100644 src/renderer/utils/quoteSupported.ts
diff --git a/src/constants/servers/quote.ts b/src/constants/servers/quote.ts
new file mode 100644
index 00000000..0acb30cd
--- /dev/null
+++ b/src/constants/servers/quote.ts
@@ -0,0 +1,3 @@
+const QuoteSupportMastodon: Array = ['fedibird.com']
+
+export { QuoteSupportMastodon }
diff --git a/src/renderer/components/organisms/Toot.vue b/src/renderer/components/organisms/Toot.vue
index b05e7837..ba8701fc 100644
--- a/src/renderer/components/organisms/Toot.vue
+++ b/src/renderer/components/organisms/Toot.vue
@@ -167,6 +167,9 @@
{{ favouritesCount }}
+
+
+
@@ -242,6 +245,7 @@ import Poll from '~/src/renderer/components/molecules/Toot/Poll'
import LinkPreview from '~/src/renderer/components/molecules/Toot/LinkPreview'
import Quote from '@/components/molecules/Toot/Quote'
import { setInterval, clearInterval } from 'timers'
+import QuoteSupported from '@/utils/quoteSupported'
export default {
name: 'toot',
@@ -298,7 +302,8 @@ export default {
language: state => state.language
}),
...mapState('TimelineSpace', {
- sns: state => state.sns
+ sns: state => state.sns,
+ account: state => state.account
}),
shortcutEnabled: function () {
return this.focused && !this.overlaid && !this.openEmojiPicker
@@ -369,6 +374,9 @@ export default {
},
directed: function () {
return this.message.visibility === 'direct'
+ },
+ quoteSupported: function () {
+ return QuoteSupported(this.sns, this.account)
}
},
mounted() {
diff --git a/src/renderer/utils/quoteSupported.ts b/src/renderer/utils/quoteSupported.ts
new file mode 100644
index 00000000..e3fae2d9
--- /dev/null
+++ b/src/renderer/utils/quoteSupported.ts
@@ -0,0 +1,13 @@
+import { QuoteSupportMastodon } from '~/src/constants/servers/quote'
+
+const quoteSupported = (sns: 'mastodon' | 'pleroma' | 'misskey', domain: string): boolean => {
+ if (sns === 'misskey') {
+ return true
+ }
+ if (QuoteSupportMastodon.includes(domain)) {
+ return true
+ }
+ return false
+}
+
+export default quoteSupported