upd: add option to disable external url warning
This commit is contained in:
parent
72a0f16b38
commit
7bd971c036
|
@ -1342,6 +1342,7 @@ inquiry: "Contact"
|
||||||
tryAgain: "Please try again later"
|
tryAgain: "Please try again later"
|
||||||
confirmWhenRevealingSensitiveMedia: "Confirm when revealing sensitive media"
|
confirmWhenRevealingSensitiveMedia: "Confirm when revealing sensitive media"
|
||||||
sensitiveMediaRevealConfirm: "This media might be sensitive. Are you sure you want to reveal it?"
|
sensitiveMediaRevealConfirm: "This media might be sensitive. Are you sure you want to reveal it?"
|
||||||
|
warnExternalUrl: "Show warning when opening external URLs"
|
||||||
createdLists: "Created lists"
|
createdLists: "Created lists"
|
||||||
createdAntennas: "Created antennas"
|
createdAntennas: "Created antennas"
|
||||||
severAllFollowRelations: "Break following relationships"
|
severAllFollowRelations: "Break following relationships"
|
||||||
|
|
|
@ -5385,6 +5385,10 @@ export interface Locale extends ILocale {
|
||||||
* センシティブなメディアです。表示しますか?
|
* センシティブなメディアです。表示しますか?
|
||||||
*/
|
*/
|
||||||
"sensitiveMediaRevealConfirm": string;
|
"sensitiveMediaRevealConfirm": string;
|
||||||
|
/**
|
||||||
|
* 外部URLを開く際に警告を表示する
|
||||||
|
*/
|
||||||
|
"warnExternalUrl": string;
|
||||||
/**
|
/**
|
||||||
* 作成したリスト
|
* 作成したリスト
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1342,6 +1342,7 @@ inquiry: "お問い合わせ"
|
||||||
tryAgain: "もう一度お試しください。"
|
tryAgain: "もう一度お試しください。"
|
||||||
confirmWhenRevealingSensitiveMedia: "センシティブなメディアを表示するとき確認する"
|
confirmWhenRevealingSensitiveMedia: "センシティブなメディアを表示するとき確認する"
|
||||||
sensitiveMediaRevealConfirm: "センシティブなメディアです。表示しますか?"
|
sensitiveMediaRevealConfirm: "センシティブなメディアです。表示しますか?"
|
||||||
|
warnExternalUrl: "外部URLを開く際に警告を表示する"
|
||||||
createdLists: "作成したリスト"
|
createdLists: "作成したリスト"
|
||||||
createdAntennas: "作成したアンテナ"
|
createdAntennas: "作成したアンテナ"
|
||||||
severAllFollowRelations: "以下の関係をすべて断ち切る"
|
severAllFollowRelations: "以下の関係をすべて断ち切る"
|
||||||
|
|
|
@ -236,6 +236,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<MkSwitch v-model="enableHorizontalSwipe">{{ i18n.ts.enableHorizontalSwipe }}</MkSwitch>
|
<MkSwitch v-model="enableHorizontalSwipe">{{ i18n.ts.enableHorizontalSwipe }}</MkSwitch>
|
||||||
<MkSwitch v-model="alwaysConfirmFollow">{{ i18n.ts.alwaysConfirmFollow }}</MkSwitch>
|
<MkSwitch v-model="alwaysConfirmFollow">{{ i18n.ts.alwaysConfirmFollow }}</MkSwitch>
|
||||||
<MkSwitch v-model="confirmWhenRevealingSensitiveMedia">{{ i18n.ts.confirmWhenRevealingSensitiveMedia }}</MkSwitch>
|
<MkSwitch v-model="confirmWhenRevealingSensitiveMedia">{{ i18n.ts.confirmWhenRevealingSensitiveMedia }}</MkSwitch>
|
||||||
|
<MkSwitch v-model="warnExternalUrl">{{ i18n.ts.warnExternalUrl }}</MkSwitch>
|
||||||
</div>
|
</div>
|
||||||
<MkSelect v-model="serverDisconnectedBehavior">
|
<MkSelect v-model="serverDisconnectedBehavior">
|
||||||
<template #label>{{ i18n.ts.whenServerDisconnected }}</template>
|
<template #label>{{ i18n.ts.whenServerDisconnected }}</template>
|
||||||
|
@ -437,6 +438,7 @@ const useNativeUIForVideoAudioPlayer = computed(defaultStore.makeGetterSetter('u
|
||||||
const alwaysConfirmFollow = computed(defaultStore.makeGetterSetter('alwaysConfirmFollow'));
|
const alwaysConfirmFollow = computed(defaultStore.makeGetterSetter('alwaysConfirmFollow'));
|
||||||
const confirmWhenRevealingSensitiveMedia = computed(defaultStore.makeGetterSetter('confirmWhenRevealingSensitiveMedia'));
|
const confirmWhenRevealingSensitiveMedia = computed(defaultStore.makeGetterSetter('confirmWhenRevealingSensitiveMedia'));
|
||||||
const contextMenu = computed(defaultStore.makeGetterSetter('contextMenu'));
|
const contextMenu = computed(defaultStore.makeGetterSetter('contextMenu'));
|
||||||
|
const warnExternalUrl = computed(defaultStore.makeGetterSetter('warnExternalUrl'));
|
||||||
|
|
||||||
watch(lang, () => {
|
watch(lang, () => {
|
||||||
miLocalStorage.setItem('lang', lang.value as string);
|
miLocalStorage.setItem('lang', lang.value as string);
|
||||||
|
@ -498,6 +500,7 @@ watch([
|
||||||
alwaysConfirmFollow,
|
alwaysConfirmFollow,
|
||||||
confirmWhenRevealingSensitiveMedia,
|
confirmWhenRevealingSensitiveMedia,
|
||||||
contextMenu,
|
contextMenu,
|
||||||
|
warnExternalUrl,
|
||||||
], async () => {
|
], async () => {
|
||||||
await reloadAsk();
|
await reloadAsk();
|
||||||
});
|
});
|
||||||
|
|
|
@ -29,8 +29,9 @@ export async function warningExternalWebsite(url: string) {
|
||||||
});
|
});
|
||||||
|
|
||||||
const isTrustedByUser = defaultStore.reactiveState.trustedDomains.value.includes(domain);
|
const isTrustedByUser = defaultStore.reactiveState.trustedDomains.value.includes(domain);
|
||||||
|
const isDisabledByUser = !defaultStore.reactiveState.warnExternalUrl.value;
|
||||||
|
|
||||||
if (!isTrustedByInstance && !isTrustedByUser) {
|
if (!isTrustedByInstance && !isTrustedByUser && !isDisabledByUser) {
|
||||||
const confirm = await new Promise<{ canceled: boolean }>(resolve => {
|
const confirm = await new Promise<{ canceled: boolean }>(resolve => {
|
||||||
const { dispose } = os.popup(MkUrlWarningDialog, {
|
const { dispose } = os.popup(MkUrlWarningDialog, {
|
||||||
url,
|
url,
|
||||||
|
|
|
@ -169,6 +169,10 @@ export const defaultStore = markRaw(new Storage('base', {
|
||||||
where: 'account',
|
where: 'account',
|
||||||
default: [] as string[],
|
default: [] as string[],
|
||||||
},
|
},
|
||||||
|
warnExternalUrl: {
|
||||||
|
where: 'account',
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
|
||||||
menu: {
|
menu: {
|
||||||
where: 'deviceAccount',
|
where: 'deviceAccount',
|
||||||
|
|
Loading…
Reference in New Issue