web/dialog: refactor types and logic

This commit is contained in:
dumbmoron
2024-07-22 09:06:11 +00:00
committed by wukko
parent 4e4f7af437
commit 7c5b703e37
3 changed files with 18 additions and 11 deletions

View File

@@ -19,9 +19,7 @@
bodySubText={dialog.bodySubText}
buttons={dialog.buttons}
/>
{/if}
{#if dialog.type === "picker"}
{:else if dialog.type === "picker"}
<PickerDialog
id={dialog.id}
items={dialog.items}

View File

@@ -69,7 +69,7 @@
restoreDownloadButton();
return createDialog({
...(defaultErrorPopup as DialogInfo),
...defaultErrorPopup,
bodyText: "couldn't access the api",
});
}
@@ -79,7 +79,7 @@
restoreDownloadButton();
return createDialog({
...(defaultErrorPopup as DialogInfo),
...defaultErrorPopup,
bodyText: response.text,
});
}
@@ -106,7 +106,7 @@
restoreDownloadButton();
return createDialog({
...(defaultErrorPopup as DialogInfo),
...defaultErrorPopup,
bodyText: "couldn't probe the stream",
});
}
@@ -146,7 +146,7 @@
restoreDownloadButton();
return createDialog({
...(defaultErrorPopup as DialogInfo),
...defaultErrorPopup,
bodyText: "unknown/unsupported status",
});
};

View File

@@ -15,14 +15,23 @@ export type DialogPickerItem = {
thumb?: string,
}
export type DialogInfo = {
type Dialog = {
id: string,
type: "small" | "picker",
buttons?: DialogButton[],
};
export type SmallDialog = Dialog & {
type: "small",
meowbalt?: MeowbaltEmotions,
icon?: SmallDialogIcons,
title?: string,
bodyText?: string,
bodySubText?: string,
buttons?: DialogButton[],
};
export type PickerDialog = Dialog & {
type: "picker",
items?: DialogPickerItem[],
}
};
export type DialogInfo = SmallDialog | PickerDialog;