]> Untitled Git - lemmy-ui.git/blob - src/server/utils/build-themes-list.ts
Merge remote-tracking branch 'origin/main' into feat/add-post-body-preview-to-desktop
[lemmy-ui.git] / src / server / utils / build-themes-list.ts
1 import { existsSync } from "fs";
2 import { readdir } from "fs/promises";
3
4 const extraThemesFolder =
5   process.env["LEMMY_UI_EXTRA_THEMES_FOLDER"] || "./extra_themes";
6
7 const themes: ReadonlyArray<string> = [
8   "darkly",
9   "darkly-red",
10   "litely",
11   "litely-red",
12 ];
13
14 export async function buildThemeList(): Promise<ReadonlyArray<string>> {
15   if (existsSync(extraThemesFolder)) {
16     const dirThemes = await readdir(extraThemesFolder);
17     const cssThemes = dirThemes
18       .filter(d => d.endsWith(".css"))
19       .map(d => d.replace(".css", ""));
20     return themes.concat(cssThemes);
21   }
22   return themes;
23 }