Improve movement deletion

This commit is contained in:
Pierre HUBERT 2025-05-12 21:07:08 +02:00
parent 11d140826d
commit 9fe90c3527

View File

@ -89,7 +89,15 @@ export function AccountRoute(): React.ReactElement {
ready={movements !== undefined}
errMsg="Failed to load the list of movements!"
build={() => (
<MovementsTable needReload={reload} movements={movements!} />
<MovementsTable
needReload={reload}
movements={movements!}
onDeleteMovement={(del) => {
setMovements((movements) => {
return movements?.filter((m) => m.id !== del.id);
});
}}
/>
)}
/>
</div>
@ -102,6 +110,7 @@ export function AccountRoute(): React.ReactElement {
function MovementsTable(p: {
movements: Movement[];
needReload: (skipMovements: boolean) => void;
onDeleteMovement: (movement: Movement) => void;
}): React.ReactElement {
const accounts = useAccounts();
const alert = useAlert();
@ -162,7 +171,7 @@ function MovementsTable(p: {
}
};
// Detach movement from account
// Detach file from movement
const handleDetachFile = async (movement: Movement) => {
try {
if (
@ -193,10 +202,9 @@ function MovementsTable(p: {
await MovementApi.Delete(movement);
const id = p.movements.findIndex((m) => movement.id === m.id);
p.movements.slice(id, id);
p.onDeleteMovement(movement);
p.needReload(false);
p.needReload(true);
} catch (e) {
console.error("Failed to delete movement!", e);
alert(`Failed to delete movement! ${e}`);