Skip to content

Commit

Permalink
リアクションのインスタンス設定を削除
Browse files Browse the repository at this point in the history
  • Loading branch information
mei23 committed Jan 13, 2020
1 parent 526e023 commit 13b31f8
Show file tree
Hide file tree
Showing 11 changed files with 12 additions and 63 deletions.
2 changes: 0 additions & 2 deletions locales/en-US.yml
Expand Up @@ -1240,8 +1240,6 @@ admin/views/instance.vue:
disable-local-timeline: "Disable the Local Timeline"
disable-global-timeline: "Disable global timeline"
disabling-timelines-info: "Even if you disable these timelines, the administrator as well as moderators can use them continually."
enable-emoji-reaction: "Enable pictograms for reactions"
use-star-for-reaction-fallback: "Use the star as fallback for unknown reaction"
invite: "Invite"
save: "Save"
saved: "Saved"
Expand Down
2 changes: 0 additions & 2 deletions locales/ja-JP.yml
Expand Up @@ -1370,8 +1370,6 @@ admin/views/instance.vue:
disable-local-timeline: "ローカルタイムラインを無効にする"
disable-global-timeline: "グローバルタイムラインを無効にする"
disabling-timelines-info: "これらのタイムラインを無効にしても、管理者およびモデレーターは引き続き利用できます。"
enable-emoji-reaction: "リアクションに絵文字を使えるようにする"
use-star-for-reaction-fallback: "不明なリアクションのフォールバックに star を使う"
invite: "招待"
save: "保存"
saved: "保存しました"
Expand Down
2 changes: 0 additions & 2 deletions locales/ko-KR.yml
Expand Up @@ -1105,8 +1105,6 @@ admin/views/instance.vue:
disable-local-timeline: "로컬 타임라인 비활성화"
disable-global-timeline: "글로벌 타임라인 비활성화"
disabling-timelines-info: "이 타임라인들을 비활성화해도 관리자 및 모더레이터는 계속 사용할 수 있습니다."
enable-emoji-reaction: "리액션에 이모지를 사용할 수 있게 함"
use-star-for-reaction-fallback: "알 수 없는 리액션을 star로 대체하여 사용"
invite: "초대"
save: "저장"
saved: "저장하였습니다"
Expand Down
2 changes: 0 additions & 2 deletions locales/zh-CN.yml
Expand Up @@ -1104,8 +1104,6 @@ admin/views/instance.vue:
disable-local-timeline: "停用本地时间线功能"
disable-global-timeline: "禁用全局时间线"
disabling-timelines-info: "即使禁用时间线,管理员和版主仍然可用。"
enable-emoji-reaction: "在回应上使用表情符号"
use-star-for-reaction-fallback: "使用默认的star来表示未知的回应"
invite: "邀请"
save: "保存"
saved: "保存完毕"
Expand Down
8 changes: 0 additions & 8 deletions src/client/app/admin/views/instance.vue
Expand Up @@ -26,8 +26,6 @@
<ui-switch v-model="disableGlobalTimeline">{{ $t('disable-global-timeline') }}</ui-switch>
<ui-info>{{ $t('disabling-timelines-info') }}</ui-info>
<ui-switch v-model="showReplayInPublicTimeline">showReplayInPublicTimeline</ui-switch>
<ui-switch v-model="enableEmojiReaction">{{ $t('enable-emoji-reaction') }}</ui-switch>
<ui-switch v-model="useStarForReactionFallback">{{ $t('use-star-for-reaction-fallback') }}</ui-switch>
</section>
<section class="fit-bottom">
<header><fa icon="cloud"/> {{ $t('drive-config') }}</header>
Expand Down Expand Up @@ -159,8 +157,6 @@ export default Vue.extend({
disableLocalTimeline: false,
disableGlobalTimeline: false,
showReplayInPublicTimeline: false,
enableEmojiReaction: true,
useStarForReactionFallback: false,
mascotImageUrl: null,
bannerUrl: null,
errorImageUrl: null,
Expand Down Expand Up @@ -213,8 +209,6 @@ export default Vue.extend({
this.disableLocalTimeline = meta.disableLocalTimeline;
this.disableGlobalTimeline = meta.disableGlobalTimeline;
this.showReplayInPublicTimeline = meta.showReplayInPublicTimeline;
this.enableEmojiReaction = meta.enableEmojiReaction;
this.useStarForReactionFallback = meta.useStarForReactionFallback;
this.mascotImageUrl = meta.mascotImageUrl;
this.bannerUrl = meta.bannerUrl;
this.errorImageUrl = meta.errorImageUrl;
Expand Down Expand Up @@ -277,8 +271,6 @@ export default Vue.extend({
disableLocalTimeline: this.disableLocalTimeline,
disableGlobalTimeline: this.disableGlobalTimeline,
showReplayInPublicTimeline: this.showReplayInPublicTimeline,
enableEmojiReaction: this.enableEmojiReaction,
useStarForReactionFallback: this.useStarForReactionFallback,
mascotImageUrl: this.mascotImageUrl,
bannerUrl: this.bannerUrl,
errorImageUrl: this.errorImageUrl,
Expand Down
18 changes: 6 additions & 12 deletions src/client/app/common/views/components/reaction-picker.vue
Expand Up @@ -5,14 +5,14 @@
<div class="buttons" ref="buttons">
<button v-for="(reaction, i) in rs" :key="i" @click="react(reaction)" :tabindex="i + 1" :title="/^[a-z]+$/.test(reaction) ? $t('@.reactions.' + reaction) : reaction" v-particle><mk-reaction-icon :reaction="reaction"/></button>
</div>
<div v-if="enableEmojiReaction" class="text">
<div class="text">
<input v-model="text" placeholder="Emoji" @keyup.enter="reactText" @keydown.esc="close" @input="tryReactText" v-autocomplete="{ model: 'text', noZwsp: true }" ref="text">
<button title="OK" @click="reactText"><fa icon="check"/></button>
<button title="Pick" class="emoji" @click="emoji" ref="emoji">
<fa :icon="['far', 'laugh']"/>
</button>
<button title="Random" @click="reactRandom()"><fa :icon="faRandom"/></button>
<button v-if="enableEmojiReaction && recentReaction != null" @click="react(recentReaction)" tabindex="11" v-particle><mk-reaction-icon :reaction="recentReaction"/></button>
<button v-if="recentReaction != null" @click="react(recentReaction)" tabindex="11" v-particle><mk-reaction-icon :reaction="recentReaction"/></button>
</div>
</div>
</div>
Expand Down Expand Up @@ -49,7 +49,6 @@ export default Vue.extend({
faRandom,
rs: this.reactions || this.$store.state.settings.reactions,
text: null,
enableEmojiReaction: true,
recentReaction: null,
};
},
Expand Down Expand Up @@ -92,18 +91,13 @@ export default Vue.extend({
popover.style.top = `${popY + window.pageYOffset}px`;
};
this.$root.getMeta().then(meta => {
this.enableEmojiReaction = meta.enableEmojiReaction;
fixPos();
this.$nextTick(() => {
if (!this.$root.isMobile && this.$refs.text) this.$refs.text.focus();
});
});
this.recentReaction = localStorage.getItem('recentReaction');
this.$nextTick(() => {
fixPos();
if (!this.$root.isMobile && this.$refs.text) this.$refs.text.focus();
anime({
targets: this.$refs.backdrop,
opacity: 1,
Expand Down
2 changes: 1 addition & 1 deletion src/misc/build-meta.ts
Expand Up @@ -36,7 +36,7 @@ export async function buildMeta(instance: IMeta, detail = true) {
disableLocalTimeline: instance.disableLocalTimeline,
disableGlobalTimeline: instance.disableGlobalTimeline,
showReplayInPublicTimeline: instance.showReplayInPublicTimeline,
enableEmojiReaction: instance.enableEmojiReaction,
enableEmojiReaction: true,
driveCapacityPerLocalUserMb: instance.localDriveCapacityMb,
driveCapacityPerRemoteUserMb: instance.remoteDriveCapacityMb,
cacheRemoteFiles: instance.cacheRemoteFiles,
Expand Down
12 changes: 4 additions & 8 deletions src/misc/reaction-lib.ts
@@ -1,6 +1,5 @@
import Emoji from '../models/emoji';
import { emojiRegex } from './emoji-regex';
import fetchMeta from './fetch-meta';

const basic10: Record<string, string> = {
'👍': 'like',
Expand All @@ -15,18 +14,15 @@ const basic10: Record<string, string> = {
'🍮': 'pudding',
};

export async function getFallbackReaction(): Promise<string> {
const meta = await fetchMeta();
return meta.useStarForReactionFallback ? 'star' : 'like';
}
const REACTION_STAR = '⭐';

export async function toDbReaction(reaction: string, enableEmoji = true): Promise<string> {
if (reaction == null) return await getFallbackReaction();
if (reaction == null) return REACTION_STAR;

// 既存の文字列リアクションはそのまま
if (Object.values(basic10).includes(reaction)) return reaction;

if (!enableEmoji) return await getFallbackReaction();
if (!enableEmoji) return REACTION_STAR;

// Unicode絵文字
const match = emojiRegex.exec(reaction);
Expand Down Expand Up @@ -57,5 +53,5 @@ export async function toDbReaction(reaction: string, enableEmoji = true): Promis
if (emoji) return reaction;
}

return await getFallbackReaction();
return REACTION_STAR;
}
1 change: 0 additions & 1 deletion src/server/api/endpoints/admin/meta.ts
Expand Up @@ -129,7 +129,6 @@ export default define(meta, async (ps, me) => {
};

if (me && (me.isAdmin || me.isModerator)) {
response.useStarForReactionFallback = instance.useStarForReactionFallback;
response.hidedTags = instance.hidedTags;
response.recaptchaSecretKey = instance.recaptchaSecretKey;
response.proxyAccount = instance.proxyAccount;
Expand Down
22 changes: 0 additions & 22 deletions src/server/api/endpoints/admin/update-meta.ts
Expand Up @@ -48,20 +48,6 @@ export const meta = {
}
},

enableEmojiReaction: {
validator: $.optional.nullable.bool,
desc: {
'ja-JP': '絵文字リアクションを有効にするか否か'
}
},

useStarForReactionFallback: {
validator: $.optional.nullable.bool,
desc: {
'ja-JP': '不明なリアクションのフォールバックに star リアクションを使うか'
}
},

hidedTags: {
validator: $.optional.nullable.arr($.str),
desc: {
Expand Down Expand Up @@ -376,14 +362,6 @@ export default define(meta, async (ps) => {
set.showReplayInPublicTimeline = ps.showReplayInPublicTimeline;
}

if (typeof ps.enableEmojiReaction === 'boolean') {
set.enableEmojiReaction = ps.enableEmojiReaction;
}

if (typeof ps.useStarForReactionFallback === 'boolean') {
set.useStarForReactionFallback = ps.useStarForReactionFallback;
}

if (Array.isArray(ps.hidedTags)) {
set.hidedTags = ps.hidedTags.filter(Boolean);
}
Expand Down
4 changes: 1 addition & 3 deletions src/services/note/reaction/create.ts
Expand Up @@ -11,11 +11,9 @@ import { renderActivity } from '../../../remote/activitypub/renderer';
import perUserReactionsChart from '../../../services/chart/per-user-reactions';
import { IdentifiableError } from '../../../misc/identifiable-error';
import { toDbReaction } from '../../../misc/reaction-lib';
import fetchMeta from '../../../misc/fetch-meta';

export default async (user: IUser, note: INote, reaction: string) => {
const meta = await fetchMeta();
reaction = await toDbReaction(reaction, meta.enableEmojiReaction);
reaction = await toDbReaction(reaction);

// Create reaction
await NoteReaction.insert({
Expand Down

0 comments on commit 13b31f8

Please sign in to comment.