Просмотр исходного кода

feat: Add growi cloud link to storage settings

ryota-t 1 неделя назад
Родитель
Сommit
80b99ad155

+ 15 - 3
apps/app/.env.development

@@ -7,7 +7,19 @@ MIGRATIONS_DIR=src/migrations/
 NEXT_TELEMETRY_DISABLED=1
 
 APP_SITE_URL=http://localhost:3000
-FILE_UPLOAD=mongodb
+FILE_UPLOAD=azure
+
+# ストレージタイプを固定(ラジオボタンが disabled になる)
+FILE_UPLOAD_USES_ONLY_ENV_VAR_FOR_FILE_UPLOAD_TYPE=true
+
+# GCS設定を環境変数のみに固定(フィールドが readOnly になる)
+GCS_USES_ONLY_ENV_VARS_FOR_SOME_OPTIONS=true
+
+# Azure設定を環境変数のみに固定(フィールドが readOnly になる)
+AZURE_USES_ONLY_ENV_VARS_FOR_SOME_OPTIONS=true
+
+
+
 # MONGO_GRIDFS_TOTAL_LIMIT=10485760
 MONGO_URI="mongodb://mongo:27017/growi"
 # REDIS_URI="http://redis:6379"
@@ -24,8 +36,8 @@ OGP_URI="http://ogp:8088"
 # FORCE_WIKI_MODE=private
 # SLACKBOT_WITHOUT_PROXY_SIGNING_SECRET=''
 # SLACKBOT_WITHOUT_PROXY_BOT_TOKEN=''
-# GROWI_CLOUD_URI='http://growi.cloud'
-# GROWI_APP_ID_FOR_GROWI_CLOUD=012345
+GROWI_CLOUD_URI='http://growi.cloud'
+GROWI_APP_ID_FOR_GROWI_CLOUD=012345
 # AUDIT_LOG_ENABLED=false
 # ACTIVITY_EXPIRATION_SECONDS=2592000
 # AUDIT_LOG_ACTION_GROUP_SIZE=SMALL

+ 2 - 1
apps/app/public/static/locales/en_US/admin.json

@@ -914,7 +914,8 @@
     "confirm": "Delete plugin?"
   },
   "cloud_setting_management": {
-    "to_cloud_settings": "Open GROWI.cloud Settings"
+    "to_cloud_settings": "Open GROWI.cloud Settings",
+    "change_from_cloud": "You can change the settings from the GROWI.cloud admin panel."
   },
   "audit_log_action_category": {
     "Page": "Page",

+ 2 - 1
apps/app/public/static/locales/fr_FR/admin.json

@@ -913,7 +913,8 @@
     "confirm": "Supprimer le plugin?"
   },
   "cloud_setting_management": {
-    "to_cloud_settings": "Ouvrir paramètres GROWI.cloud"
+    "to_cloud_settings": "Ouvrir paramètres GROWI.cloud",
+    "change_from_cloud": "Vous pouvez modifier les paramètres depuis le panneau d'administration GROWI.cloud."
   },
   "audit_log_action_category": {
     "Page": "Page",

+ 2 - 1
apps/app/public/static/locales/ja_JP/admin.json

@@ -923,7 +923,8 @@
     "confirm": "プラグインを削除しますか?"
   },
   "cloud_setting_management": {
-    "to_cloud_settings": "GROWI.cloud の管理画面へ"
+    "to_cloud_settings": "GROWI.cloud の管理画面へ",
+    "change_from_cloud": "GROWI.cloud の管理画面から設定を変更できます。"
   },
   "audit_log_action_category": {
     "Page": "ページ",

+ 2 - 1
apps/app/public/static/locales/ko_KR/admin.json

@@ -914,7 +914,8 @@
     "confirm": "플러그인 삭제?"
   },
   "cloud_setting_management": {
-    "to_cloud_settings": "GROWI.cloud 설정 열기"
+    "to_cloud_settings": "GROWI.cloud 설정 열기",
+    "change_from_cloud": "GROWI.cloud 관리 화면에서 설정을 변경할 수 있습니다."
   },
   "audit_log_action_category": {
     "Page": "페이지",

+ 2 - 1
apps/app/public/static/locales/zh_CN/admin.json

@@ -923,7 +923,8 @@
     "confirm": "Delete plugin?"
   },
   "cloud_setting_management": {
-    "to_cloud_settings": "進入 GROWI.cloud 的管理界面"
+    "to_cloud_settings": "進入 GROWI.cloud 的管理界面",
+    "change_from_cloud": "您可以从 GROWI.cloud 管理界面更改设置。"
   },
   "audit_log_action_category": {
     "Page": "页面",

+ 18 - 0
apps/app/src/client/components/Admin/App/FileUploadSetting.tsx

@@ -5,6 +5,7 @@ import { useController, useForm } from 'react-hook-form';
 
 import { toastError, toastSuccess } from '~/client/util/toastr';
 import { FileUploadType } from '~/interfaces/file-uploader';
+import { useGrowiAppIdForGrowiCloud, useGrowiCloudUri } from '~/states/global';
 
 import AdminUpdateButtonRow from '../Common/AdminUpdateButtonRow';
 import { AwsSettingMolecule } from './AwsSetting';
@@ -15,6 +16,9 @@ import { useFileUploadSettings } from './useFileUploadSettings';
 
 const FileUploadSetting = (): JSX.Element => {
   const { t } = useTranslation(['admin', 'commons']);
+  const growiCloudUri = useGrowiCloudUri();
+  const growiAppIdForGrowiCloud = useGrowiAppIdForGrowiCloud();
+  const isCloud = growiCloudUri != null && growiAppIdForGrowiCloud != null;
   const { data, isLoading, error, updateSettings } = useFileUploadSettings();
 
   const { register, handleSubmit, control, watch, formState } =
@@ -146,6 +150,20 @@ const FileUploadSetting = (): JSX.Element => {
             />
           </p>
         )}
+        {data.isFixedFileUploadByEnvVar &&
+          (fileUploadType === 'gcs' || fileUploadType === 'azure') &&
+          isCloud && (
+            <div className="text-start offset-3 col-6 mt-2">
+              <p>{t('admin:cloud_setting_management.change_from_cloud')}</p>
+              <a
+                href={`${growiCloudUri}/my/apps/${growiAppIdForGrowiCloud}`}
+                className="btn btn-outline-secondary"
+              >
+                <span className="material-symbols-outlined me-1">share</span>
+                {t('admin:cloud_setting_management.to_cloud_settings')}
+              </a>
+            </div>
+          )}
       </div>
 
       {fileUploadType === 'aws' && (