1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-22 19:26:13 +02:00
metamask-extension/ui/pages/settings/settings.stories.js
2022-08-15 12:41:29 -05:00

84 lines
2.0 KiB
JavaScript

import React from 'react';
import PropTypes from 'prop-types';
import { withRouter, MemoryRouter } from 'react-router-dom';
import {
ABOUT_US_ROUTE,
ADVANCED_ROUTE,
ALERTS_ROUTE,
CONTACT_LIST_ROUTE,
CONTACT_ADD_ROUTE,
CONTACT_EDIT_ROUTE,
CONTACT_VIEW_ROUTE,
GENERAL_ROUTE,
NETWORKS_FORM_ROUTE,
NETWORKS_ROUTE,
SECURITY_ROUTE,
SETTINGS_ROUTE,
SNAPS_LIST_ROUTE,
SNAPS_VIEW_ROUTE,
} from '../../helpers/constants/routes';
import SettingsPage from './settings.component';
export default {
decorators: [
(story) => (
<MemoryRouter initialEntries={['/settings/general']}>
{story()}
</MemoryRouter>
),
],
id: __filename,
title: 'Pages/SettingsPage',
};
const ROUTES_TO_I18N_KEYS = {
[ABOUT_US_ROUTE]: 'about',
[ADVANCED_ROUTE]: 'advanced',
[ALERTS_ROUTE]: 'alerts',
[CONTACT_ADD_ROUTE]: 'newContact',
[CONTACT_EDIT_ROUTE]: 'editContact',
[CONTACT_LIST_ROUTE]: 'contacts',
[CONTACT_VIEW_ROUTE]: 'viewContact',
[GENERAL_ROUTE]: 'general',
[NETWORKS_FORM_ROUTE]: 'networks',
[NETWORKS_ROUTE]: 'networks',
[SECURITY_ROUTE]: 'securityAndPrivacy',
[SNAPS_LIST_ROUTE]: 'snaps',
[SNAPS_VIEW_ROUTE]: 'snaps',
};
global.platform = {
getVersion: () => 'V3.14.159',
};
const Settings = ({ history }) => {
const { location } = history;
const pathname =
location.pathname === '/iframe.html'
? '/settings/general'
: location.pathname;
const pathnameI18nKey = ROUTES_TO_I18N_KEYS[pathname];
const isSnapViewPage = Boolean(pathname.match(SNAPS_VIEW_ROUTE));
const backRoute = isSnapViewPage ? SNAPS_LIST_ROUTE : SETTINGS_ROUTE;
return (
<div style={{ height: 500 }}>
<SettingsPage
currentPath={pathname}
mostRecentOverviewPage={pathname}
history={history}
pathnameI18nKey={pathnameI18nKey}
backRoute={backRoute}
isSnapViewPage={isSnapViewPage}
/>
</div>
);
};
Settings.propTypes = {
history: PropTypes.object,
};
export const SettingsPageComponent = withRouter(Settings);