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
No known key found for this signature in database
GPG key ID: 3E30B3F26C7B4AA2
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;