1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
🦊 Minimalized version of MetaMask for my own personal use.
Go to file
Mark Stacey ce11fad81c
Improve account options menu (#8607)
The account options menu is now much faster, and it correctly closes
when 'Switch account' is selected.

A static width had to be set on the menu so that it could be positioned
reliably. Without this width set, it was rendered as a different size
before positioning than after, which resulted in it being positioned
incorrectly. A `z-index` had to be added (equal to the `z-index` used
by the popover component) to ensure it wasn't rendered beneath the
popover.

The menu is automatically positioned relative to the account options
button, appearing below the button by default but above it instead if
there isn't room below. It is positioned to be inside the bounds of the
popover as well.

The account options button is now a `<button>` rather than a `<i>`.
This required a few additional style rules to overrule the default
button styles. Additionally the size was increased so that it matches
the designs more closely.

The callbacks for connecting, disconnecting, and switching accounts
have been updated to use state and props to determine the correct
address to use, rather than being bound to the correct address
parameter in the render function. This means we aren't creating a new
function upon each render anymore.

The `showAccountOptions` method still needs to be bound once per
account, but this was switched to use more readable syntax (`.bind`,
instead of the double arrow function).

`react-popper` and `@popperjs/core` were both added as dependencies.
These should be used for any UI requiring relative positioning (e.g.
tooltips, menus, etc.). Older versions of these libraries are already
in our codebase as transitive dependencies of the tooltip library we're
using.
2020-05-18 14:51:29 -03:00
.circleci ci/scripts/deps-install - exit if any command fails (#8368) 2020-04-20 10:18:16 -03:00
.github Update CODEOWNERS (#8600) 2020-05-15 15:33:28 -02:30
.storybook Fix Font Awesome in Storybook build (#8304) 2020-04-08 10:22:20 -03:00
app Add dev config to login automagically based on dot file (#8598) 2020-05-15 12:40:06 -07:00
development Add dev config to login automagically based on dot file (#8598) 2020-05-15 12:40:06 -07:00
docs add version dimension to metrics event (#8419) 2020-05-05 15:40:36 +02:00
test Handle trailing / in block explorer URLs (#8592) 2020-05-14 08:13:53 -07:00
ui Improve account options menu (#8607) 2020-05-18 14:51:29 -03:00
.editorconfig Clean EditorConfig file 2019-05-23 07:17:42 -02:30
.eslintignore Use shared MetaMask ESLint config (#7882) 2020-01-22 11:07:19 -03:30
.eslintrc.js Add no-tabs ESLint rule (#8518) 2020-05-05 18:35:12 -02:30
.gitattributes Suppress diffs for test/e2e/send-eth-with-private-key-test/*.js (#7767) 2020-01-08 13:02:16 -03:30
.gitignore Add dev config to login automagically based on dot file (#8598) 2020-05-15 12:40:06 -07:00
.nvmrc Bump Node version to 10.18 (#7925) 2020-01-29 13:36:10 -03:30
.stylelintignore mascara - remove from project (#6283) 2019-03-12 11:17:21 -02:30
.stylelintrc Remove trailing commas from JSON files (#7284) 2019-10-16 22:01:19 -02:30
babel.config.js Add optional chaining (#8052) 2020-02-18 10:11:52 -05:00
CHANGELOG.md Support IPNS address translations (#8502) 2020-05-14 07:56:27 -02:30
LICENSE License 2018-06-22 16:28:54 -04:00
MISSION.md Mission v2 2018-05-29 09:30:59 -07:00
nyc.config.js Add permissions controller unit tests (#7969) 2020-03-16 10:13:22 -07:00
package.json Improve account options menu (#8607) 2020-05-18 14:51:29 -03:00
README.md Update README.md (#8393) 2020-04-23 13:30:14 -02:30
USER_AGREEMENT.md fix tos link; 2018-07-12 16:24:13 -04:00
yarn.lock Improve account options menu (#8607) 2020-05-18 14:51:29 -03:00

MetaMask Browser Extension

Build Status Coverage Status

You can find the latest version of MetaMask on our official website. For help using MetaMask, visit our User Support Site.

MetaMask supports Firefox, Google Chrome, and Chromium-based browsers. We recommend using the latest available browser version.

For up to the minute news, follow our Twitter or Medium pages.

To learn how to develop MetaMask-compatible applications, visit our Developer Docs.

To learn how to contribute to the MetaMask project itself, visit our Internal Docs.

Building locally

  • Install Node.js version 10
    • If you are using nvm (recommended) running nvm use will automatically choose the right node version for you.
  • Install Yarn
  • Install dependencies: yarn
  • Build the project to the ./dist/ folder with yarn dist.
  • Optionally, to start a development build (e.g. with logging and file watching) run yarn start instead.
    • To start the React DevTools and Redux DevTools Extension alongside the app, use yarn start:dev.
      • React DevTools will open in a separate window; no browser extension is required
      • Redux DevTools will need to be installed as a browser extension. Open the Redux Remote Devtools to access Redux state logs. This can be done by either right clicking within the web browser to bring up the context menu, expanding the Redux DevTools panel and clicking Open Remote DevTools OR clicking the Redux DevTools extension icon and clicking Open Remote DevTools.
        • You will also need to check the "Use custom (local) server" checkbox in the Remote DevTools Settings, using the default server configuration (host localhost, port 8000, secure connection checkbox unchecked)

Uncompressed builds can be found in /dist, compressed builds can be found in /builds once they're built.

Contributing

Running Tests

Run tests with yarn test.

You can also test with a continuously watching process, via yarn watch.

You can run the linter by itself with yarn lint.

Architecture

Architecture Diagram

Development

yarn
yarn start

Build for Publishing

yarn dist

Other Docs