diff options
| author | Bobby <[email protected]> | 2025-05-12 18:59:23 +0530 |
|---|---|---|
| committer | Bobby <[email protected]> | 2025-05-12 18:59:23 +0530 |
| commit | 5dba2d8cedf46798fc197de4856409124a65ce4e (patch) | |
| tree | db78fc28529fea672e31d0de27524b64ab904ed5 /src/scripts/sidebarImage.ts | |
| parent | c21c55fc1c5f262943f99fc4f0f343ed49d18f33 (diff) | |
| download | pagoda-5dba2d8cedf46798fc197de4856409124a65ce4e.tar.xz pagoda-5dba2d8cedf46798fc197de4856409124a65ce4e.zip | |
added sidebar and related components
Diffstat (limited to 'src/scripts/sidebarImage.ts')
| -rw-r--r-- | src/scripts/sidebarImage.ts | 30 |
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; + } +}); |
