Skip to content

Commit

Permalink
Merge pull request ZeusLN#1486 from myxmaster/fix-delete-node
Browse files Browse the repository at this point in the history
Node config: Fixed updating selected node after deleting a node
  • Loading branch information
kaloudis authored Jul 5, 2023
2 parents 3dd8fdc + 4b3ab01 commit 5c1a14a
Showing 1 changed file with 22 additions and 3 deletions.
25 changes: 22 additions & 3 deletions views/Settings/NodeConfiguration.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ import SettingsStore, {
} from '../../stores/SettingsStore';

import Scan from '../../assets/images/SVG/Scan.svg';
import { Settings } from '../../stores/SettingsStore';

interface NodeConfigurationProps {
navigation: any;
Expand Down Expand Up @@ -91,7 +92,7 @@ export default class NodeConfiguration extends React.Component<
port: '',
macaroonHex: '',
saved: false,
index: null,
index: null as number | null,
active: false,
newEntry: false,
implementation: 'lnd',
Expand Down Expand Up @@ -409,13 +410,31 @@ export default class NodeConfiguration extends React.Component<

updateSettings({
nodes: newNodes,
selectedNode:
index === settings.selectedNode ? 0 : settings.selectedNode
selectedNode: this.getNewSelectedNodeIndex(index, settings)
}).then(() => {
navigation.navigate('Nodes', { refresh: true });
});
};

getNewSelectedNodeIndex(
indexOfDeletedNode: number | null,
settings: Settings
): number | undefined {
if (
settings.selectedNode == null ||
indexOfDeletedNode == null ||
indexOfDeletedNode > settings.selectedNode
) {
return settings.selectedNode;
}
if (indexOfDeletedNode < settings.selectedNode) {
return settings.selectedNode - 1;
}
return settings.nodes?.length != null && settings.nodes?.length > 0
? 0
: undefined;
}

setNodeConfigurationAsActive = () => {
const { SettingsStore, navigation } = this.props;
const { updateSettings } = SettingsStore;
Expand Down

0 comments on commit 5c1a14a

Please sign in to comment.