Merge pull request #263 from XRPLF/fix/delete-account-effects
Update tx state accounts on delete account.
This commit is contained in:
@@ -32,6 +32,7 @@ import { SetHookDialog } from "./SetHookDialog";
|
||||
import { addFunds } from "../state/actions/addFaucetAccount";
|
||||
import { deleteHook } from "../state/actions/deployHook";
|
||||
import { capitalize } from "../utils/helpers";
|
||||
import { deleteAccount } from '../state/actions/deleteAccount';
|
||||
|
||||
export const AccountDialog = ({
|
||||
activeAccountAddress,
|
||||
@@ -99,10 +100,7 @@ export const AccountDialog = ({
|
||||
css={{ ml: "auto", mr: "$9" }}
|
||||
tabIndex={-1}
|
||||
onClick={() => {
|
||||
const index = state.accounts.findIndex(
|
||||
acc => acc.address === activeAccount?.address
|
||||
);
|
||||
state.accounts.splice(index, 1);
|
||||
deleteAccount(activeAccount?.address);
|
||||
}}
|
||||
>
|
||||
Delete Account <Trash size="15px" />
|
||||
|
||||
@@ -162,7 +162,7 @@ export const Log: FC<ILog> = ({
|
||||
|
||||
const enrichAccounts = useCallback(
|
||||
(str?: string): ReactNode => {
|
||||
if (!str || !accounts.length) return null;
|
||||
if (!str || !accounts.length) return str;
|
||||
|
||||
const pattern = `(${accounts.map(acc => acc.address).join("|")})`;
|
||||
const res = regexifyString({
|
||||
|
||||
24
state/actions/deleteAccount.ts
Normal file
24
state/actions/deleteAccount.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import state, { transactionsState } from '..';
|
||||
|
||||
export const deleteAccount = (addr?: string) => {
|
||||
if (!addr) return;
|
||||
const index = state.accounts.findIndex(acc => acc.address === addr);
|
||||
if (index === -1) return;
|
||||
state.accounts.splice(index, 1);
|
||||
|
||||
// update selected accounts
|
||||
transactionsState.transactions
|
||||
.filter(t => t.state.selectedAccount?.value === addr)
|
||||
.forEach(t => {
|
||||
const acc = t.state.selectedAccount;
|
||||
if (!acc) return;
|
||||
acc.label = acc.value;
|
||||
});
|
||||
transactionsState.transactions
|
||||
.filter(t => t.state.selectedDestAccount?.value === addr)
|
||||
.forEach(t => {
|
||||
const acc = t.state.selectedDestAccount;
|
||||
if (!acc) return;
|
||||
acc.label = acc.value;
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user