diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2024-04-17 10:53:16 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-17 10:53:16 +0900 |
| commit | 977e2d2c09c3fbc2fd2eaead8fc7314d8d6f9fc4 (patch) | |
| tree | 79160712409744d724b5c42888585bdaa80fae41 /packages/frontend | |
| parent | enhance(frontend): ページの表示部上部に編集リンクを追加 (#1... (diff) | |
| download | sharkey-977e2d2c09c3fbc2fd2eaead8fc7314d8d6f9fc4.tar.gz sharkey-977e2d2c09c3fbc2fd2eaead8fc7314d8d6f9fc4.tar.bz2 sharkey-977e2d2c09c3fbc2fd2eaead8fc7314d8d6f9fc4.zip | |
enhance(frontend): フォローするかどうかの確認ダイアログを出せるように (#13723)
* feat(frontend): フォローするかどうかの確認ダイアログを出せるように
* Update Changelog
Diffstat (limited to 'packages/frontend')
| -rw-r--r-- | packages/frontend/src/components/MkFollowButton.vue | 12 | ||||
| -rw-r--r-- | packages/frontend/src/pages/settings/general.vue | 3 | ||||
| -rw-r--r-- | packages/frontend/src/store.ts | 4 |
3 files changed, 19 insertions, 0 deletions
diff --git a/packages/frontend/src/components/MkFollowButton.vue b/packages/frontend/src/components/MkFollowButton.vue index 28450e11fc..636e61db8f 100644 --- a/packages/frontend/src/components/MkFollowButton.vue +++ b/packages/frontend/src/components/MkFollowButton.vue @@ -93,6 +93,18 @@ async function onClick() { userId: props.user.id, }); } else { + if (defaultStore.state.alwaysConfirmFollow) { + const { canceled } = await os.confirm({ + type: 'question', + text: i18n.tsx.followConfirm({ name: props.user.name || props.user.username }), + }); + + if (canceled) { + wait.value = false; + return; + } + } + if (hasPendingFollowRequestFromYou.value) { await misskeyApi('following/requests/cancel', { userId: props.user.id, diff --git a/packages/frontend/src/pages/settings/general.vue b/packages/frontend/src/pages/settings/general.vue index f2f82c4808..55d514ddf9 100644 --- a/packages/frontend/src/pages/settings/general.vue +++ b/packages/frontend/src/pages/settings/general.vue @@ -165,6 +165,7 @@ SPDX-License-Identifier: AGPL-3.0-only <MkSwitch v-model="keepScreenOn">{{ i18n.ts.keepScreenOn }}</MkSwitch> <MkSwitch v-model="disableStreamingTimeline">{{ i18n.ts.disableStreamingTimeline }}</MkSwitch> <MkSwitch v-model="enableHorizontalSwipe">{{ i18n.ts.enableHorizontalSwipe }}</MkSwitch> + <MkSwitch v-model="alwaysConfirmFollow">{{ i18n.ts.alwaysConfirmFollow }}</MkSwitch> </div> <MkSelect v-model="serverDisconnectedBehavior"> <template #label>{{ i18n.ts.whenServerDisconnected }}</template> @@ -310,6 +311,7 @@ const useGroupedNotifications = computed(defaultStore.makeGetterSetter('useGroup const enableSeasonalScreenEffect = computed(defaultStore.makeGetterSetter('enableSeasonalScreenEffect')); const enableHorizontalSwipe = computed(defaultStore.makeGetterSetter('enableHorizontalSwipe')); const useNativeUIForVideoAudioPlayer = computed(defaultStore.makeGetterSetter('useNativeUIForVideoAudioPlayer')); +const alwaysConfirmFollow = computed(defaultStore.makeGetterSetter('alwaysConfirmFollow')); watch(lang, () => { miLocalStorage.setItem('lang', lang.value as string); @@ -351,6 +353,7 @@ watch([ keepScreenOn, disableStreamingTimeline, enableSeasonalScreenEffect, + alwaysConfirmFollow, ], async () => { await reloadAsk(); }); diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts index 9b5011739a..e6a348b79f 100644 --- a/packages/frontend/src/store.ts +++ b/packages/frontend/src/store.ts @@ -450,6 +450,10 @@ export const defaultStore = markRaw(new Storage('base', { where: 'device', default: true, }, + alwaysConfirmFollow: { + where: 'device', + default: true, + }, sound_masterVolume: { where: 'device', |