Fixes #15961: Fix secret toggle button by avoiding duplicate event handler

This commit is contained in:
Jeremy Stretch 2024-05-06 09:26:20 -04:00
parent 85d250014f
commit 6dd311f600
3 changed files with 16 additions and 17 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -60,18 +60,17 @@ function handleSecretToggle(state: StateManager<SecretState>, button: HTMLButton
toggleSecretButton(hidden, button);
}
function toggleCallback(event: MouseEvent) {
handleSecretToggle(secretState, event.currentTarget as HTMLButtonElement);
}
/**
* Initialize secret toggle button.
*/
export function initSecretToggle(): void {
hideSecret();
for (const button of getElements<HTMLButtonElement>('button.toggle-secret')) {
button.addEventListener(
'click',
event => {
handleSecretToggle(secretState, event.currentTarget as HTMLButtonElement);
},
false,
);
button.removeEventListener('click', toggleCallback);
button.addEventListener('click', toggleCallback);
}
}