From 05884cb83d25a6e0d6173d980c1d835c4b9d6dfb Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Sun, 11 May 2025 04:05:10 -0400 Subject: [PATCH 1/4] always show bubble timeline controls --- packages/frontend/src/pages/admin/moderation.vue | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/frontend/src/pages/admin/moderation.vue b/packages/frontend/src/pages/admin/moderation.vue index 6845bd7ad0..78a87cae9f 100644 --- a/packages/frontend/src/pages/admin/moderation.vue +++ b/packages/frontend/src/pages/admin/moderation.vue @@ -26,8 +26,7 @@ SPDX-License-Identifier: AGPL-3.0-only {{ i18n.ts.serverRules }} - - + From 022337c1e7403a8c398cb626a8170972f1a8fe65 Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Sun, 11 May 2025 04:05:34 -0400 Subject: [PATCH 2/4] translate bubble timeline controls --- locales/index.d.ts | 8 ++++++++ packages/frontend/src/pages/admin/moderation.vue | 4 ++-- sharkey-locales/en-US.yml | 3 +++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/locales/index.d.ts b/locales/index.d.ts index dc41c96a96..e8c85cdd72 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -13029,6 +13029,14 @@ export interface Locale extends ILocale { * Text does not match any patterns. */ "wordMuteTestNoMatch": string; + /** + * Bubble timeline + */ + "bubbleTimeline": string; + /** + * Choose which instances should be displayed in the bubble. + */ + "bubbleTimelineDescription": string; } declare const locales: { [lang: string]: Locale; diff --git a/packages/frontend/src/pages/admin/moderation.vue b/packages/frontend/src/pages/admin/moderation.vue index 78a87cae9f..36baad180e 100644 --- a/packages/frontend/src/pages/admin/moderation.vue +++ b/packages/frontend/src/pages/admin/moderation.vue @@ -28,11 +28,11 @@ SPDX-License-Identifier: AGPL-3.0-only - +
- + {{ i18n.ts.save }}
diff --git a/sharkey-locales/en-US.yml b/sharkey-locales/en-US.yml index 9232a7706c..c1cbf4717c 100644 --- a/sharkey-locales/en-US.yml +++ b/sharkey-locales/en-US.yml @@ -559,3 +559,6 @@ wordMuteTestTest: "Test" wordMuteTestMatch: "Matched words: {words}" wordMuteTestNoResults: "No results yet, enter some text and click \"Test\" to check it." wordMuteTestNoMatch: "Text does not match any patterns." + +bubbleTimeline: "Bubble timeline" +bubbleTimelineDescription: "Choose which instances should be displayed in the bubble." From 33e0b1391653e5a0c7e27686745d41298df52fbf Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Mon, 12 May 2025 13:58:08 -0400 Subject: [PATCH 3/4] remove unused bubbleTimelineEnabled variable --- packages/frontend/src/pages/admin/moderation.vue | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/frontend/src/pages/admin/moderation.vue b/packages/frontend/src/pages/admin/moderation.vue index 36baad180e..7861bca1ef 100644 --- a/packages/frontend/src/pages/admin/moderation.vue +++ b/packages/frontend/src/pages/admin/moderation.vue @@ -182,7 +182,6 @@ import SkPatternTest from '@/components/SkPatternTest.vue'; const enableRegistration = ref(false); const emailRequiredForSignup = ref(false); const approvalRequiredForSignup = ref(false); -const bubbleTimelineEnabled = ref(false); const sensitiveWords = ref(''); const prohibitedWords = ref(''); const prohibitedWordsForNameOfUser = ref(''); @@ -205,7 +204,6 @@ async function init() { hiddenTags.value = meta.hiddenTags.join('\n'); preservedUsernames.value = meta.preservedUsernames.join('\n'); bubbleTimeline.value = meta.bubbleInstances.join('\n'); - bubbleTimelineEnabled.value = meta.policies.btlAvailable; trustedLinkUrlPatterns.value = meta.trustedLinkUrlPatterns.join('\n'); blockedHosts.value = meta.blockedHosts.join('\n'); silencedHosts.value = meta.silencedHosts?.join('\n') ?? ''; From 7c5e0ce4abea999180ebf2c4f14edd75577a0404 Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Mon, 12 May 2025 14:01:30 -0400 Subject: [PATCH 4/4] add hint about bubble timeline roles --- locales/index.d.ts | 4 ++++ packages/frontend/src/pages/admin/moderation.vue | 6 ++++++ sharkey-locales/en-US.yml | 1 + 3 files changed, 11 insertions(+) diff --git a/locales/index.d.ts b/locales/index.d.ts index e8c85cdd72..5cbe918183 100644 --- a/locales/index.d.ts +++ b/locales/index.d.ts @@ -13037,6 +13037,10 @@ export interface Locale extends ILocale { * Choose which instances should be displayed in the bubble. */ "bubbleTimelineDescription": string; + /** + * Note: the bubble timeline is hidden by default, and must be enabled via roles. + */ + "bubbleTimelineMustBeEnabled": string; } declare const locales: { [lang: string]: Locale; diff --git a/packages/frontend/src/pages/admin/moderation.vue b/packages/frontend/src/pages/admin/moderation.vue index 7861bca1ef..2213890d14 100644 --- a/packages/frontend/src/pages/admin/moderation.vue +++ b/packages/frontend/src/pages/admin/moderation.vue @@ -31,9 +31,14 @@ SPDX-License-Identifier: AGPL-3.0-only
+
+ {{ i18n.ts.bubbleTimelineMustBeEnabled }} +
+ + {{ i18n.ts.save }}
@@ -178,6 +183,7 @@ import MkButton from '@/components/MkButton.vue'; import FormLink from '@/components/form/link.vue'; import MkFolder from '@/components/MkFolder.vue'; import SkPatternTest from '@/components/SkPatternTest.vue'; +import { $i } from '@/i'; const enableRegistration = ref(false); const emailRequiredForSignup = ref(false); diff --git a/sharkey-locales/en-US.yml b/sharkey-locales/en-US.yml index c1cbf4717c..af60fb2a61 100644 --- a/sharkey-locales/en-US.yml +++ b/sharkey-locales/en-US.yml @@ -562,3 +562,4 @@ wordMuteTestNoMatch: "Text does not match any patterns." bubbleTimeline: "Bubble timeline" bubbleTimelineDescription: "Choose which instances should be displayed in the bubble." +bubbleTimelineMustBeEnabled: "Note: the bubble timeline is hidden by default, and must be enabled via roles."