fix(hk): protect unsaved editors and await prefix save results
CI / check (push) Successful in 2m34s
CI / deploy (push) Successful in 19s
CI / publish-container (push) Successful in 1m24s

This commit is contained in:
Simo committed 2026-09-11 10:48:34 +02:00
1 parent 89af4eb1f6
commit d5091d1a73
11 files changed
+602 -231

No files matched your search

+21 -31
View File
@@ -107,44 +107,34 @@ export function PrefixesClient({ canEdit }: { canEdit: boolean }) {
});
};
const handleSavePrefix = async (data: PrefixFormData, editId?: number) => {
if (editId) {
const handleSavePrefix = (
data: PrefixFormData,
editId?: number,
): Promise<boolean> => {
if (isPending) return Promise.resolve(false);
return new Promise((resolve) => {
const fields = {
text: data.text,
color: data.color,
icon: data.icon,
effect: data.effect,
active: data.active ? 1 : 0,
};
run(
() =>
updatePrefix({
id: editId,
text: data.text,
color: data.color,
icon: data.icon,
effect: data.effect,
active: data.active ? 1 : 0,
}),
editId
? updatePrefix({ id: editId, ...fields })
: createPrefix({ username: data.username, ...fields }),
{
successMessage: "Prefix updated!",
successMessage: editId ? "Prefix updated!" : "Prefix created!",
onSuccess: () => {
fetchPrefixes();
void fetchPrefixes();
resolve(true);
},
onError: () => resolve(false),
},
);
} else {
run(
() =>
createPrefix({
username: data.username,
text: data.text,
color: data.color,
icon: data.icon,
effect: data.effect,
active: data.active ? 1 : 0,
}),
{
successMessage: "Prefix created!",
onSuccess: () => {
fetchPrefixes();
},
},
);
}
});
};
const openAddDialog = () => {