update sollet extension

This commit is contained in:
jhl-alameda 2021-04-09 18:30:45 +08:00
parent 63ae7bd130
commit a4ed421e58
3 changed files with 9 additions and 17 deletions

View File

@ -20,7 +20,7 @@ export default function DeleteMnemonicDialog({ open, onClose }) {
}}
fullWidth
>
<DialogTitle>Delete Mnemonic</DialogTitle>
<DialogTitle>{'Log Out & Delete Mnemonic'}</DialogTitle>
<DialogContentText style={{ margin: 20 }}>
<div
style={{

View File

@ -390,7 +390,7 @@ function WalletSelector() {
<ListItemIcon className={classes.menuItemIcon}>
<ExitToApp fontSize="small" />
</ListItemIcon>
Delete Mnemonic
{'Log Out & Delete Mnemonic'}
</MenuItem>
</Menu>
</>

View File

@ -44,6 +44,7 @@ export default function PopupPage({ opener }) {
return params.get('origin');
}, []);
const selectedWallet = useWallet();
const selectedWalletAddress = selectedWallet && selectedWallet.publicKey.toBase58();
const { accounts, setWalletSelector } = useWalletSelector();
const [wallet, setWallet] = useState(isExtension ? null : selectedWallet);
@ -65,21 +66,13 @@ export default function PopupPage({ opener }) {
[opener, origin],
);
// Hack to keep selectedWallet and wallet in sync. TODO: remove this block.
// Keep selectedWallet and wallet in sync.
useEffect(() => {
if (!isExtension) {
if (!wallet) {
setWallet(selectedWallet);
} else if (!wallet.publicKey.equals(selectedWallet.publicKey)) {
setWallet(selectedWallet);
}
}
}, [
wallet,
wallet.publicKey,
selectedWallet,
selectedWallet.publicKey,
]);
}, [selectedWalletAddress]);
// (Extension only) Fetch connected wallet for site from local storage.
useEffect(() => {
@ -102,7 +95,7 @@ export default function PopupPage({ opener }) {
if (isExtension && connectedAccount) {
setWallet(selectedWallet);
}
}, [connectedAccount, selectedWallet]);
}, [connectedAccount, selectedWalletAddress]);
// Send a disconnect event if this window is closed, this component is
// unmounted, or setConnectedAccount(null) is called.
@ -122,6 +115,7 @@ export default function PopupPage({ opener }) {
// Disconnect if the user switches to a different wallet.
useEffect(() => {
if (
!isExtension &&
wallet &&
connectedAccount &&
!connectedAccount.equals(wallet.publicKey)
@ -152,7 +146,6 @@ export default function PopupPage({ opener }) {
const request = requests[0];
const popRequest = () => setRequests((requests) => requests.slice(1));
// TODO TEST ON SOLLET.IO VERSION
const { messages, messageDisplay } = useMemo(() => {
if (!request || request.method === 'connect') {
return { messages: [], messageDisplay: 'tx' }
@ -277,7 +270,6 @@ export default function PopupPage({ opener }) {
}
async function sendAllSignatures(messages) {
console.log('wallet', wallet);
let signatures;
// Ledger must sign one by one.
if (wallet.type === 'ledger') {