export type TutorialImageSpec = { imageUrl: string; sourcePageUrl: string; sourceLabel: string; }; export const TUTORIAL_IMAGE_LIBRARY = { forehand: { imageUrl: "https://upload.wikimedia.org/wikipedia/commons/0/00/Ray_Dunlop_forehand.jpg", sourcePageUrl: "https://commons.wikimedia.org/wiki/File:Ray_Dunlop_forehand.jpg", sourceLabel: "Wikimedia Commons", }, backhand: { imageUrl: "https://upload.wikimedia.org/wikipedia/commons/8/8c/Backhand_Federer.jpg", sourcePageUrl: "https://commons.wikimedia.org/wiki/File:Backhand_Federer.jpg", sourceLabel: "Wikimedia Commons", }, serve: { imageUrl: "https://upload.wikimedia.org/wikipedia/commons/8/85/Serena_Williams_Serves.JPG", sourcePageUrl: "https://commons.wikimedia.org/wiki/File:Serena_Williams_Serves.JPG", sourceLabel: "Wikimedia Commons", }, volley: { imageUrl: "https://upload.wikimedia.org/wikipedia/commons/a/af/Ernest_w._lewis%2C_volleying.jpg", sourcePageUrl: "https://commons.wikimedia.org/wiki/File:Ernest_w._lewis,_volleying.jpg", sourceLabel: "Wikimedia Commons", }, action: { imageUrl: "https://upload.wikimedia.org/wikipedia/commons/3/34/Frances_Tiafoe_Backhand.jpg", sourcePageUrl: "https://commons.wikimedia.org/wiki/File:Frances_Tiafoe_Backhand.jpg", sourceLabel: "Wikimedia Commons", }, wall: { imageUrl: "https://upload.wikimedia.org/wikipedia/commons/2/2c/Tennis_wall.jpg", sourcePageUrl: "https://commons.wikimedia.org/wiki/File:Tennis_wall.jpg", sourceLabel: "Wikimedia Commons", }, strategy: { imageUrl: "https://upload.wikimedia.org/wikipedia/commons/f/f3/Court_plan.png", sourcePageUrl: "https://commons.wikimedia.org/wiki/File:Court_plan.png", sourceLabel: "Wikimedia Commons", }, } satisfies Record; const CATEGORY_TO_IMAGE: Record = { forehand: "forehand", backhand: "backhand", serve: "serve", volley: "volley", footwork: "action", shadow: "forehand", wall: "wall", fitness: "action", strategy: "strategy", }; export function buildTutorialImageKey(slug: string) { return `tutorials/${slug}.webp`; } export function buildTutorialImageUrl(slug: string) { return `/uploads/${buildTutorialImageKey(slug)}`; } export function getTutorialImageSpec(category: string): TutorialImageSpec | null { const imageKey = CATEGORY_TO_IMAGE[category]; if (!imageKey) return null; return TUTORIAL_IMAGE_LIBRARY[imageKey]; }