mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-26 20:39:08 +01:00
c079c4320e
* UX: Multichain: Account Menu List * Move to using stylesheet * Add hover state * Implement George's suggestions * Add connected site avatar * Add hardware tag * Create story for selected hardware item * Progress on the AccountListItemMenu * Add story for AccountListItemMenu * Better position the account menu * Fix AvatarFavicon missing name prop * Update menu options label to be account specific * Update text of 'View on Explorer' * Add AccountListMenu component * Move all items to multichain directory * Fix paths * Fix linting, use AvatarIcon * Add title and close button to account menu * Center the popover title * Add search functionality * Implementation WIP * Add MULTICHAIN feature flag * Add MULTICHAIN feature flag, add actions for menu items * Properly dispatch events * Fix search box padding * Fix sizing of menu item text * Fix isRequired * Fix alignment of the popover * Update label for hardware wallet items, add text for no search results * Update keyring retreival to remove account and add label * Fix storybook * Fix double link click issue, prevent wrapping of values * Use labelProps for tag variant * Restructure item menu story * Empower storybooks for all new components * Allow only 3 decimals for currencies * Avoid inline styles * Prefix classes with multichain, fix account-list-menu storybook * Close the accounts menu when account details is clicked * Restore tag.js * Create global file for multichain css * Add index file for multichain js * Update file paths * Ensure the block domain is present in menu * Add AccountListItem test * Add AccountListItemMenu tests * Show account connect to current dapp * Improve tests * Make avatar smaller * Add tooltip for account menu * Align icon better * Update snapshot * Rename files to DS standard * Add index files for export * Export all multichain components * Update snapshot * Remove embedded style in popover * Add comments for props, cleanup storybook * Improve test coverage * Improve test code quality * Remove border form avatar * Switch to using the ButtonLink iconName prop * Only show tooltip if character limit is reached * Restore prior search settings * Add test for tooltip
80 lines
2.7 KiB
JavaScript
80 lines
2.7 KiB
JavaScript
import { connect } from 'react-redux';
|
|
import { withRouter } from 'react-router-dom';
|
|
import { compose } from 'redux';
|
|
import {
|
|
getAllAccountsOnNetworkAreEmpty,
|
|
getIsNetworkUsed,
|
|
getNetworkIdentifier,
|
|
getPreferences,
|
|
isNetworkLoading,
|
|
getTheme,
|
|
getIsTestnet,
|
|
getCurrentChainId,
|
|
getShouldShowSeedPhraseReminder,
|
|
isCurrentProviderCustom,
|
|
} from '../../selectors';
|
|
import {
|
|
lockMetamask,
|
|
setCurrentCurrency,
|
|
setLastActiveTime,
|
|
setMouseUserState,
|
|
toggleAccountMenu,
|
|
} from '../../store/actions';
|
|
import { pageChanged } from '../../ducks/history/history';
|
|
import { prepareToLeaveSwaps } from '../../ducks/swaps/swaps';
|
|
import { getSendStage } from '../../ducks/send';
|
|
import Routes from './routes.component';
|
|
|
|
function mapStateToProps(state) {
|
|
const { appState } = state;
|
|
const { alertOpen, alertMessage, isLoading, loadingMessage } = appState;
|
|
const { autoLockTimeLimit = 0 } = getPreferences(state);
|
|
const { completedOnboarding } = state.metamask;
|
|
|
|
return {
|
|
alertOpen,
|
|
alertMessage,
|
|
textDirection: state.metamask.textDirection,
|
|
isLoading,
|
|
loadingMessage,
|
|
isUnlocked: state.metamask.isUnlocked,
|
|
isNetworkLoading: isNetworkLoading(state),
|
|
currentCurrency: state.metamask.currentCurrency,
|
|
isMouseUser: state.appState.isMouseUser,
|
|
autoLockTimeLimit,
|
|
browserEnvironmentOs: state.metamask.browserEnvironment?.os,
|
|
browserEnvironmentContainter: state.metamask.browserEnvironment?.browser,
|
|
providerId: getNetworkIdentifier(state),
|
|
providerType: state.metamask.provider?.type,
|
|
theme: getTheme(state),
|
|
sendStage: getSendStage(state),
|
|
isNetworkUsed: getIsNetworkUsed(state),
|
|
allAccountsOnNetworkAreEmpty: getAllAccountsOnNetworkAreEmpty(state),
|
|
isTestNet: getIsTestnet(state),
|
|
currentChainId: getCurrentChainId(state),
|
|
shouldShowSeedPhraseReminder: getShouldShowSeedPhraseReminder(state),
|
|
forgottenPassword: state.metamask.forgottenPassword,
|
|
isCurrentProviderCustom: isCurrentProviderCustom(state),
|
|
completedOnboarding,
|
|
isAccountMenuOpen: state.metamask.isAccountMenuOpen,
|
|
};
|
|
}
|
|
|
|
function mapDispatchToProps(dispatch) {
|
|
return {
|
|
lockMetaMask: () => dispatch(lockMetamask(false)),
|
|
setCurrentCurrencyToUSD: () => dispatch(setCurrentCurrency('usd')),
|
|
setMouseUserState: (isMouseUser) =>
|
|
dispatch(setMouseUserState(isMouseUser)),
|
|
setLastActiveTime: () => dispatch(setLastActiveTime()),
|
|
pageChanged: (path) => dispatch(pageChanged(path)),
|
|
prepareToLeaveSwaps: () => dispatch(prepareToLeaveSwaps()),
|
|
toggleAccountMenu: () => dispatch(toggleAccountMenu()),
|
|
};
|
|
}
|
|
|
|
export default compose(
|
|
withRouter,
|
|
connect(mapStateToProps, mapDispatchToProps),
|
|
)(Routes);
|