Browse Source

fix(network): fix error removing a node when network is not started

feat/auto-update
jamaljsr 5 years ago
parent
commit
4bebbcad47
  1. 15
      src/components/designer/lnd/ActionsTab.tsx
  2. 8
      src/store/models/network.ts

15
src/components/designer/lnd/ActionsTab.tsx

@ -11,15 +11,16 @@ interface Props {
const ActionsTab: React.FC<Props> = ({ node }) => {
const { l } = usePrefixedTranslation('cmps.designer.lnd.ActionsTab');
if (node.status !== Status.Started) {
return <>{l('notStarted')}</>;
}
return (
<>
<Deposit node={node} />
<OpenChannelButtons node={node} />
<OpenTerminalButton node={node} />
{node.status !== Status.Started && l('notStarted')}
{node.status === Status.Started && (
<>
<Deposit node={node} />
<OpenChannelButtons node={node} />
<OpenTerminalButton node={node} />
</>
)}
<RemoveNode node={node} />
</>
);

8
src/store/models/network.ts

@ -1,4 +1,5 @@
import { info } from 'electron-log';
import { join } from 'path';
import { push } from 'connected-react-router';
import { Action, action, Computed, computed, Thunk, thunk } from 'easy-peasy';
import { CommonNode, LndNode, LndVersion, Status } from 'shared/types';
@ -139,11 +140,14 @@ const networkModel: NetworkModel = {
network.nodes.lightning = network.nodes.lightning.filter(n => n !== node);
getStoreActions().lnd.removeNode(node.name);
await injections.dockerService.removeNode(network, node);
getStoreActions().designer.removeNode(node.name);
actions.setNetworks([...networks]);
await actions.save();
getStoreActions().designer.removeNode(node.name);
getStoreActions().designer.syncChart(network);
rm(join(network.path, 'volumes', 'lnd', node.name));
await injections.lndService.onNodesDeleted([node, ...network.nodes.lightning]);
if (network.status === Status.Started) {
getStoreActions().designer.syncChart(network);
}
},
),
setStatus: action((state, { id, status, only, all = true, error }) => {

Loading…
Cancel
Save