mirror of
https://github.com/Sped0n/bridget.git
synced 2026-04-18 12:09:29 -07:00
fix(customCursor.ts): add return type void to onMouse function for clarity fix(customCursor.ts): add passive option to window event listener for mousemove to improve performance fix(stageNav.ts): move import statement for setCustomCursor to the top for better organization fix(stageNav.ts): add return type void to handleClick function for clarity fix(stageNav.ts): add return type void to handleKey function for clarity fix(stageNav.ts): add passive option to overlay event listeners for click, keydown, mouseover, and focus to improve performance fix(stageNav.ts): add passive option to window event listener for keydown to improve performance fix(stageNav.ts): add return type void to nextImage function for clarity fix(stageNav.ts): add return type void to prevImage function for clarity fix(gallery.ts): move import statement for Swiper to the top for better organization fix(gallery.ts): add return type void to slideUp function for clarity fix(gallery.ts): add return type void to initGallery function for clarity fix(gallery.ts): add passive option to window event listener for touchstart to improve performance fix(gallery.ts): add return type void to changeSlide function for clarity fix(gallery.ts): add return type void to scrollToActive function for clarity fix(gallery.ts): add return type void to createGallery function for clarity fix(gallery.ts): add passive option to close event listeners for click and keydown to improve performance fix(gallery.ts): add passive option to overlay event listeners for click, keydown, mouseover, and focus to improve performance fix(gallery.ts): add passive option to window event listener for touchstart to improve performance fix(nav.ts): add return type void to initNav function for clarity fix(utils.ts): add return type number to getRandom function for clarity fix(utils.ts): add return type void to onVisible function for clarity fix(utils.ts): add return type void to addWatcher function in Watchable class for clarity
101 lines
2.3 KiB
TypeScript
101 lines
2.3 KiB
TypeScript
import { decThreshold, incThreshold, state } from './state'
|
|
import { expand } from './utils'
|
|
|
|
/**
|
|
* variables
|
|
*/
|
|
|
|
// threshold div
|
|
const thresholdDiv = document
|
|
.getElementsByClassName('threshold')
|
|
.item(0) as HTMLDivElement
|
|
|
|
// threshold nums span
|
|
const thresholdDispNums = Array.from(
|
|
thresholdDiv.getElementsByClassName('num')
|
|
) as HTMLSpanElement[]
|
|
|
|
// threshold buttons
|
|
const decButton = thresholdDiv
|
|
.getElementsByClassName('dec')
|
|
.item(0) as HTMLButtonElement
|
|
const incButton = thresholdDiv
|
|
.getElementsByClassName('inc')
|
|
.item(0) as HTMLButtonElement
|
|
|
|
// index div
|
|
const indexDiv = document.getElementsByClassName('index').item(0) as HTMLDivElement
|
|
|
|
// index nums span
|
|
const indexDispNums = Array.from(
|
|
indexDiv.getElementsByClassName('num')
|
|
) as HTMLSpanElement[]
|
|
|
|
// links div
|
|
const linksDiv = document.getElementsByClassName('links').item(0) as HTMLDivElement
|
|
|
|
// links
|
|
const links = Array.from(linksDiv.getElementsByClassName('link')) as HTMLAnchorElement[]
|
|
|
|
// current link index
|
|
const currentLinkIndex = document
|
|
.getElementById('main')
|
|
?.getAttribute('currentMenuItemIndex') as string
|
|
|
|
// set current link
|
|
for (const [index, link] of links.entries()) {
|
|
if (index === parseInt(currentLinkIndex)) {
|
|
// set current link style
|
|
link.classList.add('current')
|
|
// set current link title (only if not home)
|
|
if (index !== 0) document.title = link.innerText + ' | ' + document.title
|
|
}
|
|
}
|
|
|
|
/**
|
|
* init
|
|
*/
|
|
|
|
export function initNav(): void {
|
|
// init threshold text
|
|
updateThresholdText()
|
|
// init index text
|
|
updateIndexText()
|
|
// event listeners
|
|
decButton.addEventListener(
|
|
'click',
|
|
() => {
|
|
decThreshold()
|
|
},
|
|
{ passive: true }
|
|
)
|
|
incButton.addEventListener(
|
|
'click',
|
|
() => {
|
|
incThreshold()
|
|
},
|
|
{ passive: true }
|
|
)
|
|
}
|
|
|
|
// helper
|
|
|
|
export function updateThresholdText(): void {
|
|
const thresholdValue: string = expand(state.get().threshold)
|
|
thresholdDispNums.forEach((e: HTMLSpanElement, i: number) => {
|
|
e.innerText = thresholdValue[i]
|
|
})
|
|
}
|
|
|
|
export function updateIndexText(): void {
|
|
const indexValue: string = expand(state.get().index + 1)
|
|
const indexLength: string = expand(state.get().length)
|
|
indexDispNums.forEach((e: HTMLSpanElement, i: number) => {
|
|
if (i < 4) {
|
|
e.innerText = indexValue[i]
|
|
} else {
|
|
e.innerText = indexLength[i - 4]
|
|
}
|
|
})
|
|
}
|