diff --git a/src/back/icons.ts b/src/back/icons.ts index 140bee5..8547052 100644 --- a/src/back/icons.ts +++ b/src/back/icons.ts @@ -4,6 +4,8 @@ import _locreq from "locreq"; const locreq = _locreq(import.meta.dirname); +let all_icon_names: Promise | null = null; + const cache = {} as Record | undefined>; export const svg_icon_path = "src/icons"; @@ -26,3 +28,12 @@ export async function icon(icon_name: string) { return ""; } } + +export async function getAllIconNames() { + if (!all_icon_names) { + all_icon_names = fs + .readdir(locreq.resolve(svg_icon_path)) + .then((files) => files.map((file) => path.parse(file).name)); + } + return all_icon_names; +}