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

implement of useIsUntitledPage hooks

WNomunomu 1 год назад
Родитель
Сommit
f8473b0035

+ 48 - 10
apps/app/src/components/PageHeader/untitled-page-utils.ts

@@ -4,22 +4,47 @@ import { useTranslation } from 'next-i18next';
 
 export const useIsUntitledPage = (currentPage?: IPagePopulatedToShowRevision | null, editedPageTitle?: string): boolean => {
 
-  // const { t, i18n } = useTranslation();
+  const { t, i18n } = useTranslation();
 
-  const { t: tEn } = useTranslation('translation', { lng: 'en' });
-  const { t: tJa } = useTranslation('translation', { lng: 'ja' });
-  const { t: tZh } = useTranslation('translation', { lng: 'zh' });
+  // const { t: tJa } = useTranslation('translation', { lng: 'ja_JP' });
+  // const { t: tEn } = useTranslation('translation', { lng: 'en_US' });
+  // const { t: tZh } = useTranslation('translation', { lng: 'zh_CN' });
 
   if (currentPage == null || editedPageTitle == null) {
     return false;
   }
 
-  const isUntitledPageTitle = false;
+  const currentLanguage = i18n.language;
+
+  // const getTranslation = (lng: string, key: string) => {
+  //   i18n.changeLanguage(lng);
+  //   return t(key);
+  // };
+
+  // const isUntitledPageTitle = false;
+
+  const languageArray = ['ja_JP', 'en_US', 'zh_CN'];
+
+  const determineIsUntitledPageTitle = (languageArray, editedPageTitle) => {
+    return languageArray.some((lng) => {
+      const untitledPageTitle = i18n.getFixedT(lng, 'translation')('create_page.untitled');
+
+      console.log(untitledPageTitle);
+
+      // https://regex101.com/r/Wg2Hh6/1
+      const untitledPageRegex = new RegExp(`^${untitledPageTitle}-\\d+$`);
+
+      console.log(untitledPageRegex.test(editedPageTitle));
+
+      return untitledPageRegex.test(editedPageTitle);
+    });
+  };
+
+  const isUntitledPageTitle = determineIsUntitledPageTitle(languageArray, editedPageTitle);
 
-  const languageArray = ['ja', 'en', 'zh'];
 
   // languageArray.forEach((lng) => {
-  //   const untitledPageTitle = i18n.getFixedT(lng)('create_page.untitled');
+  //   const untitledPageTitle = i18n.getFixedT(lng, 'translation')('create_page.untitled');
 
   //   // https://regex101.com/r/Wg2Hh6/1
   //   const untitledPageRegex = new RegExp(`^${untitledPageTitle}-\\d+$`);
@@ -27,9 +52,22 @@ export const useIsUntitledPage = (currentPage?: IPagePopulatedToShowRevision | n
   //   if (untitledPageRegex.test(editedPageTitle)) isUntitledPageTitle = true;
   // });
 
-  const jaUntitledPageTitle = tJa('create_page.untitled');
-  const enUntitledPageTitle = tEn('create_page.untitled');
-  const zhUntitledPageTitle = tZh('create_page.untitled');
+  // const jaUntitledPageTitle = i18n.getFixedT('ja_JP', 'translation')('create_page.untitled');
+  // const enUntitledPageTitle = i18n.getFixedT('en_US', 'translation')('create_page.untitled');
+  // const zhUntitledPageTitle = i18n.getFixedT('zh_CN', 'translation')('create_page.untitled');
+
+
+  // const jaUntitledPageTitle = tJa('create_page.untitled');
+  // const enUntitledPageTitle = tEn('create_page.untitled');
+  // const zhUntitledPageTitle = tZh('create_page.untitled');
+
+  // const untitled = t('create_page.untitled');
+
+  // const jaHelp = tJa('Help');
+  // const enHelp = tEn('Help');
+  // const zhHelp = tZh('Help');
+
+  // const help = t('Help');
 
   // https://regex101.com/r/Wg2Hh6/1
   // const untitledPageTitle = t('create_page.untitled');

+ 1 - 1
apps/app/src/pages/[[...path]].page.tsx

@@ -582,7 +582,7 @@ function injectServerConfigurations(context: GetServerSidePropsContext, props: P
  * @param namespacesRequired
  */
 async function injectNextI18NextConfigurations(context: GetServerSidePropsContext, props: Props, namespacesRequired?: string[] | undefined): Promise<void> {
-  const nextI18NextConfig = await getNextI18NextConfig(serverSideTranslations, context, namespacesRequired);
+  const nextI18NextConfig = await getNextI18NextConfig(serverSideTranslations, context, namespacesRequired, true);
   props._nextI18Next = nextI18NextConfig._nextI18Next;
 }