From 70ae6ae8d1dd50817802e14e1f730e1e9ae8a842 Mon Sep 17 00:00:00 2001 From: Bram Suurd <78373894+BramSuurdje@users.noreply.github.com> Date: Wed, 6 Nov 2024 21:31:52 +0100 Subject: [PATCH] Add category sorting and fetching logic in data.ts --- frontend/src/lib/data.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 frontend/src/lib/data.ts diff --git a/frontend/src/lib/data.ts b/frontend/src/lib/data.ts new file mode 100644 index 00000000..5d6e36c7 --- /dev/null +++ b/frontend/src/lib/data.ts @@ -0,0 +1,26 @@ +import { Category } from "./types"; + +const sortCategories = (categories: Category[]) => { + const sortedCategories = categories.sort((a, b) => { + if (a.name === "Proxmox VE Tools") { + return -1; + } else if (b.name === "Proxmox VE Tools") { + return 1; + } else if (a.name === "Miscellaneous") { + return 1; + } else if (b.name === "Miscellaneous") { + return -1; + } else { + return a.name.localeCompare(b.name); + } + }); + + return sortedCategories; +}; + +export const fetchCategories = async () => { + const categories = await fetch(`api/categories`).then((response) => + response.json(), + ); + return sortCategories(categories); +};