1 import { Language } from "lemmy-js-client";
2 import { UserService } from "../../services";
5 * This shows what language you can select
7 * Use showAll for the site form
8 * Use showSite for the profile and community forms
9 * Use false for both those to filter on your profile and site ones
11 export default function selectableLanguages(
12 allLanguages: Language[],
13 siteLanguages: number[],
16 myUserInfo = UserService.Instance.myUserInfo,
18 const allLangIds = allLanguages.map(l => l.id);
19 let myLangs = myUserInfo?.discussion_languages ?? allLangIds;
20 myLangs = myLangs.length === 0 ? allLangIds : myLangs;
21 const siteLangs = siteLanguages.length === 0 ? allLangIds : siteLanguages;
27 return allLanguages.filter(x => siteLangs.includes(x.id));
30 .filter(x => siteLangs.includes(x.id))
31 .filter(x => myLangs.includes(x.id));