mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-01 21:57:06 +01:00
c5368c152b
* added storybook test runner * added test runner in ci * updated test for ci and fixed lint error * updated lavamoat policy * updated test command * updated playwright * changed command to storybook;ci * updated command * updated instance for test-storybook * updated playwright * added playwright step * replaced concurrently with start-server-and-test * updated the static storybook directory * replaced first with last * updated lock file * replaced first with last * updated test-storybook with maxworkers * updated .depchechrc * updated yml * removed id from banner base * replaced broken stories with .stories-to-do.js extesnsion * updated token allowance story * removed duplicacies from yarn * fixed lavamoat * removed filename comment * updated links for docs * fixed file extension for stories * updated path for stories.json * updated stories.json path * yarn updated * updated stories * updated yarn * updated wait on
108 lines
2.4 KiB
JavaScript
108 lines
2.4 KiB
JavaScript
/* eslint-disable react/prop-types */
|
|
import React, { useEffect } from 'react';
|
|
import { text } from '@storybook/addon-knobs';
|
|
import { store, getNewState } from '../../../.storybook/preview';
|
|
import { suggestedAssets as mockSuggestedAssets } from '../../../.storybook/initial-states/approval-screens/add-suggested-token';
|
|
import { updateMetamaskState } from '../../store/actions';
|
|
import ConfirmAddSuggestedToken from '.';
|
|
|
|
export default {
|
|
title: 'Pages/ConfirmAddSuggestedToken',
|
|
|
|
argTypes: {
|
|
tokens: {
|
|
control: 'array',
|
|
table: { category: 'Data' },
|
|
},
|
|
suggestedAssets: {
|
|
control: 'array',
|
|
table: { category: 'Data' },
|
|
},
|
|
},
|
|
};
|
|
|
|
const { metamask: state } = store.getState();
|
|
|
|
const PageSet = ({ children, suggestedAssets, tokens }) => {
|
|
const symbol = text('symbol', 'META');
|
|
const image = text('Icon URL', 'metamark.svg');
|
|
|
|
useEffect(() => {
|
|
if (!suggestedAssets?.length) {
|
|
return;
|
|
}
|
|
|
|
suggestedAssets[0].asset.image = image;
|
|
suggestedAssets[0].asset.symbol = symbol;
|
|
|
|
store.dispatch(
|
|
updateMetamaskState(
|
|
getNewState(state, {
|
|
suggestedAssets,
|
|
}),
|
|
),
|
|
);
|
|
}, [image, suggestedAssets, symbol]);
|
|
|
|
useEffect(() => {
|
|
store.dispatch(
|
|
updateMetamaskState(
|
|
getNewState(state, {
|
|
tokens,
|
|
}),
|
|
),
|
|
);
|
|
}, [tokens]);
|
|
|
|
return children;
|
|
};
|
|
|
|
export const DefaultStory = ({ suggestedAssets, tokens }) => {
|
|
return (
|
|
<PageSet suggestedAssets={suggestedAssets} tokens={tokens}>
|
|
<ConfirmAddSuggestedToken />
|
|
</PageSet>
|
|
);
|
|
};
|
|
DefaultStory.storyName = 'Default';
|
|
DefaultStory.args = {
|
|
suggestedAssets: [...mockSuggestedAssets],
|
|
tokens: [],
|
|
};
|
|
|
|
export const WithDuplicateAddress = ({ suggestedAssets, tokens }) => {
|
|
return (
|
|
<PageSet suggestedAssets={suggestedAssets} tokens={tokens}>
|
|
<ConfirmAddSuggestedToken />
|
|
</PageSet>
|
|
);
|
|
};
|
|
WithDuplicateAddress.args = {
|
|
suggestedAssets: [...mockSuggestedAssets],
|
|
tokens: [
|
|
{
|
|
...mockSuggestedAssets[0].asset,
|
|
},
|
|
],
|
|
};
|
|
|
|
export const WithDuplicateSymbolAndDifferentAddress = ({
|
|
suggestedAssets,
|
|
tokens,
|
|
}) => {
|
|
return (
|
|
<PageSet suggestedAssets={suggestedAssets} tokens={tokens}>
|
|
<ConfirmAddSuggestedToken />
|
|
</PageSet>
|
|
);
|
|
};
|
|
WithDuplicateSymbolAndDifferentAddress.args = {
|
|
suggestedAssets: [...mockSuggestedAssets],
|
|
tokens: [
|
|
{
|
|
...mockSuggestedAssets[0].asset,
|
|
address: '0xNonSuggestedAddress',
|
|
},
|
|
],
|
|
};
|