summaryrefslogtreecommitdiff
path: root/src/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/scripts')
-rw-r--r--src/scripts/sidebarImage.ts30
1 files changed, 30 insertions, 0 deletions
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;
+ }
+});