summaryrefslogtreecommitdiff
path: root/src/client/components
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2020-02-10 23:17:42 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2020-02-10 23:17:42 +0900
commit2511114c287d95010e15a08deb7ff20561b0c3b0 (patch)
treec65806f5bde9a57cd6ff73b2c7805d21fbf2c898 /src/client/components
parent:art: (diff)
downloadmisskey-2511114c287d95010e15a08deb7ff20561b0c3b0.tar.gz
misskey-2511114c287d95010e15a08deb7ff20561b0c3b0.tar.bz2
misskey-2511114c287d95010e15a08deb7ff20561b0c3b0.zip
なんかもうめっちゃ変えた
Resolve #5846
Diffstat (limited to 'src/client/components')
-rw-r--r--src/client/components/autocomplete.vue2
-rw-r--r--src/client/components/emoji-picker.vue2
-rw-r--r--src/client/components/emoji.vue43
-rw-r--r--src/client/components/mfm.ts3
-rw-r--r--src/client/components/post-form.vue8
-rw-r--r--src/client/components/reaction-icon.vue12
-rw-r--r--src/client/components/signin.vue11
-rw-r--r--src/client/components/signup.vue11
8 files changed, 40 insertions, 52 deletions
diff --git a/src/client/components/autocomplete.vue b/src/client/components/autocomplete.vue
index 2ab837a2c5..f17351a6f0 100644
--- a/src/client/components/autocomplete.vue
+++ b/src/client/components/autocomplete.vue
@@ -143,7 +143,7 @@ export default Vue.extend({
this.setPosition();
//#region Construct Emoji DB
- const customEmojis = (this.$root.getMetaSync() || { emojis: [] }).emojis || [];
+ const customEmojis = this.$store.state.instance.meta.emojis;
const emojiDefinitions: EmojiDef[] = [];
for (const x of customEmojis) {
diff --git a/src/client/components/emoji-picker.vue b/src/client/components/emoji-picker.vue
index 61d641a023..a647b0ea04 100644
--- a/src/client/components/emoji-picker.vue
+++ b/src/client/components/emoji-picker.vue
@@ -140,7 +140,7 @@ export default Vue.extend({
},
created() {
- let local = (this.$root.getMetaSync() || { emojis: [] }).emojis || [];
+ let local = this.$store.state.instance.meta.emojis;
local = groupByX(local, (x: any) => x.category || '');
this.customEmojis = local;
},
diff --git a/src/client/components/emoji.vue b/src/client/components/emoji.vue
index 2e8bddb803..7784a1bf17 100644
--- a/src/client/components/emoji.vue
+++ b/src/client/components/emoji.vue
@@ -55,38 +55,35 @@ export default Vue.extend({
useOsDefaultEmojis(): boolean {
return this.$store.state.device.useOsDefaultEmojis && !this.isReaction;
+ },
+
+ ce() {
+ let ce = [];
+ if (this.customEmojis) ce = ce.concat(this.customEmojis);
+ if (this.$store.state.instance.meta && this.$store.state.instance.meta.emojis) ce = ce.concat(this.$store.state.instance.meta.emojis);
+ return ce;
}
},
watch: {
- customEmojis() {
- if (this.name) {
- const customEmoji = this.customEmojis.find(x => x.name == this.name);
- if (customEmoji) {
- this.customEmoji = customEmoji;
- this.url = this.$store.state.device.disableShowingAnimatedImages
- ? getStaticImageUrl(customEmoji.url)
- : customEmoji.url;
+ ce: {
+ handler() {
+ if (this.name) {
+ const customEmoji = this.ce.find(x => x.name == this.name);
+ if (customEmoji) {
+ this.customEmoji = customEmoji;
+ this.url = this.$store.state.device.disableShowingAnimatedImages
+ ? getStaticImageUrl(customEmoji.url)
+ : customEmoji.url;
+ }
}
- }
+ },
+ immediate: true
},
},
created() {
- if (this.name) {
- const customEmoji = this.customEmojis.find(x => x.name == this.name);
- if (customEmoji) {
- this.customEmoji = customEmoji;
- this.url = this.$store.state.device.disableShowingAnimatedImages
- ? getStaticImageUrl(customEmoji.url)
- : customEmoji.url;
- } else {
- //const emoji = lib[this.name];
- //if (emoji) {
- // this.char = emoji.char;
- //}
- }
- } else {
+ if (!this.name) {
this.char = this.emoji;
}
diff --git a/src/client/components/mfm.ts b/src/client/components/mfm.ts
index 719e9fe94a..275167836e 100644
--- a/src/client/components/mfm.ts
+++ b/src/client/components/mfm.ts
@@ -234,7 +234,6 @@ export default Vue.component('misskey-flavored-markdown', {
}
case 'emoji': {
- const customEmojis = (this.$root.getMetaSync() || { emojis: [] }).emojis || [];
return [createElement('mk-emoji', {
key: Math.random(),
attrs: {
@@ -242,7 +241,7 @@ export default Vue.component('misskey-flavored-markdown', {
name: token.node.props.name
},
props: {
- customEmojis: this.customEmojis || customEmojis,
+ customEmojis: this.customEmojis,
normal: this.plain
}
})];
diff --git a/src/client/components/post-form.vue b/src/client/components/post-form.vue
index 6716fa1b7c..6645c4f1f4 100644
--- a/src/client/components/post-form.vue
+++ b/src/client/components/post-form.vue
@@ -8,7 +8,7 @@
<header>
<button class="cancel _button" @click="cancel"><fa :icon="faTimes"/></button>
<div>
- <span class="text-count" :class="{ over: trimmedLength(text) > 500 }">{{ 500 - trimmedLength(text) }}</span>
+ <span class="text-count" :class="{ over: trimmedLength(text) > max }">{{ max - trimmedLength(text) }}</span>
<button class="_button visibility" @click="setVisibility" ref="visibilityButton">
<span v-if="visibility === 'public'"><fa :icon="faGlobe"/></span>
<span v-if="visibility === 'home'"><fa :icon="faHome"/></span>
@@ -172,8 +172,12 @@ export default Vue.extend({
canPost(): boolean {
return !this.posting &&
(1 <= this.text.length || 1 <= this.files.length || this.poll || this.renote) &&
- (length(this.text.trim()) <= 500) &&
+ (length(this.text.trim()) <= this.max) &&
(!this.poll || this.pollChoices.length >= 2);
+ },
+
+ max(): number {
+ return this.$store.state.instance.meta ? this.$store.state.instance.meta.maxNoteTextLength : 1000;
}
},
diff --git a/src/client/components/reaction-icon.vue b/src/client/components/reaction-icon.vue
index 368ddc0efc..9155c59440 100644
--- a/src/client/components/reaction-icon.vue
+++ b/src/client/components/reaction-icon.vue
@@ -1,5 +1,5 @@
<template>
-<mk-emoji :emoji="reaction.startsWith(':') ? null : reaction" :name="reaction.startsWith(':') ? reaction.substr(1, reaction.length - 2) : null" :is-reaction="true" :custom-emojis="customEmojis" :normal="true" :no-style="noStyle"/>
+<mk-emoji :emoji="reaction.startsWith(':') ? null : reaction" :name="reaction.startsWith(':') ? reaction.substr(1, reaction.length - 2) : null" :is-reaction="true" :normal="true" :no-style="noStyle"/>
</template>
<script lang="ts">
@@ -18,15 +18,5 @@ export default Vue.extend({
default: false
},
},
- data() {
- return {
- customEmojis: []
- };
- },
- created() {
- this.$root.getMeta().then(meta => {
- if (meta && meta.emojis) this.customEmojis = meta.emojis;
- });
- },
});
</script>
diff --git a/src/client/components/signin.vue b/src/client/components/signin.vue
index 1526f554a4..22b5ec804c 100644
--- a/src/client/components/signin.vue
+++ b/src/client/components/signin.vue
@@ -82,7 +82,6 @@ export default Vue.extend({
token: '',
apiUrl,
host: toUnicode(host),
- meta: null,
totpLogin: false,
credential: null,
challengeData: null,
@@ -91,11 +90,13 @@ export default Vue.extend({
};
},
- created() {
- this.$root.getMeta().then(meta => {
- this.meta = meta;
- });
+ computed: {
+ meta() {
+ return this.$store.state.instance.meta;
+ },
+ },
+ created() {
if (this.autoSet) {
this.$once('login', res => {
localStorage.setItem('i', res.i);
diff --git a/src/client/components/signup.vue b/src/client/components/signup.vue
index c03a99def6..47c32a3364 100644
--- a/src/client/components/signup.vue
+++ b/src/client/components/signup.vue
@@ -79,7 +79,6 @@ export default Vue.extend({
usernameState: null,
passwordStrength: '',
passwordRetypeState: null,
- meta: {},
submitting: false,
ToSAgreement: false,
faLock, faExclamationTriangle, faSpinner, faCheck
@@ -87,6 +86,10 @@ export default Vue.extend({
},
computed: {
+ meta() {
+ return this.$store.state.instance.meta;
+ },
+
shouldShowProfileUrl(): boolean {
return (this.username != '' &&
this.usernameState != 'invalid-format' &&
@@ -95,12 +98,6 @@ export default Vue.extend({
}
},
- created() {
- this.$root.getMeta().then(meta => {
- this.meta = meta;
- });
- },
-
mounted() {
const head = document.getElementsByTagName('head')[0];
const script = document.createElement('script');