From b6b87b320eb136589018afee7856856018efbe7c Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Fri, 20 Jun 2025 16:40:13 -0400 Subject: [PATCH] replace confusing "always show ads" setting with "hide ads" --- locales/index.d.ts | 4 ++++ packages/frontend/src/components/MkDateSeparatedList.vue | 2 +- packages/frontend/src/components/global/MkAd.vue | 2 +- packages/frontend/src/pages/settings/preferences.vue | 9 +++++---- packages/frontend/src/preferences/def.ts | 3 +++ sharkey-locales/en-US.yml | 2 ++ 6 files changed, 16 insertions(+), 6 deletions(-) diff --git a/locales/index.d.ts b/locales/index.d.ts index 7f20c6803f..cbbaa29732 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -13403,6 +13403,10 @@ export interface Locale extends ILocale { * Custom font size */ "customFontSize": string; + /** + * Hide ads + */ + "hideAds": string; } declare const locales: { [lang: string]: Locale; diff --git a/packages/frontend/src/components/MkDateSeparatedList.vue b/packages/frontend/src/components/MkDateSeparatedList.vue index 8cf4e5fa2d..e6278e9576 100644 --- a/packages/frontend/src/components/MkDateSeparatedList.vue +++ b/packages/frontend/src/components/MkDateSeparatedList.vue @@ -110,7 +110,7 @@ export default defineComponent({ }); const renderChildren = () => { - const shouldHideAds = (!prefer.s.forceShowAds && $i && $i.policies.canHideAds) ?? false; + const shouldHideAds = prefer.s.hideAds && $i != null && $i.policies.canHideAds; const children = renderChildrenImpl(shouldHideAds); if (isDebuggerEnabled(6864)) { diff --git a/packages/frontend/src/components/global/MkAd.vue b/packages/frontend/src/components/global/MkAd.vue index 525c47da45..5dc729856e 100644 --- a/packages/frontend/src/components/global/MkAd.vue +++ b/packages/frontend/src/components/global/MkAd.vue @@ -107,7 +107,7 @@ const chosen = ref(choseAd()); const self = computed(() => chosen.value?.url.startsWith(local)); -const shouldHide = ref(!prefer.s.forceShowAds && $i && $i.policies.canHideAds && (props.specify == null)); +const shouldHide = computed(() => prefer.s.hideAds && $i != null && $i.policies.canHideAds && (props.specify == null)); function reduceFrequency(): void { if (chosen.value == null) return; diff --git a/packages/frontend/src/pages/settings/preferences.vue b/packages/frontend/src/pages/settings/preferences.vue index 1c8e418182..0ae2fc6650 100644 --- a/packages/frontend/src/pages/settings/preferences.vue +++ b/packages/frontend/src/pages/settings/preferences.vue @@ -913,10 +913,10 @@ SPDX-License-Identifier: AGPL-3.0-only - - - - + + + + @@ -1096,6 +1096,7 @@ const trustedDomains = prefer.model( (domainsList) => domainsList.join('\n'), (domainsString) => domainsString.split('\n').map( d => d.trim() ).filter( x => x.length > 0), ); +const hideAds = prefer.model('hideAds'); watch([ hemisphere, diff --git a/packages/frontend/src/preferences/def.ts b/packages/frontend/src/preferences/def.ts index b651bdd31b..31cfb71d1f 100644 --- a/packages/frontend/src/preferences/def.ts +++ b/packages/frontend/src/preferences/def.ts @@ -480,6 +480,9 @@ export const PREF_DEF = { warnMissingAltText: { default: true, }, + hideAds: { + default: false, + }, //#endregion //#region hybrid options diff --git a/sharkey-locales/en-US.yml b/sharkey-locales/en-US.yml index 83d5560b28..671aa6e706 100644 --- a/sharkey-locales/en-US.yml +++ b/sharkey-locales/en-US.yml @@ -661,3 +661,5 @@ clearCachedFilesOptions: keepFilesInUseDescription: "this option requires more complicated database queries, you may need to increase the value of db.extra.statement_timeout in the configuration file" customFontSize: "Custom font size" + +hideAds: "Hide ads"