From 6b93d8ef8023ddd9f26eab8fa2621ec23d4dc6ae Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Tue, 25 Oct 2022 22:31:19 -0700 Subject: [PATCH] feat: :sparkles: Toggle showing calckey updates as admin --- locales/en-US.yml | 1 + locales/ja-JP.yml | 7 +++-- package.json | 2 +- packages/client/src/pages/admin/index.vue | 17 +++++----- .../client/src/pages/settings/general.vue | 4 +++ .../pages/settings/preferences-backups.vue | 1 + packages/client/src/store.ts | 4 +++ packages/client/src/ui/_common_/navbar.vue | 31 +++++++++++++++++-- 8 files changed, 54 insertions(+), 13 deletions(-) diff --git a/locales/en-US.yml b/locales/en-US.yml index e9ab2a7dc..0bca272cc 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -917,6 +917,7 @@ splash: "Splash Screen" updateAvailable: "There might be an update available!" swipeOnDesktop: "Allow mobile-style swiping on desktop" logoImageUrl: "Logo image URL" +showAdminUpdates: "Indicate a new Calckey version is avaliable (admin only)" _sensitiveMediaDetection: description: "Reduces the effort of server moderation through automatically recognizing NSFW media via Machine Learning. This will slightly increase the load on the server." diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 609019e7d..d6834d975 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -905,18 +905,19 @@ shuffle: "シャッフル" account: "アカウント" move: "移動" adminCustomCssWarn: "この設定は、それが何をするものであるかを知っている場合のみ使用してください。不適切な値を入力すると、クライアントが正常に動作しなくなる可能性があります。ユーザー設定でCSSをテストし、正しく動作することを確認してください。" -customMOTD: "カスタムMOTD(スプラッシュスクリーンメッセージ)" -customMOTDDescription: "ユーザがページをロード/リロードするたびにランダムに表示される、改行で区切られたMOTD(スプラッシュスクリーン)用のカスタムメッセージ" +customMOTD: "カスタムMOTD(スプラッシュスクリーンメッセージ)" +customMOTDDescription: "ユーザがページをロード/リロードするたびにランダムに表示される、改行で区切られたMOTD(スプラッシュスクリーン)用のカスタムメッセージ" customSplashIcons: "カスタムスプラッシュスクリーンアイコン" customSplashIconsDescription: "ユーザがページをロード/リロードするたびにランダムに表示される、改行で区切られたカスタムスプラッシュスクリーンアイコンの URL。画像は静的なURLで、できればすべて192x192にリサイズしてください。" showUpdates: "Calckeyの更新時にポップアップを表示する" recommendedInstances: "推奨インスタンス" -recommendedInstancesDescription: "推奨タイムラインに表示するために改行で区切られた推奨インスタンス。`https://`を追加しないでください。ドメインのみを追加してください。" +recommendedInstancesDescription: "推奨タイムラインに表示するために改行で区切られた推奨インスタンス。`https://`を追加しないでください。ドメインのみを追加してください。" caption: "自動キャプション" splash: "スプラッシュスクリーン" updateAvailable: "アップデートがありますよ" swipeOnDesktop: "デスクトップでモバイルスタイルのスワイプを可能にする" logoImageUrl: "ロゴのURL" +showAdminUpdates: "新しいCalckeyのバージョンが利用可能であることを示す(管理者のみ)" _sensitiveMediaDetection: description: "機械学習を使って自動でセンシティブなメディアを検出し、モデレーションに役立てることができます。サーバーの負荷が少し増えます。" diff --git a/package.json b/package.json index d9fda5ae8..21d24a330 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "calckey", -"version": "12.119.0-calc.4.1", + "version": "12.119.0-calc.4.2", "codename": "aqua", "repository": { "type": "git", diff --git a/packages/client/src/pages/admin/index.vue b/packages/client/src/pages/admin/index.vue index fb6fcc5ca..de734aa92 100644 --- a/packages/client/src/pages/admin/index.vue +++ b/packages/client/src/pages/admin/index.vue @@ -33,6 +33,7 @@ import { instance } from '@/instance'; import { version } from '@/config'; import * as os from '@/os'; import { lookupUser } from '@/scripts/lookup-user'; +import { defaultStore } from '@/store'; import { useRouter } from '@/router'; import { definePageMetadata, provideMetadataReceiver, setPageMetadata } from '@/scripts/page-metadata'; @@ -68,13 +69,15 @@ os.api('admin/abuse-user-reports', { if (reports?.length > 0) thereIsUnresolvedAbuseReport = true; }); -os.api('latest-version').then(res => { - const cleanRes = res?.tag_name.replace(/[^0-9]/g, ''); - const cleanVersion = version.replace(/[^0-9]/g, ''); - if (cleanRes !== cleanVersion) { - updateAvailable = true; - } -}); +if (defaultStore.state.showAdminUpdates) { + os.api('latest-version').then(res => { + const cleanRes = res?.tag_name.replace(/[^0-9]/g, ''); + const cleanVersion = version.replace(/[^0-9]/g, ''); + if (cleanRes !== cleanVersion) { + updateAvailable = true; + } + }); +} const NARROW_THRESHOLD = 600; const ro = new ResizeObserver((entries, observer) => { diff --git a/packages/client/src/pages/settings/general.vue b/packages/client/src/pages/settings/general.vue index 9f96d63b2..61aad82f0 100644 --- a/packages/client/src/pages/settings/general.vue +++ b/packages/client/src/pages/settings/general.vue @@ -59,6 +59,7 @@ {{ i18n.ts.disableDrawer }} {{ i18n.ts.showUpdates }} + {{ i18n.ts.showAdminUpdates }} @@ -96,6 +97,7 @@