mirror of
https://github.com/Sped0n/bridget.git
synced 2026-04-18 20:19:30 -07:00
feat(customCursor.ts): add support for setting custom text for cursorInner to display different cursor text fix(stage.ts): fix variable declaration and initialization for imgs, last, cordHist, isOpen, isAnimating, and active to improve code readability and maintainability feat(stage.ts): add support for minimizing image and initialize stage with image JSON data fix(stageNav.ts): fix variable declaration and initialization for navItems to improve code readability and maintainability feat(stageNav.ts): add support for handling click and key events for stage navigation fix(nav.ts): fix variable declaration and initialization for thresholdDiv and indexDispNums to improve code readability and maintainability feat(nav.ts): initialize nav and update threshold text
68 lines
1.6 KiB
TypeScript
68 lines
1.6 KiB
TypeScript
import { getState, incThreshold, decThreshold } 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[]
|
|
|
|
/**
|
|
* init
|
|
*/
|
|
|
|
export function initNav() {
|
|
// init threshold text
|
|
updateThresholdText()
|
|
// init index text
|
|
updateIndexText()
|
|
// event listeners
|
|
decButton.addEventListener('click', () => decThreshold())
|
|
incButton.addEventListener('click', () => incThreshold())
|
|
}
|
|
|
|
// helper
|
|
|
|
export function updateThresholdText(): void {
|
|
const thresholdValue: string = expand(getState().threshold)
|
|
thresholdDispNums.forEach((e: HTMLSpanElement, i: number) => {
|
|
e.innerText = thresholdValue[i]
|
|
})
|
|
}
|
|
|
|
export function updateIndexText(): void {
|
|
const indexValue: string = expand(getState().index + 1)
|
|
const indexLength: string = expand(getState().length)
|
|
indexDispNums.forEach((e: HTMLSpanElement, i: number) => {
|
|
if (i < 4) {
|
|
e.innerText = indexValue[i]
|
|
} else {
|
|
e.innerText = indexLength[i - 4]
|
|
}
|
|
})
|
|
}
|