Merge branch 'develop' into ed25519
This commit is contained in:
commit
08e3a7c008
|
@ -38,7 +38,7 @@
|
||||||
# Option 3: If neither of the above applies to you.
|
# Option 3: If neither of the above applies to you.
|
||||||
# (In this case, the source code should be published
|
# (In this case, the source code should be published
|
||||||
# on the Misskey interface. IT IS NOT ENOUGH TO
|
# on the Misskey interface. IT IS NOT ENOUGH TO
|
||||||
# DISCLOSE THE SOURCE CODE WEHN A USER REQUESTS IT BY
|
# DISCLOSE THE SOURCE CODE WHEN A USER REQUESTS IT BY
|
||||||
# E-MAIL OR OTHER MEANS. If you are not satisfied
|
# E-MAIL OR OTHER MEANS. If you are not satisfied
|
||||||
# with this, it is recommended that you read the
|
# with this, it is recommended that you read the
|
||||||
# license again carefully. Anyway, enabling this
|
# license again carefully. Anyway, enabling this
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
"editorconfig.editorconfig",
|
"editorconfig.editorconfig",
|
||||||
"dbaeumer.vscode-eslint",
|
"dbaeumer.vscode-eslint",
|
||||||
"Vue.volar",
|
"Vue.volar",
|
||||||
"Vue.vscode-typescript-vue-plugin",
|
|
||||||
"Orta.vscode-jest",
|
"Orta.vscode-jest",
|
||||||
"dbaeumer.vscode-eslint",
|
"dbaeumer.vscode-eslint",
|
||||||
"mrmlnc.vscode-json5"
|
"mrmlnc.vscode-json5"
|
||||||
|
|
1
.vscode/extensions.json
vendored
1
.vscode/extensions.json
vendored
|
@ -3,7 +3,6 @@
|
||||||
"editorconfig.editorconfig",
|
"editorconfig.editorconfig",
|
||||||
"dbaeumer.vscode-eslint",
|
"dbaeumer.vscode-eslint",
|
||||||
"Vue.volar",
|
"Vue.volar",
|
||||||
"Vue.vscode-typescript-vue-plugin",
|
|
||||||
"Orta.vscode-jest",
|
"Orta.vscode-jest",
|
||||||
"dbaeumer.vscode-eslint",
|
"dbaeumer.vscode-eslint",
|
||||||
"mrmlnc.vscode-json5"
|
"mrmlnc.vscode-json5"
|
||||||
|
|
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を有効にする"
|
||||||
|
|
|
@ -129,7 +129,7 @@ export class ApNoteService {
|
||||||
value,
|
value,
|
||||||
object,
|
object,
|
||||||
});
|
});
|
||||||
throw new Error('invalid note');
|
throw err;
|
||||||
}
|
}
|
||||||
|
|
||||||
const note = object as IPost;
|
const note = object as IPost;
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -324,6 +324,7 @@ const patrons = [
|
||||||
'てば',
|
'てば',
|
||||||
'たっくん',
|
'たっくん',
|
||||||
'SHO SEKIGUCHI',
|
'SHO SEKIGUCHI',
|
||||||
|
'塩キャベツ',
|
||||||
];
|
];
|
||||||
|
|
||||||
const thereIsTreasure = ref($i && !claimedAchievements.includes('foundTreasure'));
|
const thereIsTreasure = ref($i && !claimedAchievements.includes('foundTreasure'));
|
||||||
|
|
|
@ -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…
Reference in a new issue