lemmy-ui/src/server/utils/build-themes-list.ts
2023-06-26 10:37:39 -04:00

26 lines
668 B
TypeScript

import { existsSync } from "fs";
import { readdir } from "fs/promises";
const extraThemesFolder =
process.env["LEMMY_UI_EXTRA_THEMES_FOLDER"] || "./extra_themes";
const themes: ReadonlyArray<string> = [
"darkly",
"darkly-red",
"darkly-compact",
"darkly-pureblack",
"litely",
"litely-red",
"litely-compact",
];
export async function buildThemeList(): Promise<ReadonlyArray<string>> {
if (existsSync(extraThemesFolder)) {
const dirThemes = await readdir(extraThemesFolder);
const cssThemes = dirThemes
.filter(d => d.endsWith(".css"))
.map(d => d.replace(".css", ""));
return themes.concat(cssThemes);
}
return themes;
}