[Plugins] Properly handle errors in UI

This commit is contained in:
Beef 2023-02-20 18:43:50 +00:00
parent a039d183b7
commit 77dd4503b7
2 changed files with 12 additions and 4 deletions

View file

@ -100,7 +100,7 @@ export function stopPlugin(id: string, disable = true) {
if (!pluginRet) throw new Error("Attempted to stop a non-started plugin");
try {
loadedPlugins[plugin.id]?.onUnload?.();
pluginRet.onUnload?.();
} catch(e) {
logger.error(`Plugin ${plugin.id} errored whilst unloading`, e);
}

View file

@ -71,7 +71,11 @@ export default function PluginCard({ plugin }: PluginCardProps) {
style={RN.Platform.OS === "android" && { marginVertical: -15 }}
value={plugin.enabled}
onValueChange={(v: boolean) => {
try {
if (v) startPlugin(plugin.id); else stopPlugin(plugin.id);
} catch (e) {
showToast((e as Error).message, getAssetIDByName("Small"));
}
}}
/>
}
@ -88,8 +92,12 @@ export default function PluginCard({ plugin }: PluginCardProps) {
cancelText: "Cancel",
confirmColor: "red",
onConfirm: () => {
try {
removePlugin(plugin.id);
setRemoved(true);
} catch (e) {
showToast((e as Error).message, getAssetIDByName("Small"));
}
}
})}
>