1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-02 14:15:06 +01:00
metamask-extension/ui/pages/confirm-approve/confirm-approve.stories.js
kumavis f472c2615a
CI - add metamaskbot comment "highlights" section for showing relevant storybook changes (#12095)
* ci/announce/highlight - add bot announcement section for "highlights" showing off important diffs + storybook highlights

* ci/announce/highlight - fix announcement message

* Update index.js

* xxx tmp xxx

* ci/announce/highlight - fix dirty file calculation

* ci/announce/highlight - try/catch wrap highlight generation for build stability

* ui - put fox emojis in the mascot component

* ci/announce/highlight - start storybook permalinks

* ci/announce/highlight - fix storybook permalink util

* ci/announce/highlight - fix storybook permalink util

* ci/announce/highlight - small styling fix

* storybook - use any easily predictable story id

* ci/announce/highlight - revert sample commit

* ci/announce/highlight - minimal documentation
2021-09-15 08:55:48 -10:00

76 lines
2.0 KiB
JavaScript

/* eslint-disable react/prop-types */
import React, { useEffect } from 'react';
import { text } from '@storybook/addon-knobs';
import { useParams } from 'react-router-dom';
import { useSelector } from 'react-redux';
import { updateMetamaskState } from '../../store/actions';
import { currentNetworkTxListSelector } from '../../selectors/transactions';
import { store, getNewState } from '../../../.storybook/preview';
import { domainMetadata } from '../../../.storybook/initial-states/approval-screens/token-approval';
import ConfirmApprove from '.';
export default {
title: 'Confirmation Screens',
id: __filename,
};
// transaction ID, maps to entry in state.metamask.currentNetworkTxList
const txId = 7900715443136469;
const PageSet = ({ children }) => {
const origin = text('Origin', 'https://metamask.github.io');
const domainIconUrl = text(
'Icon URL',
'https://metamask.github.io/test-dapp/metamask-fox.svg',
);
const state = store.getState();
const currentNetworkTxList = useSelector(currentNetworkTxListSelector);
const transaction = currentNetworkTxList.find(({ id }) => id === txId);
useEffect(() => {
transaction.origin = origin;
store.dispatch(
updateMetamaskState(
getNewState(state.metamask, {
currentNetworkTxList: [transaction],
}),
),
);
}, [origin, transaction, state.metamask]);
useEffect(() => {
store.dispatch(
updateMetamaskState(
getNewState(state.metamask, {
domainMetadata: {
[origin]: {
icon: domainIconUrl,
},
},
}),
),
);
}, [domainIconUrl, origin, state.metamask]);
const params = useParams();
params.id = txId;
return children;
};
export const ApproveTokens = () => {
const state = store.getState();
store.dispatch(
updateMetamaskState(
getNewState(state.metamask, {
domainMetadata,
}),
),
);
return (
<PageSet>
<ConfirmApprove />
</PageSet>
);
};