ryoji-s пре 2 година
родитељ
комит
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';
 
-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) {
     return undefined;
   }
 
-  return locale != null
-    ? templateSummary[locale]
+  const selectedLocale = usersDefaultLang ?? locale;
+
+  return selectedLocale != null && selectedLocale in templateSummary
+    ? templateSummary[selectedLocale]
     : 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));
+};