]> Untitled Git - lemmy-ui.git/blob - src/server/utils/build-themes-list.ts
Merge branch 'main' into feat/pureblack-theme
[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   "darkly-compact",
11   "darkly-pureblack",
12   "litely",
13   "litely-red",
14   "litely-compact",
15 ];
16
17 export async function buildThemeList(): Promise<ReadonlyArray<string>> {
18   if (existsSync(extraThemesFolder)) {
19     const dirThemes = await readdir(extraThemesFolder);
20     const cssThemes = dirThemes
21       .filter(d => d.endsWith(".css"))
22       .map(d => d.replace(".css", ""));
23     return themes.concat(cssThemes);
24   }
25   return themes;
26 }