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