Explorar o código

Merge pull request #5147 from weseek/imprv/81836-86485-duplicateAlert

86485 create duplicate page alert
Mao %!s(int64=4) %!d(string=hai) anos
pai
achega
c7f1356ae1

+ 7 - 0
packages/app/resource/locales/en_US/translation.json

@@ -112,6 +112,8 @@
   "Wiki Management Home Page": "Wiki Management Home Page",
   "Wiki Management Home Page": "Wiki Management Home Page",
   "App Settings": "App Settings",
   "App Settings": "App Settings",
   "V5 Page Migration": "V5 Page Migration",
   "V5 Page Migration": "V5 Page Migration",
+  "GROWI.5.0_new_schema": "GROWI.5.0 new schema",
+  "See_more_detail_on_new_schema": "See more detail on <a href='#'>{{url}}</a> <i class='icon-share-alt'></i> ",
   "Site URL settings": "Site URL settings",
   "Site URL settings": "Site URL settings",
   "Markdown Settings": "Markdown Settings",
   "Markdown Settings": "Markdown Settings",
   "Customize": "Customize",
   "Customize": "Customize",
@@ -971,5 +973,10 @@
   },
   },
   "pagetree": {
   "pagetree": {
     "private_legacy_pages": "Private Legacy Pages"
     "private_legacy_pages": "Private Legacy Pages"
+  },
+  "duplicated_page_alert" : {
+    "same_page_name_exists": "Same page name exits as「{{pageName}}」",
+    "same_page_name_exists_at_path" : "Same page name as {{pageName}} exists at {{path}} ",
+    "select_page_to_see" : "Select a page to see"
   }
   }
 }
 }

+ 7 - 0
packages/app/resource/locales/ja_JP/translation.json

@@ -112,6 +112,8 @@
   "Wiki Management Home Page": "Wiki管理トップ",
   "Wiki Management Home Page": "Wiki管理トップ",
   "App Settings": "アプリ設定",
   "App Settings": "アプリ設定",
   "V5 Page Migration": "V5 ページマイグレーション",
   "V5 Page Migration": "V5 ページマイグレーション",
+  "GROWI.5.0_new_schema": "GROWI.5.0における新スキーマについて",
+  "See_more_detail_on_new_schema": "詳しくは<a href='#'>{{url}}</a><i class='icon-share-alt'></i>を参照ください。",
   "Site URL settings": "サイトURL設定",
   "Site URL settings": "サイトURL設定",
   "Markdown Settings": "マークダウン設定",
   "Markdown Settings": "マークダウン設定",
   "Customize": "カスタマイズ",
   "Customize": "カスタマイズ",
@@ -964,5 +966,10 @@
   },
   },
   "pagetree": {
   "pagetree": {
     "private_legacy_pages": "待避所"
     "private_legacy_pages": "待避所"
+  },
+  "duplicated_page_alert" : {
+    "same_page_name_exists": "ページ名 「{{pageName}}」が重複しています",
+    "same_page_name_exists_at_path" : "”{{path}}” において ”{{pageName}}”というページは複数存在しています。",
+    "select_page_to_see" : "以下から遷移するページを選択してください。"
   }
   }
 }
 }

+ 7 - 0
packages/app/resource/locales/zh_CN/translation.json

@@ -120,6 +120,8 @@
 	"Wiki Management Home Page": "Wiki管理首页",
 	"Wiki Management Home Page": "Wiki管理首页",
 	"App Settings": "系统设置",
 	"App Settings": "系统设置",
   "V5 Page Migration": "V5 Page Migration",
   "V5 Page Migration": "V5 Page Migration",
+  "GROWI.5.0_new_schema": "GROWI.5.0 new schema",
+  "See_more_detail_on_new_schema": "更多详情请见<a href='#'>{{url}}</a> <i class='icon-share-alt'></i> ",
 	"Site URL settings": "主页URL设置",
 	"Site URL settings": "主页URL设置",
 	"Markdown Settings": "Markdown设置",
 	"Markdown Settings": "Markdown设置",
 	"Customize": "页面定制",
 	"Customize": "页面定制",
@@ -974,5 +976,10 @@
   },
   },
   "pagetree": {
   "pagetree": {
     "private_legacy_pages": "私人遗留页面"
     "private_legacy_pages": "私人遗留页面"
+  },
+  "duplicated_page_alert" : {
+    "same_page_name_exists": "页面名称「{{pageName}}」是重复的",
+    "same_page_name_exists_at_path" : "在”{{path}}” 中,有不止一个名为”{{pageName}}”的页面",
+    "select_page_to_see" : "请在下面选择你想去的页面。"
   }
   }
 }
 }

+ 26 - 0
packages/app/src/components/DuplicatePage.tsx

@@ -0,0 +1,26 @@
+import React, { FC } from 'react';
+import { DevidedPagePath } from '@growi/core';
+import { useTranslation } from 'react-i18next';
+
+
+type DuplicatePageAlertProps = {
+  path : string,
+}
+
+const DuplicatePageAlert : FC<DuplicatePageAlertProps> = (props: DuplicatePageAlertProps) => {
+  const { path } = props;
+  const { t } = useTranslation();
+  const devidedPath = new DevidedPagePath(path);
+
+  return (
+    <div className="alert alert-warning py-3">
+      <h5 className="font-weight-bold mt-1">{t('duplicated_page_alert.same_page_name_exists', { pageName: devidedPath.latter })}</h5>
+      <p>
+        {t('duplicated_page_alert.same_page_name_exists_at_path',
+          { path: devidedPath.isFormerRoot ? '/' : devidedPath.former, pageName: devidedPath.latter })}<br />
+        <p dangerouslySetInnerHTML={{ __html: t('See_more_detail_on_new_schema', { url: t('GROWI.5.0_new_schema') }) }} />
+      </p>
+      <p className="mb-1">{t('duplicated_page_alert.select_page_to_see')}</p>
+    </div>
+  );
+};