Triviaverse / src /data /categories.ts
Simeon Garratt
feat: question system with categories, shuffle, progressive difficulty, and seeder
db857c8
Raw
History Blame Contribute Delete
1.17 kB
export interface Category {
id: number;
name: string;
emoji: string;
}
export const CATEGORIES: Category[] = [
{ id: 9, name: "General Knowledge", emoji: "๐Ÿง " },
{ id: 10, name: "Books", emoji: "๐Ÿ“š" },
{ id: 11, name: "Film", emoji: "๐ŸŽฌ" },
{ id: 12, name: "Music", emoji: "๐ŸŽต" },
{ id: 14, name: "Television", emoji: "๐Ÿ“บ" },
{ id: 15, name: "Video Games", emoji: "๐ŸŽฎ" },
{ id: 17, name: "Science & Nature", emoji: "๐Ÿ”ฌ" },
{ id: 18, name: "Computers", emoji: "๐Ÿ’ป" },
{ id: 21, name: "Sports", emoji: "โšฝ" },
{ id: 22, name: "Geography", emoji: "๐ŸŒ" },
{ id: 23, name: "History", emoji: "๐Ÿ“œ" },
{ id: 25, name: "Art", emoji: "๐ŸŽจ" },
{ id: 27, name: "Animals", emoji: "๐Ÿพ" },
];
/**
* Returns the Category object matching the given numeric id, or undefined if not found.
*/
export function getCategoryById(id: number): Category | undefined {
return CATEGORIES.find((c) => c.id === id);
}
/**
* Returns the emoji for the category matching the given name, or "โ“" if not found.
*/
export function getCategoryEmoji(name: string): string {
return CATEGORIES.find((c) => c.name === name)?.emoji ?? "โ“";
}