enhance(frontend): リアクションの総数を表示するか設定で選べるように (#13539)
* enhance(frontend): リプライ・リノート・リアクションの総数を表示するか設定で選べるように (MisskeyIO#512) (cherry picked from commit 3c8475e5ac217f055eab0f6d0aedcbbcb2a2f27c) * fix: いいねのみの場合は強制的にカウント表示 * make `showReactionsCount` default false * リアクションだけ * けしわすれ * けしわすれ2 --------- Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									f4a5740412
								
							
						
					
					
						commit
						27f823e882
					
				
					 7 changed files with 16 additions and 4 deletions
				
			
		
							
								
								
									
										4
									
								
								locales/index.d.ts
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								locales/index.d.ts
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1992,6 +1992,10 @@ export interface Locale extends ILocale {
 | 
				
			||||||
     * ノートのアクションをホバー時のみ表示する
 | 
					     * ノートのアクションをホバー時のみ表示する
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    "showNoteActionsOnlyHover": string;
 | 
					    "showNoteActionsOnlyHover": string;
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * ノートのリアクション数を表示する
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    "showReactionsCount": string;
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 履歴はありません
 | 
					     * 履歴はありません
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -494,6 +494,7 @@ emojiStyle: "絵文字のスタイル"
 | 
				
			||||||
native: "ネイティブ"
 | 
					native: "ネイティブ"
 | 
				
			||||||
disableDrawer: "メニューをドロワーで表示しない"
 | 
					disableDrawer: "メニューをドロワーで表示しない"
 | 
				
			||||||
showNoteActionsOnlyHover: "ノートのアクションをホバー時のみ表示する"
 | 
					showNoteActionsOnlyHover: "ノートのアクションをホバー時のみ表示する"
 | 
				
			||||||
 | 
					showReactionsCount: "ノートのリアクション数を表示する"
 | 
				
			||||||
noHistory: "履歴はありません"
 | 
					noHistory: "履歴はありません"
 | 
				
			||||||
signinHistory: "ログイン履歴"
 | 
					signinHistory: "ログイン履歴"
 | 
				
			||||||
enableAdvancedMfm: "高度なMFMを有効にする"
 | 
					enableAdvancedMfm: "高度なMFMを有効にする"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -121,7 +121,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
					<i v-else-if="appearNote.myReaction != null" class="ti ti-minus" style="color: var(--accent);"></i>
 | 
										<i v-else-if="appearNote.myReaction != null" class="ti ti-minus" style="color: var(--accent);"></i>
 | 
				
			||||||
					<i v-else-if="appearNote.reactionAcceptance === 'likeOnly'" class="ti ti-heart"></i>
 | 
										<i v-else-if="appearNote.reactionAcceptance === 'likeOnly'" class="ti ti-heart"></i>
 | 
				
			||||||
					<i v-else class="ti ti-plus"></i>
 | 
										<i v-else class="ti ti-plus"></i>
 | 
				
			||||||
					<p v-if="appearNote.reactionCount > 0" :class="$style.footerButtonCount">{{ number(appearNote.reactionCount) }}</p>
 | 
										<p v-if="(appearNote.reactionAcceptance === 'likeOnly' || defaultStore.state.showReactionsCount) && appearNote.reactionCount > 0" :class="$style.footerButtonCount">{{ number(appearNote.reactionCount) }}</p>
 | 
				
			||||||
				</button>
 | 
									</button>
 | 
				
			||||||
				<button v-if="defaultStore.state.showClipButtonInNoteFooter" ref="clipButton" :class="$style.footerButton" class="_button" @mousedown="clip()">
 | 
									<button v-if="defaultStore.state.showClipButtonInNoteFooter" ref="clipButton" :class="$style.footerButton" class="_button" @mousedown="clip()">
 | 
				
			||||||
					<i class="ti ti-paperclip"></i>
 | 
										<i class="ti ti-paperclip"></i>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -129,7 +129,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
				<i v-else-if="appearNote.myReaction != null" class="ti ti-minus" style="color: var(--accent);"></i>
 | 
									<i v-else-if="appearNote.myReaction != null" class="ti ti-minus" style="color: var(--accent);"></i>
 | 
				
			||||||
				<i v-else-if="appearNote.reactionAcceptance === 'likeOnly'" class="ti ti-heart"></i>
 | 
									<i v-else-if="appearNote.reactionAcceptance === 'likeOnly'" class="ti ti-heart"></i>
 | 
				
			||||||
				<i v-else class="ti ti-plus"></i>
 | 
									<i v-else class="ti ti-plus"></i>
 | 
				
			||||||
				<p v-if="appearNote.reactionCount > 0" :class="$style.noteFooterButtonCount">{{ number(appearNote.reactionCount) }}</p>
 | 
									<p v-if="(appearNote.reactionAcceptance === 'likeOnly' || defaultStore.state.showReactionsCount) && appearNote.reactionCount > 0" :class="$style.noteFooterButtonCount">{{ number(appearNote.reactionCount) }}</p>
 | 
				
			||||||
			</button>
 | 
								</button>
 | 
				
			||||||
			<button v-if="defaultStore.state.showClipButtonInNoteFooter" ref="clipButton" class="_button" :class="$style.noteFooterButton" @mousedown="clip()">
 | 
								<button v-if="defaultStore.state.showClipButtonInNoteFooter" ref="clipButton" class="_button" :class="$style.noteFooterButton" @mousedown="clip()">
 | 
				
			||||||
				<i class="ti ti-paperclip"></i>
 | 
									<i class="ti ti-paperclip"></i>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -56,6 +56,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 | 
				
			||||||
				<MkSwitch v-model="advancedMfm">{{ i18n.ts.enableAdvancedMfm }}</MkSwitch>
 | 
									<MkSwitch v-model="advancedMfm">{{ i18n.ts.enableAdvancedMfm }}</MkSwitch>
 | 
				
			||||||
				<MkSwitch v-if="advancedMfm" v-model="animatedMfm">{{ i18n.ts.enableAnimatedMfm }}</MkSwitch>
 | 
									<MkSwitch v-if="advancedMfm" v-model="animatedMfm">{{ i18n.ts.enableAnimatedMfm }}</MkSwitch>
 | 
				
			||||||
				<MkSwitch v-if="advancedMfm" v-model="enableQuickAddMfmFunction">{{ i18n.ts.enableQuickAddMfmFunction }}</MkSwitch>
 | 
									<MkSwitch v-if="advancedMfm" v-model="enableQuickAddMfmFunction">{{ i18n.ts.enableQuickAddMfmFunction }}</MkSwitch>
 | 
				
			||||||
 | 
									<MkSwitch v-model="showReactionsCount">{{ i18n.ts.showReactionsCount }}</MkSwitch>
 | 
				
			||||||
				<MkSwitch v-model="showGapBetweenNotesInTimeline">{{ i18n.ts.showGapBetweenNotesInTimeline }}</MkSwitch>
 | 
									<MkSwitch v-model="showGapBetweenNotesInTimeline">{{ i18n.ts.showGapBetweenNotesInTimeline }}</MkSwitch>
 | 
				
			||||||
				<MkSwitch v-model="loadRawImages">{{ i18n.ts.loadRawImages }}</MkSwitch>
 | 
									<MkSwitch v-model="loadRawImages">{{ i18n.ts.loadRawImages }}</MkSwitch>
 | 
				
			||||||
				<MkRadios v-model="reactionsDisplaySize">
 | 
									<MkRadios v-model="reactionsDisplaySize">
 | 
				
			||||||
| 
						 | 
					@ -281,6 +282,7 @@ const useBlurEffect = computed(defaultStore.makeGetterSetter('useBlurEffect'));
 | 
				
			||||||
const showGapBetweenNotesInTimeline = computed(defaultStore.makeGetterSetter('showGapBetweenNotesInTimeline'));
 | 
					const showGapBetweenNotesInTimeline = computed(defaultStore.makeGetterSetter('showGapBetweenNotesInTimeline'));
 | 
				
			||||||
const animatedMfm = computed(defaultStore.makeGetterSetter('animatedMfm'));
 | 
					const animatedMfm = computed(defaultStore.makeGetterSetter('animatedMfm'));
 | 
				
			||||||
const advancedMfm = computed(defaultStore.makeGetterSetter('advancedMfm'));
 | 
					const advancedMfm = computed(defaultStore.makeGetterSetter('advancedMfm'));
 | 
				
			||||||
 | 
					const showReactionsCount = computed(defaultStore.makeGetterSetter('showReactionsCount'));
 | 
				
			||||||
const enableQuickAddMfmFunction = computed(defaultStore.makeGetterSetter('enableQuickAddMfmFunction'));
 | 
					const enableQuickAddMfmFunction = computed(defaultStore.makeGetterSetter('enableQuickAddMfmFunction'));
 | 
				
			||||||
const emojiStyle = computed(defaultStore.makeGetterSetter('emojiStyle'));
 | 
					const emojiStyle = computed(defaultStore.makeGetterSetter('emojiStyle'));
 | 
				
			||||||
const disableDrawer = computed(defaultStore.makeGetterSetter('disableDrawer'));
 | 
					const disableDrawer = computed(defaultStore.makeGetterSetter('disableDrawer'));
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -70,6 +70,7 @@ const defaultStoreSaveKeys: (keyof typeof defaultStore['state'])[] = [
 | 
				
			||||||
	'animation',
 | 
						'animation',
 | 
				
			||||||
	'animatedMfm',
 | 
						'animatedMfm',
 | 
				
			||||||
	'advancedMfm',
 | 
						'advancedMfm',
 | 
				
			||||||
 | 
						'showReactionsCount',
 | 
				
			||||||
	'loadRawImages',
 | 
						'loadRawImages',
 | 
				
			||||||
	'imageNewTab',
 | 
						'imageNewTab',
 | 
				
			||||||
	'dataSaver',
 | 
						'dataSaver',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -227,6 +227,10 @@ export const defaultStore = markRaw(new Storage('base', {
 | 
				
			||||||
		where: 'device',
 | 
							where: 'device',
 | 
				
			||||||
		default: true,
 | 
							default: true,
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
						showReactionsCount: {
 | 
				
			||||||
 | 
							where: 'device',
 | 
				
			||||||
 | 
							default: false,
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
	enableQuickAddMfmFunction: {
 | 
						enableQuickAddMfmFunction: {
 | 
				
			||||||
		where: 'device',
 | 
							where: 'device',
 | 
				
			||||||
		default: false,
 | 
							default: false,
 | 
				
			||||||
| 
						 | 
					@ -431,10 +435,10 @@ export const defaultStore = markRaw(new Storage('base', {
 | 
				
			||||||
			sfxVolume: 1,
 | 
								sfxVolume: 1,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
  hemisphere: {
 | 
						hemisphere: {
 | 
				
			||||||
		where: 'device',
 | 
							where: 'device',
 | 
				
			||||||
		default: hemisphere as 'N' | 'S',
 | 
							default: hemisphere as 'N' | 'S',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
	enableHorizontalSwipe: {
 | 
						enableHorizontalSwipe: {
 | 
				
			||||||
		where: 'device',
 | 
							where: 'device',
 | 
				
			||||||
		default: true,
 | 
							default: true,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue