alby-hub/frontend/src/hooks/useDeleteApp.ts
René Aaron 0c7cf4fcf6
fix: delete lightning address when deleting a sub-wallet (#1858)
* fix: delete lightning address when deleting a sub-wallet

* fix: pass app to useDeleteApp hook

* fix: move deletion to server

* fix: merge changes

* Update frontend/src/components/connections/DisconnectApp.tsx

Co-authored-by: Adithya Vardhan <imadithyavardhan@gmail.com>

* fix: create helper function

---------

Co-authored-by: Roland Bewick <roland.bewick@gmail.com>
Co-authored-by: Adithya Vardhan <imadithyavardhan@gmail.com>
2025-11-06 16:41:12 +05:30

38 lines
967 B
TypeScript

import React from "react";
import { toast } from "sonner";
import { App } from "src/types";
import { handleRequestError } from "src/utils/handleRequestError";
import { request } from "src/utils/request";
export function useDeleteApp(app: App, onSuccess?: () => void) {
const [isDeleting, setDeleting] = React.useState(false);
const deleteApp = React.useCallback(async () => {
setDeleting(true);
try {
// Delete the app/sub-wallet
await request(`/api/apps/${app.appPubkey}`, {
method: "DELETE",
headers: {
"Content-Type": "application/json",
},
});
toast("Connection deleted");
if (onSuccess) {
onSuccess();
}
} catch (error) {
await handleRequestError("Failed to delete connection", error);
} finally {
setDeleting(false);
}
}, [onSuccess, app]);
return React.useMemo(
() => ({ deleteApp, isDeleting }),
[deleteApp, isDeleting]
);
}