Add paystro visual components

This commit is contained in:
tobias
2024-06-24 00:05:41 +02:00
parent 0a14bb39de
commit 5eb7b7037b
14 changed files with 583 additions and 44 deletions

4
src/utils/date.ts Normal file
View File

@ -0,0 +1,4 @@
export const getCurrentYear = (): number => {
const currentYear = new Date().getFullYear()
return currentYear
}

21
src/utils/theme.ts Normal file
View File

@ -0,0 +1,21 @@
export function switchTheme(themeClass: string): void {
const bodyElement = document.body
const classesToRemove = ['light', 'dark', 'autonomic']
bodyElement.classList.remove(...classesToRemove)
bodyElement.classList.add(themeClass)
}
export function handleThemeChange(event: Event): void {
const selectElement = event.target as HTMLSelectElement
const selectedTheme = selectElement.value
switchTheme(selectedTheme)
}
export function initializeThemeSelector(): void {
const themeSelector = document.getElementById('theme-selector')
if (themeSelector) {
themeSelector.addEventListener('change', handleThemeChange)
}
}