mirror of
https://github.com/denizsafak/abogen.git
synced 2026-07-18 13:40:27 +02:00
feat: Enhance provider picker modal handling and improve action event delegation
This commit is contained in:
@@ -211,7 +211,9 @@ const setupVoiceMixer = () => {
|
|||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
let resolved = false;
|
let resolved = false;
|
||||||
const teardown = () => {
|
const teardown = () => {
|
||||||
|
providerPickerModal.dataset.open = "false";
|
||||||
providerPickerModal.hidden = true;
|
providerPickerModal.hidden = true;
|
||||||
|
document.body.classList.remove("modal-open");
|
||||||
document.removeEventListener("keydown", onKeydown);
|
document.removeEventListener("keydown", onKeydown);
|
||||||
providerPickerOptions.removeEventListener("change", onChange);
|
providerPickerOptions.removeEventListener("change", onChange);
|
||||||
providerPickerOverlay?.removeEventListener("click", onCancel);
|
providerPickerOverlay?.removeEventListener("click", onCancel);
|
||||||
@@ -244,6 +246,8 @@ const setupVoiceMixer = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
providerPickerModal.hidden = false;
|
providerPickerModal.hidden = false;
|
||||||
|
providerPickerModal.dataset.open = "true";
|
||||||
|
document.body.classList.add("modal-open");
|
||||||
document.addEventListener("keydown", onKeydown);
|
document.addEventListener("keydown", onKeydown);
|
||||||
providerPickerOptions.addEventListener("change", onChange);
|
providerPickerOptions.addEventListener("change", onChange);
|
||||||
providerPickerOverlay?.addEventListener("click", onCancel);
|
providerPickerOverlay?.addEventListener("click", onCancel);
|
||||||
@@ -1088,7 +1092,8 @@ const setupVoiceMixer = () => {
|
|||||||
headerActions.addEventListener("click", (event) => {
|
headerActions.addEventListener("click", (event) => {
|
||||||
const target = event.target;
|
const target = event.target;
|
||||||
if (!(target instanceof HTMLElement)) return;
|
if (!(target instanceof HTMLElement)) return;
|
||||||
const action = target.dataset.action;
|
const actionEl = target.closest("[data-action]");
|
||||||
|
const action = actionEl instanceof HTMLElement ? actionEl.dataset.action : null;
|
||||||
if (!action) return;
|
if (!action) return;
|
||||||
if (action === "new-profile") {
|
if (action === "new-profile") {
|
||||||
requestNewProfile();
|
requestNewProfile();
|
||||||
|
|||||||
Reference in New Issue
Block a user