mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Convert knobs and actions to controls/args ConfirmEncryptionPublicKey story (#14319)
* Convert ConfirmEncryptionPublicKey story to controls * Updating fromAccount as per suggestion Co-authored-by: georgewrmarshall <george.marshall@consensys.net>
This commit is contained in:
parent
422aef569a
commit
1faace0115
@ -1,49 +1,85 @@
|
||||
import React, { useEffect } from 'react';
|
||||
import { select } from '@storybook/addon-knobs';
|
||||
import React from 'react';
|
||||
import { Provider } from 'react-redux';
|
||||
import { action } from '@storybook/addon-actions';
|
||||
import configureStore from '../../store/store';
|
||||
import testData from '../../../.storybook/test-data';
|
||||
import ConfirmEncryptionPublicKey from './confirm-encryption-public-key.component';
|
||||
|
||||
import { store, getNewState } from '../../../.storybook/preview';
|
||||
import { updateMetamaskState } from '../../store/actions';
|
||||
import ConfirmEncryptionPublicKey from '.';
|
||||
const store = configureStore(testData);
|
||||
const { confirmTransaction, history, metamask } = store.getState();
|
||||
|
||||
export default {
|
||||
title: 'Pages/ConfirmEncryptionPublicKey',
|
||||
id: __filename,
|
||||
component: ConfirmEncryptionPublicKey,
|
||||
decorators: [(story) => <Provider store={store}>{story()}</Provider>],
|
||||
argTypes: {
|
||||
fromAccount: {
|
||||
control: {
|
||||
type: 'object',
|
||||
},
|
||||
},
|
||||
clearConfirmTransaction: {
|
||||
action: 'clearConfirmTransaction',
|
||||
},
|
||||
cancelEncryptionPublicKey: {
|
||||
action: 'cancelEncryptionPublicKey',
|
||||
},
|
||||
encryptionPublicKey: {
|
||||
action: 'encryptionPublicKey',
|
||||
},
|
||||
conversionRate: {
|
||||
control: {
|
||||
type: 'number',
|
||||
},
|
||||
},
|
||||
history: {
|
||||
control: {
|
||||
type: 'object',
|
||||
},
|
||||
},
|
||||
requesterAddress: {
|
||||
control: {
|
||||
type: 'text',
|
||||
},
|
||||
},
|
||||
txData: {
|
||||
control: {
|
||||
type: 'object',
|
||||
},
|
||||
},
|
||||
subjectMetadata: {
|
||||
control: {
|
||||
type: 'object',
|
||||
},
|
||||
},
|
||||
mostRecentOverviewPage: {
|
||||
control: {
|
||||
type: 'text',
|
||||
},
|
||||
},
|
||||
nativeCurrency: {
|
||||
control: {
|
||||
type: 'text',
|
||||
},
|
||||
},
|
||||
},
|
||||
args: {
|
||||
fromAccount: metamask.accountArray[0],
|
||||
conversionRate: metamask.conversionRate,
|
||||
history: {
|
||||
push: action('history.push()'),
|
||||
},
|
||||
requesterAddress: confirmTransaction.txData.txParams.from,
|
||||
txData: confirmTransaction.txData,
|
||||
subjectMetadata: metamask.subjectMetadata,
|
||||
mostRecentOverviewPage: history.mostRecentOverviewPage,
|
||||
nativeCurrency: metamask.nativeCurrency,
|
||||
},
|
||||
};
|
||||
|
||||
const PageSet = ({ children }) => {
|
||||
const state = store.getState();
|
||||
const options = [];
|
||||
const { identities, unapprovedEncryptionPublicKeyMsgs } = state.metamask;
|
||||
Object.keys(identities).forEach(function (key) {
|
||||
options.push({
|
||||
label: identities[key].name,
|
||||
name: identities[key].name,
|
||||
address: key,
|
||||
});
|
||||
});
|
||||
const account = select('Account', options, options[0]);
|
||||
|
||||
useEffect(() => {
|
||||
unapprovedEncryptionPublicKeyMsgs['7786962153682822'].msgParams =
|
||||
account.address;
|
||||
store.dispatch(
|
||||
updateMetamaskState(
|
||||
getNewState(state.metamask, {
|
||||
unapprovedEncryptionPublicKeyMsgs,
|
||||
}),
|
||||
),
|
||||
);
|
||||
}, [account, unapprovedEncryptionPublicKeyMsgs, state.metamask]);
|
||||
|
||||
return children;
|
||||
};
|
||||
|
||||
export const DefaultStory = () => {
|
||||
return (
|
||||
<PageSet>
|
||||
<ConfirmEncryptionPublicKey />
|
||||
</PageSet>
|
||||
);
|
||||
export const DefaultStory = (args) => {
|
||||
return <ConfirmEncryptionPublicKey {...args} />;
|
||||
};
|
||||
|
||||
DefaultStory.storyName = 'Default';
|
||||
|
Loading…
Reference in New Issue
Block a user