From 5dba2d8cedf46798fc197de4856409124a65ce4e Mon Sep 17 00:00:00 2001 From: Bobby Date: Mon, 12 May 2025 18:59:23 +0530 Subject: added sidebar and related components --- src/scripts/sidebarImage.ts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/scripts/sidebarImage.ts (limited to 'src/scripts') diff --git a/src/scripts/sidebarImage.ts b/src/scripts/sidebarImage.ts new file mode 100644 index 0000000..456059e --- /dev/null +++ b/src/scripts/sidebarImage.ts @@ -0,0 +1,30 @@ +document.addEventListener("DOMContentLoaded", (): void => { + const currentMinute: number = Math.floor(Date.now() / 60000); + const sidebarImagePathPrefix: string = "/images/internal/sidebar"; + + type ImageRule = { + divisor: number; + filename: string; + }; + + const imageRules: ImageRule[] = [ + { divisor: 7, filename: "7.gif" }, + { divisor: 5, filename: "5.gif" }, + { divisor: 3, filename: "3.gif" }, + { divisor: 2, filename: "2.gif" }, + ]; + + const matchedRule: ImageRule | undefined = imageRules.find( + (rule: ImageRule): boolean => currentMinute % rule.divisor === 0 + ); + + const imageName: string = matchedRule ? matchedRule.filename : "default.gif"; + const sidebarImage: string = `${sidebarImagePathPrefix}/${imageName}`; + + const imageElement: HTMLImageElement | null = document.getElementById( + "sidebar-image" + ) as HTMLImageElement; + if (imageElement) { + imageElement.src = sidebarImage; + } +}); -- cgit v1.2.3