ryoji-s 2 лет назад
Родитель
Сommit
eeec6d6723
1 измененных файлов с 15 добавлено и 3 удалено
  1. 15 3
      packages/pluginkit/src/v4/utils/template.ts

+ 15 - 3
packages/pluginkit/src/v4/utils/template.ts

@@ -1,11 +1,23 @@
+import { Lang } from '@growi/core';
+
 import type { TemplateSummary, TemplateStatus } from '../interfaces';
 import type { TemplateSummary, TemplateStatus } from '../interfaces';
 
 
-export const getLocalizedTemplate = (templateSummary: TemplateSummary | undefined, locale?: string): TemplateStatus | undefined => {
+export const getLocalizedTemplate = (templateSummary: TemplateSummary | undefined, locale?: string, usersDefaultLang?: Lang): TemplateStatus | undefined => {
   if (templateSummary == null) {
   if (templateSummary == null) {
     return undefined;
     return undefined;
   }
   }
 
 
-  return locale != null
-    ? templateSummary[locale]
+  const selectedLocale = usersDefaultLang ?? locale;
+
+  return selectedLocale != null && selectedLocale in templateSummary
+    ? templateSummary[selectedLocale]
     : templateSummary.default;
     : templateSummary.default;
 };
 };
+
+export const getTemplateLocales = (templateSummary: TemplateSummary | undefined): Set<string> | undefined => {
+  if (templateSummary == null) {
+    return undefined;
+  }
+
+  return new Set(Object.values(templateSummary).map(s => s.locale));
+};