From ab1dd84a2754d96a6992a83b7cd0f27afe0baddb Mon Sep 17 00:00:00 2001 From: SnapCrackle2383 <101807873+SnapCrackle2383@users.noreply.github.com> Date: Fri, 13 May 2022 12:01:38 +0200 Subject: [PATCH 001/310] Update index.md --- src/content/nft/index.md | 63 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/src/content/nft/index.md b/src/content/nft/index.md index e7da18f0d9d..5c4696737ae 100644 --- a/src/content/nft/index.md +++ b/src/content/nft/index.md @@ -46,6 +46,7 @@ Here's how an internet of NFTs compared to the internet most of us use today loo ### NFT examples {#nft-examples} +**NFT examples** The NFT world is relatively new. In theory, the scope for NFTs is anything that is unique that needs provable ownership. Here are some examples of NFTs that exist today, to help you get the idea: - [A unique digital artwork](https://foundation.app/artworks) @@ -55,6 +56,14 @@ The NFT world is relatively new. In theory, the scope for NFTs is anything that - [A digital collectible](https://www.larvalabs.com/cryptopunks/details/1) - [A domain name](https://app.ens.domains/name/ethereum.eth) - [A ticket that gives you access to an event or a coupon](https://www.yellowheart.io/) +- [Buy real world goods - for example, gold] (https://www.tangible.store/) +- [Fractionilsed Real estate] (https://realt.co/ +- [Degree Certificates] (https://www.degreecert.com/) +- [Own Music royalties via NFTs] (https://opulous.org/ +- [Move 2 Earn] (https://yeticoineth.com/about.html +- [Digital Identity] (https://photochromic.io/) +- [NFTs and De-Fi working together] (https://swellnetwork.io/) + ### ethereum.org examples {#ethereum-org-examples} @@ -239,6 +248,28 @@ Projects are beginning to explore using NFTs as collateral instead. Imagine you And this isn't hard on Ethereum, because both worlds (NFT and DeFi) share the same infrastructure. +Charge your NFT with yield + +Charged Particles is still in development although worth exploring the potential. +They want NFT holders to be able to turn a standard NFT into a yield-generating investment. +Charged Particles in a protocol layer solution allow users to energize ANY NFT with many different types of interest-bearing assets (e.g. DAI, ETH, etc.). +The principal of the deposit can optionally be “locked” into the Particle, whereas the interest portion can always be withdrawn, or “discharged” +[Theidols.io](http://theidols.io/) has a similar project of locking ETH away in staking protocol Lido forever and discharging the ETH rewards to a treasury and the NFT owners. + +NFTs as a Bond + +A project known as [truefreeze](https://truefreeze.xyz/) aims to reward people for holding their ETH long term. The ETH is locked into an NFT and the user is rewarded for keeping the ETH over a long time period. + +The NFT acts as a certificate and can be traded on marketplaces, the buying and selling in this way does not impact the price of ETH. +The idea is to not place the ETH in a yield farm, or liquidity pair but to allow a user to store ETH in a risk-adjusted manner and increase adoption of crypto. + +NFTs making DE-Fi more user friendly + +A new staking protocol called [Swell](https://swellnetwork.io) allows a user to [stake](https://ethereum.org/en/staking/) their ETH and also put it into a liquidity pool all in one system and have an NFT represent your holdings. This makes it much less complicated for a user to check and manage. +Insurance +Only small experiments have been made by individual users to basket insurance policies into an NFT which can be purchased and gives the holder insurance rights. The NFTs can be bought and sold on an open market. + + #### Fractional ownership {#fractional-ownership} NFT creators can also create "shares" for their NFT. This gives investors and fans the opportunity to own a part of an NFT without having to buy the whole thing. This adds even more opportunities for NFT minters and collectors alike. @@ -260,6 +291,38 @@ As we mentioned, this is an emerging space. NFTs, DAOs, fractionalised tokens ar [More on DAOs](/dao/) +Other NFT Use cases +** +Certificates of authenticity - E.g Birth, Marriage, Death and Degrees** +University degree companies (Degree mills) offering fake degree certificates are reportedly a billion-dollar industry that NFTs can help combat. +NFTs can be a secure and quick way to verify someone's degree credentials. Cutting out a huge amount of administrative burden and an NFT is much harder to cheat than a certificate on paper + +[In South Korea, a university](https://forkast.news/headlines/south-korea-nfts-graduates-hoseo/) already issued degrees via an NFT. +‘The university hopes the pivot from a paper-based degree to NFTs will improve access to administrative services and prevent forgery or alteration of the degree’ +Trinity Business School (TBS) in Ireland is also planning on offering NFTs from 2023. + +**Digital Identity** + +This area is still in its early stages however as the technology develops so will the use cases. +When combining these invaluable building blocks with biometrics and NFTs, a persistent and portable identity is created which resolves to a unique and real person, without compromising their privacy or data dignity. + +**Ticketing** + +Ticketing for events is often misunderstood as QR codes are perceived to do the same. + +NFTs can have smart contracts behind them, so an NFT + smart contract could refund you automatically if the concert or plane flight is cancelled without having to apply, which also saves time and administration costs. + +Another example of the magic of smart contracts is the revenue from your NFT ticket could automatically pay the artist 40%, the DJ 10%, the lighting crew 2%, the janitors 1%, and on and on. No middle person is needed to orchestrate the payments, which means you pay almost nothing in fees. +There is also NFT artwork attached to the event you attend (similar to Beatles tickets that are now collectables) + +**SAAS subscription model into NFTs** +This area is in a very early experimentally stage, some companies have started selling NFTs as permanent access to their software instead of a monthly subscription. + +The main benefit is that the customer and client are really aligned in giving feedback, and making the product better and the customer is committed to the software provider. + +Taking this approach is thinking about their long term strategy to stay relevant with their clients. Another benefit is that NFT can raise capital injection to develop more products and offerings. + + ## Ethereum and NFTs {#ethereum-and-nfts} From eed93be0d28812de217651c82625c251f73e3898 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 24 May 2022 12:22:37 -0600 Subject: [PATCH 002/310] initial commit to clean slate --- src/pages/wallets/find-wallet.js | 148 +------------------------------ 1 file changed, 3 insertions(+), 145 deletions(-) diff --git a/src/pages/wallets/find-wallet.js b/src/pages/wallets/find-wallet.js index 36c87c450c8..adea362638d 100644 --- a/src/pages/wallets/find-wallet.js +++ b/src/pages/wallets/find-wallet.js @@ -1,144 +1,12 @@ import React from "react" import { graphql } from "gatsby" -import { useIntl } from "gatsby-plugin-intl" -import styled from "styled-components" -import { GatsbyImage, getImage } from "gatsby-plugin-image" -import { translateMessageId } from "../../utils/translations" -import Translation from "../../components/Translation" -import Breadcrumbs from "../../components/Breadcrumbs" -import ButtonLink from "../../components/ButtonLink" -import CalloutBanner from "../../components/CalloutBanner" -import InfoBanner from "../../components/InfoBanner" -import Link from "../../components/Link" -import PageMetadata from "../../components/PageMetadata" -import WalletCompare from "../../components/WalletCompare" -import { Divider, Page } from "../../components/SharedStyledComponents" +import { Page } from "../../components/SharedStyledComponents" -const Subtitle = styled.div` - font-size: 1.25rem; - line-height: 140%; - max-width: 45ch; - text-align: center; - color: ${(props) => props.theme.colors.text200}; - - &:last-of-type { - margin-bottom: 2rem; - } -` - -const HeroContainer = styled.div` - position: relative; - width: 100%; - max-width: 1440px; - display: flex; - flex-direction: column; - margin-top: 2rem; - justify-content: center; - @media (max-width: ${(props) => props.theme.breakpoints.xl}) { - max-width: 100vw; - } - @media (max-width: ${(props) => props.theme.breakpoints.m}) { - flex-direction: column-reverse; - margin-bottom: -1rem; - } - @media (max-width: ${(props) => props.theme.breakpoints.s}) { - flex-direction: column-reverse; - margin-bottom: 0rem; - } -` - -const Hero = styled(GatsbyImage)` - position: absolute !important; - z-index: -1; - width: 100%; - max-width: 1440px; - @media (max-width: ${(props) => props.theme.breakpoints.xl}) { - max-width: 100vw; - } - min-height: 300px; - max-height: 400px; - background-size: cover; -` - -const Header = styled.header` - display: flex; - flex-direction: column; - align-items: center; - margin-top: 3rem; - margin-bottom: 6rem; - text-align: center; - @media (max-width: ${(props) => props.theme.breakpoints.l}) { - margin: 2rem; - } -` - -const InfoBannerContainer = styled.div` - margin-bottom: 2rem; - @media (max-width: ${(props) => props.theme.breakpoints.l}) { - margin-left: 2rem; - margin-right: 2rem; - margin-bottom: 1rem; - } -` - -const FindWalletPage = ({ location, data }) => { - const intl = useIntl() +const FindWalletPage = ({ data }) => { return ( - - - - -
- -

- -

- - - - - - -
-
- - - {" "} - - - - - - - - -
- - - -
-
+

Hello World

) } @@ -152,15 +20,5 @@ export const query = graphql` gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } - dapps: file(relativePath: { eq: "doge-computer.png" }) { - childImageSharp { - gatsbyImageData( - width: 600 - layout: CONSTRAINED - placeholder: BLURRED - quality: 100 - ) - } - } } ` From a8e5345a54ca4b6f93d86a549a1d2e4181dccda5 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 24 May 2022 15:14:36 -0600 Subject: [PATCH 003/310] feat: new header --- src/assets/wallets/find-wallet-hero.png | Bin 133334 -> 34026 bytes src/components/WalletCard.js | 349 --------------- src/components/WalletCompare.js | 552 ------------------------ src/pages-conditional/wallets/index.js | 2 +- src/pages/wallets/find-wallet.js | 81 +++- 5 files changed, 81 insertions(+), 903 deletions(-) delete mode 100644 src/components/WalletCard.js delete mode 100644 src/components/WalletCompare.js diff --git a/src/assets/wallets/find-wallet-hero.png b/src/assets/wallets/find-wallet-hero.png index ad559cc1505a66b704558a3d24fa498e88bc62d2..129f15d4aa7d3c7eec761b8d2a3ea9c8952e7c09 100644 GIT binary patch literal 34026 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

aF;-DY81d#eW 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 Avj6}9 diff --git a/src/components/WalletCard.js b/src/components/WalletCard.js deleted file mode 100644 index d243127c584..00000000000 --- a/src/components/WalletCard.js +++ /dev/null @@ -1,349 +0,0 @@ -import React, { useState } from "react" -import { useIntl } from "gatsby-plugin-intl" -import styled from "styled-components" -import { GatsbyImage, getImage } from "gatsby-plugin-image" -import { motion } from "framer-motion" -import Emoji from "./Emoji" -import Pill from "./Pill" -import Icon from "./Icon" -import Translation from "./Translation" -import ButtonLink from "./ButtonLink" -import { ButtonSecondary } from "./SharedStyledComponents" -import { translateMessageId } from "../utils/translations" - -const Container = styled.div` - min-height: 400px; - perspective: 1000px; -` - -const Card = styled.div` - position: relative; - transform-style: preserve-3d; - height: 100%; - width: 100%; - border-radius: 2px; - &:hover { - transition: transform 0.1s; - transform: scale(1.02); - } -` - -const StyledIcon = styled(Icon)` - margin-left: 0.5rem; - fill: ${({ theme }) => theme.colors.text}; -` - -const CardFace = styled(motion.div)` - position: absolute; - backface-visibility: hidden; - width: 100%; - color: ${({ theme }) => theme.colors.text}; - box-shadow: 0px 14px 66px rgba(0, 0, 0, 0.07), - 0px 10px 17px rgba(0, 0, 0, 0.03), 0px 4px 7px rgba(0, 0, 0, 0.05); - background: ${({ theme }) => theme.colors.background}; -` - -const CardFront = styled(CardFace)` - display: flex; - width: 100%; - min-height: 400px; - flex-direction: column; - justify-content: space-between; - border-radius: 4px; - border: 1px solid ${({ theme }) => theme.colors.lightBorder}; - text-decoration: none; -` - -const CardBack = styled(CardFace)` - &:hover { - cursor: pointer; - } - &:hover svg { - fill: ${({ theme }) => theme.colors.primary}; - } -` - -const Wrapper = styled.div` - background: ${({ theme }) => theme.colors.ednBackground}; - border-bottom: 1px solid ${({ theme }) => theme.colors.border}; - position: relative; - &:hover { - cursor: pointer; - } - &:hover path { - fill: ${({ theme }) => theme.colors.primary}; - } -` - -const ImageWrapper = styled.div` - width: 40px; - margin-right: 1rem; - padding: 0.25rem; - background-color: ${({ background }) => background}; - box-shadow: ${(props) => props.theme.colors.tableBoxShadow}; - border-radius: 4px; -` - -const Image = styled(GatsbyImage)` - width: 100%; -` - -const FlipIcon = styled.div` - display: flex; - align-items: center; - justify-content: center; -` - -const FlipTitle = styled.div` - display: flex; - align-items: center; - justify-content: space-between; - margin-bottom: 1rem; - margin-top: -0.5rem; -` - -const TypePill = styled(Pill)` - margin-right: 0.75rem; - font-size: 0.875rem; - background: ${({ theme }) => theme.colors.background}; - color: ${({ theme }) => theme.colors.text200}; - padding: 0; -` - -const TypeContainer = styled.div` - margin-top: 0rem; - margin-bottom: 1rem; - text-align: left; -` - -const Content = styled.div` - padding: 1rem; - text-align: left; - height: 100%; - position: relative; -` - -const BackContent = styled(Content)` - padding: 1.5rem; -` - -const Title = styled.h3` - margin-bottom: 0rem; - margin-top: 0rem; - font-size: 1.25rem; -` - -const Description = styled.p` - opacity: 0.8; - font-size: ${({ theme }) => theme.fontSizes.s}; - margin-bottom: 0.5rem; - line-height: 140%; - max-height: 100px; - overflow-y: auto; -` - -const StyledButtonLink = styled(ButtonLink)` - margin: 1rem; -` - -const FeaturesHeader = styled.div` - border-bottom: 1px solid ${({ theme }) => theme.colors.border}; - font-weight: 600; - padding-bottom: 0.5rem; - margin-bottom: 1rem; -` - -const FeatureRow = styled.div` - display: flex; - align-items: center; - justify-content: space-between; - margin-bottom: 0.5rem; - font-size: 1rem; - font-weight: 400; - opacity: 0.9; -` - -const StyledButtonSecondary = styled(ButtonSecondary)` - margin: auto 1rem 0 1rem; -` - -const HeaderRow = styled.div` - display: flex; - align-items: center; - margin: 1rem; -` - -const BackHeaderRow = styled.div` - display: flex; - align-items: center; -` - -// Framer animations -const duration = 0.3 -const flipVariants = { - shown: { - rotateY: 0, - transition: { - duration, - }, - }, - frontFlipped: { - rotateY: -180, - transition: { - duration, - }, - }, - backFlipped: { - rotateY: 180, - transition: { - duration, - }, - }, -} - -const WalletCard = ({ wallet }) => { - const [isCardFlipped, setIsCardFlipped] = useState(false) - const intl = useIntl() - - const getFeatureStatus = (feature) => - feature === "TRUE" ? ( - - ) : ( - - ) - - const rows = [ - { - id: "page-find-wallet-card-has-bank-withdraws", - field: "has_bank_withdrawals", - }, - { - id: "page-find-wallet-card-has-card-deposits", - field: "has_card_deposits", - }, - { - id: "page-find-wallet-card-has-defi-integration", - field: "has_defi_integrations", - }, - { - id: "page-find-wallet-card-has-explore-dapps", - field: "has_explore_dapps", - }, - { - id: "page-find-wallet-card-has-dex-integrations", - field: "has_dex_integrations", - }, - { - id: "page-find-wallet-card-has-high-volume-purchases", - field: "has_high_volume_purchases", - }, - { - id: "page-find-wallet-card-has-limits-protection", - field: "has_limits_protection", - }, - { id: "page-find-wallet-card-has-multisig", field: "has_multisig" }, - ] - - return ( - - - - setIsCardFlipped(!isCardFlipped)}> - - - {wallet.alt} - - {wallet.name} - - - - - {wallet.has_hardware === "TRUE" && ( - - - - - )} - {wallet.has_mobile === "TRUE" && ( - - - - - )} - {wallet.has_desktop === "TRUE" && ( - - - - - )} - {wallet.has_web === "TRUE" && ( - - - - - )} - - {wallet.description} - - setIsCardFlipped(!isCardFlipped)} - > - - - - - - - - - - setIsCardFlipped(!isCardFlipped)} - > - - - - - {wallet.alt} - - {wallet.name} - - - - - - - {rows.map((row) => { - return ( - - - {getFeatureStatus(wallet[row.field])} - - ) - })} - - - - - ) -} - -export default WalletCard diff --git a/src/components/WalletCompare.js b/src/components/WalletCompare.js deleted file mode 100644 index d2854ec77d7..00000000000 --- a/src/components/WalletCompare.js +++ /dev/null @@ -1,552 +0,0 @@ -import React, { useState, useEffect } from "react" -import { useStaticQuery, graphql } from "gatsby" -import { useIntl, navigate } from "gatsby-plugin-intl" -import styled from "styled-components" -import { shuffle } from "lodash" - -import ButtonLink from "./ButtonLink" -import Emoji from "./Emoji" -import Link from "./Link" -import SelectableCard from "./SelectableCard" -import Translation from "../components/Translation" -import Tag from "./Tag" -import WalletCard from "./WalletCard" -import { Content } from "./SharedStyledComponents" - -import { getLocaleTimestamp } from "../utils/time" -import { trackCustomEvent } from "../utils/matomo" -import { translateMessageId } from "../utils/translations" - -const Container = styled.div` - margin-top: 2rem; -` - -const ButtonContainer = styled.div` - display: flex; - justify-content: center; - margin-top: 2rem; - margin-bottom: 2rem; -` - -const Subtitle = styled.div` - font-size: 1.25rem; - line-height: 140%; - margin-bottom: 2rem; - color: ${(props) => props.theme.colors.text200}; -` - -const GradientContainer = styled.div` - width: 100%; - background: ${(props) => props.theme.colors.cardGradient}; - padding: 3rem 2rem; - border-top: 1px solid ${(props) => props.theme.colors.tableItemBoxShadow}; - border-bottom: 1px solid ${(props) => props.theme.colors.tableItemBoxShadow}; -` - -const WalletFeaturesGrid = styled.div` - display: grid; - grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); - gap: 2rem; -` - -const FilterContainer = styled.div` - min-height: 82px; -` - -const TagsContainer = styled.div` - display: flex; - justify-content: space-between; - align-items: flex-start; - margin-bottom: 2rem; - @media (max-width: ${(props) => props.theme.breakpoints.s}) { - flex-direction: column; - } -` - -const TagContainer = styled.div` - display: flex; - flex-wrap: wrap; - max-width: 80%; - @media (max-width: ${(props) => props.theme.breakpoints.s}) { - max-width: 100%; - margin-bottom: 1rem; - } -` - -const ClearLink = styled.button` - color: ${(props) => props.theme.colors.primary}; - text-decoration: underline; - background: none; - border: none; - padding: 0; - cursor: pointer; -` - -export const walletCardImage = graphql` - fragment walletCardImage on File { - childImageSharp { - gatsbyImageData( - width: 64 - layout: CONSTRAINED - placeholder: BLURRED - quality: 100 - ) - } - } -` - -const ResultsContainer = styled.div` - margin-top: 0rem; -` - -const ResultsGrid = styled.div` - display: grid; - grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); - gap: 2rem; -` - -const Disclaimer = styled.div` - margin-top: 2rem; -` - -// `id` fields must match src/data/wallets.csv column headers -const walletFeatures = [ - { - id: "has_card_deposits", - emoji: ":credit_card:", - title: "page-find-wallet-buy-card", - description: "page-find-wallet-buy-card-desc", - }, - { - id: "has_explore_dapps", - emoji: ":world_map:", - title: "page-find-wallet-explore-dapps", - description: "page-find-wallet-explore-dapps-desc", - }, - { - id: "has_defi_integrations", - emoji: ":money_with_wings:", - title: "page-find-wallet-fi-tools", - description: "page-find-wallet-fi-tools-desc", - }, - { - id: "has_bank_withdrawals", - emoji: ":bank:", - title: "page-find-wallet-withdraw", - description: "page-find-wallet-withdraw-desc", - }, - { - id: "has_limits_protection", - emoji: ":shield:", - title: "page-find-wallet-limits", - description: "page-find-wallet-limits-desc", - }, - { - id: "has_high_volume_purchases", - emoji: ":whale:", - title: "page-find-wallet-volume", - description: "page-find-wallet-voluem-desc", - }, - { - id: "has_dex_integrations", - emoji: ":repeat:", - title: "page-find-wallet-swaps", - description: "page-find-wallet-swaps-desc", - }, - { - id: "has_multisig", - emoji: ":busts_in_silhouette:", - title: "page-find-wallet-multisig", - description: "page-find-wallet-multisig-desc", - }, -] - -const WalletCompare = ({ location }) => { - const [state, setState] = useState({ - selectedFeatureIds: [], - wallets: [], - }) - // image variables must match `id` column in src/data/wallets.csv - const data = useStaticQuery(graphql` - query { - allWallets: allWalletsCsv { - nodes { - id - name - url - brand_color - has_mobile - has_desktop - has_web - has_hardware - has_card_deposits - has_explore_dapps - has_defi_integrations - has_bank_withdrawals - has_limits_protection - has_high_volume_purchases - has_dex_integrations - has_multisig - } - } - timestamp: walletsCsv { - parent { - ... on File { - id - name - fields { - gitLogLatestDate - } - } - } - } - alpha: file(relativePath: { eq: "wallets/alpha.png" }) { - ...walletCardImage - } - ambo: file(relativePath: { eq: "wallets/ambo.png" }) { - ...walletCardImage - } - argent: file(relativePath: { eq: "wallets/argent.png" }) { - ...walletCardImage - } - bitcoindotcom: file(relativePath: { eq: "wallets/bitcoindotcom.png" }) { - ...walletCardImage - } - coinbase: file(relativePath: { eq: "wallets/coinbase.png" }) { - ...walletCardImage - } - coinomi: file(relativePath: { eq: "wallets/coinomi.png" }) { - ...walletCardImage - } - dcent: file(relativePath: { eq: "wallets/dcent.png" }) { - ...walletCardImage - } - enjin: file(relativePath: { eq: "wallets/enjin.png" }) { - ...walletCardImage - } - fortmatic: file(relativePath: { eq: "wallets/fortmatic.png" }) { - ...walletCardImage - } - gnosis: file(relativePath: { eq: "wallets/gnosis.png" }) { - ...walletCardImage - } - guarda: file(relativePath: { eq: "wallets/guarda.png" }) { - ...walletCardImage - } - hyperpay: file(relativePath: { eq: "wallets/hyperpay.png" }) { - ...walletCardImage - } - imtoken: file(relativePath: { eq: "wallets/imtoken.png" }) { - ...walletCardImage - } - ledger: file(relativePath: { eq: "wallets/ledger.png" }) { - ...walletCardImage - } - linen: file(relativePath: { eq: "wallets/linen.png" }) { - ...walletCardImage - } - mathwallet: file(relativePath: { eq: "wallets/mathwallet.png" }) { - ...walletCardImage - } - metamask: file(relativePath: { eq: "wallets/metamask.png" }) { - ...walletCardImage - } - monolith: file(relativePath: { eq: "wallets/monolith.png" }) { - ...walletCardImage - } - multis: file(relativePath: { eq: "wallets/multis.png" }) { - ...walletCardImage - } - mycrypto: file(relativePath: { eq: "wallets/mycrypto.png" }) { - ...walletCardImage - } - myetherwallet: file(relativePath: { eq: "wallets/myetherwallet.png" }) { - ...walletCardImage - } - pillar: file(relativePath: { eq: "wallets/pillar.png" }) { - ...walletCardImage - } - portis: file(relativePath: { eq: "wallets/portis.png" }) { - ...walletCardImage - } - rainbow: file(relativePath: { eq: "wallets/rainbow.png" }) { - ...walletCardImage - } - samsung: file(relativePath: { eq: "wallets/samsung.png" }) { - ...walletCardImage - } - squarelink: file(relativePath: { eq: "wallets/squarelink.png" }) { - ...walletCardImage - } - status: file(relativePath: { eq: "wallets/status.png" }) { - ...walletCardImage - } - torus: file(relativePath: { eq: "wallets/torus.png" }) { - ...walletCardImage - } - trezor: file(relativePath: { eq: "wallets/trezor.png" }) { - ...walletCardImage - } - trust: file(relativePath: { eq: "wallets/trust.png" }) { - ...walletCardImage - } - unstoppable: file(relativePath: { eq: "wallets/unstoppable.png" }) { - ...walletCardImage - } - zengo: file(relativePath: { eq: "wallets/zengo.png" }) { - ...walletCardImage - } - walleth: file(relativePath: { eq: "wallets/walleth.png" }) { - ...walletCardImage - } - tokenpocket: file(relativePath: { eq: "wallets/tokenpocket.png" }) { - ...walletCardImage - } - safepal: file(relativePath: { eq: "wallets/safepal.png" }) { - ...walletCardImage - } - opera: file(relativePath: { eq: "wallets/opera.png" }) { - ...walletCardImage - } - coin98: file(relativePath: { eq: "wallets/coin98.png" }) { - ...walletCardImage - } - bitkeep: file(relativePath: { eq: "wallets/bitkeep.png" }) { - ...walletCardImage - } - keystone: file(relativePath: { eq: "wallets/keystone.png" }) { - ...walletCardImage - } - loopring: file(relativePath: { eq: "wallets/loopring.png" }) { - ...walletCardImage - } - numio: file(relativePath: { eq: "wallets/numio.png" }) { - ...walletCardImage - } - airgap: file(relativePath: { eq: "wallets/airgap.png" }) { - ...walletCardImage - } - } - `) - - const intl = useIntl() - - useEffect(() => { - // Fetch filters on load - const queryParamFilters = new URLSearchParams(location.search || "").get( - "filters" - ) // Comma separated string - const selectedFeatureIds = queryParamFilters - ? queryParamFilters.split(",") - : [] - - const nodes = data.allWallets.nodes - const wallets = shuffle( - nodes.map((node) => { - node.image = data[node.id] - node.alt = translateMessageId( - `page-find-wallet-${node.id}-logo-alt`, - intl - ) - node.description = translateMessageId( - `page-find-wallet-description-${node.id}`, - intl - ) - return node - }) - ) - setState({ selectedFeatureIds, wallets }) - }, [data, intl, location.search]) - - let lastUpdated - // TODO remove conditionals once file is registered in git - if (data.timestamp.parent.fields) { - lastUpdated = getLocaleTimestamp( - intl.locale, - data.timestamp.parent.fields.gitLogLatestDate - ) - } - - const updatePath = (selectedFeatureIds) => { - // Update URL path with new filter query params - let newPath = "/wallets/find-wallet/" - if (selectedFeatureIds.length > 0) { - newPath += "?filters=" - for (const id of selectedFeatureIds) { - newPath += `${id},` - } - newPath = newPath.substr(0, newPath.length - 1) - } - // Apply new path without refresh if within `window` - if (window) { - newPath = `/${intl.locale}` + newPath - window.history.pushState(null, "", newPath) - } else { - navigate(newPath) - } - } - - const clearFilters = () => { - setState({ ...state, selectedFeatureIds: [] }) - updatePath([]) - } - - // Add feature filter (or remove if already selected) - const handleSelect = (featureId) => { - const selectedFeatureIds = state.selectedFeatureIds - - const index = selectedFeatureIds.indexOf(featureId) - if (index > -1) { - selectedFeatureIds.splice(index, 1) - } else { - selectedFeatureIds.push(featureId) - - trackCustomEvent({ - eventCategory: `Wallet feature`, - eventAction: `Selected`, - eventName: featureId, - }) - } - setState({ selectedFeatureIds, wallets: state.wallets }) - updatePath(selectedFeatureIds) - } - - let filteredWallets = state.wallets.filter((wallet) => { - for (const featureId of state.selectedFeatureIds) { - if (wallet[featureId] !== "TRUE") { - return false - } - } - return true - }) - - const hasSelectedFeatures = state.selectedFeatureIds.length > 0 - const selectedFeatures = walletFeatures.filter((feature) => - state.selectedFeatureIds.includes(feature.id) - ) - const remainingFeatures = walletFeatures.filter( - (feature) => !state.selectedFeatureIds.includes(feature.id) - ) - - return ( - - -

- -

- - {walletFeatures.map((card, idx) => { - const isSelected = state.selectedFeatureIds.includes(card.id) - return ( - - ) - })} - - - - - - - - - - -

- -

- - {hasSelectedFeatures && ( - - {" "} - {filteredWallets.length}{" "} - {filteredWallets.length === 1 ? "wallet" : "wallets"}{" "} - - - )} - {!hasSelectedFeatures && ( - - - {filteredWallets.length}{" "} - - - )} - - - {selectedFeatures.map((feature) => ( - - ))} - {remainingFeatures.map((feature) => ( - - ))} - - {hasSelectedFeatures && ( - - - - )} - - - {filteredWallets.length === 0 && ( - - -

- -

-

- -

-
- )} - - - {filteredWallets.map((wallet) => ( - - ))} - - - -

- - {" "} - - - - {" "} - - - - .{" "} - {lastUpdated && ( - - {" "} - {lastUpdated}. - - )} - -

-
-
- - ) -} - -export default WalletCompare diff --git a/src/pages-conditional/wallets/index.js b/src/pages-conditional/wallets/index.js index e1ff8e9ab59..1935921e58e 100644 --- a/src/pages-conditional/wallets/index.js +++ b/src/pages-conditional/wallets/index.js @@ -631,7 +631,7 @@ export const query = graphql` ...listImage } bitcoindotcom: file(relativePath: { eq: "wallets/bitcoindotcom.png" }) { - ...walletCardImage + ...listImage } bitski: file(relativePath: { eq: "wallets/bitski.png" }) { ...listImage diff --git a/src/pages/wallets/find-wallet.js b/src/pages/wallets/find-wallet.js index adea362638d..cf46de40a48 100644 --- a/src/pages/wallets/find-wallet.js +++ b/src/pages/wallets/find-wallet.js @@ -1,11 +1,90 @@ +// Libraries import React from "react" import { graphql } from "gatsby" +import { getImage, GatsbyImage } from "gatsby-plugin-image" +import { useIntl } from "gatsby-plugin-intl" +import styled from "styled-components" +// Components +import Breadcrumbs from "../../components/Breadcrumbs" +import PageMetadata from "../../components/PageMetadata" import { Page } from "../../components/SharedStyledComponents" +import Translation from "../../components/Translation" + +// Utils +import { translateMessageId } from "../../utils/translations" + +// Styles +const HeroContainer = styled.div` + position: relative; + width: 100%; + display: flex; + padding: 3rem; + background: ${(props) => props.theme.colors.layer2Gradient}; + + @media (max-width: ${(props) => props.theme.breakpoints.s}) { + flex-direction: column-reverse; + } +` + +const HeroContent = styled.div` + width: 50%; + @media (max-width: ${(props) => props.theme.breakpoints.s}) { + margin-top: 2rem; + width: 100%; + } +` + +const Subtitle = styled.div` + font-size: 1.25rem; + line-height: 140%; + color: ${(props) => props.theme.colors.text200}; + &:last-of-type { + margin-bottom: 2rem; + } +` + +const HeroImage = styled(GatsbyImage)` + width: 50%; + + @media (max-width: ${(props) => props.theme.breakpoints.s}) { + width: 100%; + } +` + +const FindWalletPage = ({ data, location }) => { + const intl = useIntl() -const FindWalletPage = ({ data }) => { return ( + + + + + +

+ +

+ + + + + + +
+ +

Hello World

) From 361154fa9190df950e2dd9fe64ab81ddc428f3eb Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 25 May 2022 11:30:42 -0600 Subject: [PATCH 004/310] filter tabs --- src/pages/wallets/find-wallet.js | 66 ++++++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 3 deletions(-) diff --git a/src/pages/wallets/find-wallet.js b/src/pages/wallets/find-wallet.js index cf46de40a48..6b292c96e57 100644 --- a/src/pages/wallets/find-wallet.js +++ b/src/pages/wallets/find-wallet.js @@ -1,5 +1,5 @@ // Libraries -import React from "react" +import React, { useState } from "react" import { graphql } from "gatsby" import { getImage, GatsbyImage } from "gatsby-plugin-image" import { useIntl } from "gatsby-plugin-intl" @@ -8,7 +8,7 @@ import styled from "styled-components" // Components import Breadcrumbs from "../../components/Breadcrumbs" import PageMetadata from "../../components/PageMetadata" -import { Page } from "../../components/SharedStyledComponents" +import { Content, Page } from "../../components/SharedStyledComponents" import Translation from "../../components/Translation" // Utils @@ -52,9 +52,50 @@ const HeroImage = styled(GatsbyImage)` } ` +const TableContent = styled(Content)` + display: flex; + padding: 1rem 0; + gap: 24px; +` + +const FilterSidebar = styled.div` + width: 25%; +` + +const FilterTabs = styled.div` + height: 34px; + display: flex; + border-bottom: 1px solid #f4d0a7; + cursor: pointer; +` + +const FilterTab = styled.div` + width: 50%; + text-align: center; + background: ${(props) => + props.active === true ? props.theme.colors.primary : "none"}; + border-radius: 4px 4px 0px 0px; + display: inline-block; + line-height: 200%; + vertical-align: middle; + + :hover { + background: ${(props) => + props.active === true + ? props.theme.colors.primary + : props.theme.colors.selectHover}; + } +` + +const WalletContent = styled.div` + width: 75%; +` + const FindWalletPage = ({ data, location }) => { const intl = useIntl() + const [showAdvancedFilters, setShowAdvancedFilters] = useState(false) + return ( { objectFit="contain" /> -

Hello World

+ + + + + setShowAdvancedFilters(false)} + > + PROFILE FILTERS + + setShowAdvancedFilters(true)} + > + ADVANCED FILTERS + + + + Wallet +
) } From 248ee268c55b8b18503fa227938bd9438b954ed0 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 26 May 2022 07:50:12 -0600 Subject: [PATCH 005/310] tabs and starting personas --- src/components/FindWallet/WalletPersonas.tsx | 98 +++++++++++++++++++ .../{find-wallet.js => find-wallet.tsx} | 51 +++++++--- 2 files changed, 138 insertions(+), 11 deletions(-) create mode 100644 src/components/FindWallet/WalletPersonas.tsx rename src/pages/wallets/{find-wallet.js => find-wallet.tsx} (74%) diff --git a/src/components/FindWallet/WalletPersonas.tsx b/src/components/FindWallet/WalletPersonas.tsx new file mode 100644 index 00000000000..08c04b46f74 --- /dev/null +++ b/src/components/FindWallet/WalletPersonas.tsx @@ -0,0 +1,98 @@ +// Libraries +import React, { useState } from "react" +import styled from "styled-components" + +// Styles +const Test = styled.div` + display: flex; + flex-direction: column; + gap: 16px; +` + +const Persona = styled.div<{ + selected: boolean +}>` + display: flex; + flex-direction: column; + align-items: flex-start; + padding: 24px; + background: ${(props) => + props.selected === true ? "#432E1B" : props.theme.colors.ednBackground}; + border: 1px solid #3d3d3d; + border-radius: 4px; + cursor: pointer; +` + +const H3 = styled.h3` + color: ${(props) => props.theme.colors.primary}; +` + +// Types +interface Personas { + title: string + description: string + featureHighlight: string[] +} + +const WalletPersonas = () => { + const [selectedPersona, setSelectedPersona] = useState(NaN) + + const personas: Personas[] = [ + { + title: "I'm new to Ethereum", + description: "You are a first time user looking for your first wallet", + featureHighlight: ["feature", "feature", "feature", "feature"], + }, + { + title: "I'm a hodler", + description: + "You are someone that has tokens and don’t want to touch them", + featureHighlight: ["feature", "feature", "feature", "feature"], + }, + { + title: "I'm use decentralized finance", + description: + "You are someone that follows DeFI and want’s a wallet easy to use", + featureHighlight: ["feature", "feature", "feature", "feature"], + }, + { + title: "I'm a developer", + description: + "You are developer and needs a wallet that helps develop dapps", + featureHighlight: ["feature", "feature", "feature", "feature"], + }, + { + title: "I use multiple chains", + description: + "You use wallets on other chains and wants to get in ethereum", + featureHighlight: ["feature", "feature", "feature", "feature"], + }, + { + title: "I'm all about NFT's", + description: + "You are someone that is all about NFTs a wallet has to ready", + featureHighlight: ["feature", "feature", "feature", "feature"], + }, + ] + + return ( + + {personas.map((persona, idx) => { + return ( + setSelectedPersona(idx)} + > +

{persona.title}

+

{persona.description}

+ {persona.featureHighlight.map((feature) => ( +

{feature}

+ ))} +
+ ) + })} +
+ ) +} + +export default WalletPersonas diff --git a/src/pages/wallets/find-wallet.js b/src/pages/wallets/find-wallet.tsx similarity index 74% rename from src/pages/wallets/find-wallet.js rename to src/pages/wallets/find-wallet.tsx index 6b292c96e57..bff2a106e75 100644 --- a/src/pages/wallets/find-wallet.js +++ b/src/pages/wallets/find-wallet.tsx @@ -10,6 +10,7 @@ import Breadcrumbs from "../../components/Breadcrumbs" import PageMetadata from "../../components/PageMetadata" import { Content, Page } from "../../components/SharedStyledComponents" import Translation from "../../components/Translation" +import WalletPersonas from "../../components/FindWallet/WalletPersonas" // Utils import { translateMessageId } from "../../utils/translations" @@ -21,6 +22,7 @@ const HeroContainer = styled.div` display: flex; padding: 3rem; background: ${(props) => props.theme.colors.layer2Gradient}; + margin-bottom: 44px; @media (max-width: ${(props) => props.theme.breakpoints.s}) { flex-direction: column-reverse; @@ -54,22 +56,30 @@ const HeroImage = styled(GatsbyImage)` const TableContent = styled(Content)` display: flex; - padding: 1rem 0; gap: 24px; ` const FilterSidebar = styled.div` width: 25%; + display: flex; + flex-direction: column; + gap: 24px; ` const FilterTabs = styled.div` - height: 34px; display: flex; border-bottom: 1px solid #f4d0a7; cursor: pointer; + position: sticky; + top: 76px; + padding-top: 8px; + background: ${(props) => props.theme.colors.background}; ` -const FilterTab = styled.div` +const FilterTab = styled.div<{ + active: boolean +}>` + height: 34px; width: 50%; text-align: center; background: ${(props) => @@ -79,6 +89,9 @@ const FilterTab = styled.div` line-height: 200%; vertical-align: middle; + color: ${(props) => + props.active === true ? "white" : props.theme.colors.text}; + :hover { background: ${(props) => props.active === true @@ -91,10 +104,21 @@ const WalletContent = styled.div` width: 75%; ` +const WalletContentHeader = styled.div` + height: 42px; + display: flex; + border-bottom: 1px solid #f4d0a7; + cursor: pointer; + position: sticky; + top: 76px; + padding-top: 8px; + background: ${(props) => props.theme.colors.background}; +` + const FindWalletPage = ({ data, location }) => { const intl = useIntl() - const [showAdvancedFilters, setShowAdvancedFilters] = useState(false) + const [showFeatureFilters, setShowFeatureFilters] = useState(false) return ( @@ -120,7 +144,7 @@ const FindWalletPage = ({ data, location }) => { { setShowAdvancedFilters(false)} + active={!showFeatureFilters} + onClick={() => setShowFeatureFilters(false)} > PROFILE FILTERS setShowAdvancedFilters(true)} + active={showFeatureFilters} + onClick={() => setShowFeatureFilters(true)} > - ADVANCED FILTERS + FEATURE FILTERS +
+ {showFeatureFilters ?

Feature Filters

: } +
- Wallet + + Wallet +
) From df4a0faebea6c16ffbe40d42945acfb53a0d19f5 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 31 May 2022 14:50:35 -0600 Subject: [PATCH 006/310] wip --- .../FindWallet/WalletFilterSidebar.tsx | 13 +++++++ ...Personas.tsx => WalletPersonasSidebar.tsx} | 4 +-- src/pages/wallets/find-wallet.tsx | 34 +++++++++++++++++-- 3 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 src/components/FindWallet/WalletFilterSidebar.tsx rename src/components/FindWallet/{WalletPersonas.tsx => WalletPersonasSidebar.tsx} (97%) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx new file mode 100644 index 00000000000..50ddb7f7d21 --- /dev/null +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -0,0 +1,13 @@ +// Libraries +import React from "react" +import styled from "styled-components" + +// Styles + +// Types + +const WalletFilterSidebar = () => { + return

Hello World

+} + +export default WalletFilterSidebar diff --git a/src/components/FindWallet/WalletPersonas.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx similarity index 97% rename from src/components/FindWallet/WalletPersonas.tsx rename to src/components/FindWallet/WalletPersonasSidebar.tsx index 08c04b46f74..dbe299683e6 100644 --- a/src/components/FindWallet/WalletPersonas.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -34,7 +34,7 @@ interface Personas { featureHighlight: string[] } -const WalletPersonas = () => { +const WalletPersonasSidebar = () => { const [selectedPersona, setSelectedPersona] = useState(NaN) const personas: Personas[] = [ @@ -95,4 +95,4 @@ const WalletPersonas = () => { ) } -export default WalletPersonas +export default WalletPersonasSidebar diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index bff2a106e75..eb98e9ec9d8 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -10,7 +10,8 @@ import Breadcrumbs from "../../components/Breadcrumbs" import PageMetadata from "../../components/PageMetadata" import { Content, Page } from "../../components/SharedStyledComponents" import Translation from "../../components/Translation" -import WalletPersonas from "../../components/FindWallet/WalletPersonas" +import WalletFilterSidebar from "../../components/FindWallet/WalletFilterSidebar" +import WalletPersonasSidebar from "../../components/FindWallet/WalletPersonasSidebar" // Utils import { translateMessageId } from "../../utils/translations" @@ -119,6 +120,31 @@ const FindWalletPage = ({ data, location }) => { const intl = useIntl() const [showFeatureFilters, setShowFeatureFilters] = useState(false) + const [filters, setFilters] = useState({ + android: false, + ios: false, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: false, + non_custodial: false, + hardware_support: false, + walletconnect: false, + rpc_importing: false, + nft_support: false, + staking: false, + layer_2: false, + gas_fee_customization: false, + ens_support: false, + erc_20_support: false, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + }) return ( @@ -168,7 +194,11 @@ const FindWalletPage = ({ data, location }) => {
- {showFeatureFilters ?

Feature Filters

: } + {showFeatureFilters ? ( + + ) : ( + + )}
From 34e10867ec5e9702eb0001d90e16a57e4d6792b3 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 6 Jun 2022 12:02:29 -0600 Subject: [PATCH 007/310] add preset filter functionality to user personas --- .../FindWallet/WalletPersonasSidebar.tsx | 248 +++++++++++++++++- src/components/Icon.tsx | 2 + src/pages/wallets/find-wallet.tsx | 4 +- 3 files changed, 244 insertions(+), 10 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index dbe299683e6..c22e9716cbd 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -2,8 +2,11 @@ import React, { useState } from "react" import styled from "styled-components" +// Components +import Icon from "../Icon" + // Styles -const Test = styled.div` +const Container = styled.div` display: flex; flex-direction: column; gap: 16px; @@ -23,8 +26,33 @@ const Persona = styled.div<{ cursor: pointer; ` +const Title = styled.div` + display: flex; + align-items: center; + gap: "1rem"; + margin-bottom: 1rem; +` + +const StyledIcon = styled(Icon)<{ + selected: boolean +}>` + fill: ${(props) => + props.selected === true + ? props.theme.colors.primary + : props.theme.colors.secondary}; +` + const H3 = styled.h3` color: ${(props) => props.theme.colors.primary}; + margin-left: 0.5rem; + margin-top: 0; + margin-bottom: 0; +` + +const Grid = styled.div` + display: grid; + grid-template-columns: auto auto; + grid-column-gap: 3rem; ` // Types @@ -32,9 +60,37 @@ interface Personas { title: string description: string featureHighlight: string[] + presetFilters: { + android: boolean + ios: boolean + linux: boolean + windows: boolean + macOS: boolean + firefox: boolean + chromium: boolean + hardware: boolean + open_source: boolean + non_custodial: boolean + hardware_support: boolean + walletconnect: boolean + rpc_importing: boolean + nft_support: boolean + connect_to_dapps: boolean + staking: boolean + swaps: boolean + layer_2: boolean + gas_fee_customization: boolean + ens_support: boolean + erc_20_support: boolean + buy_crypto: boolean + withdraw_crypto: boolean + multisig: boolean + social_recovery: boolean + } } -const WalletPersonasSidebar = () => { +const WalletPersonasSidebar = ({ setFilters }) => { + console.log(setFilters) const [selectedPersona, setSelectedPersona] = useState(NaN) const personas: Personas[] = [ @@ -42,56 +98,230 @@ const WalletPersonasSidebar = () => { title: "I'm new to Ethereum", description: "You are a first time user looking for your first wallet", featureHighlight: ["feature", "feature", "feature", "feature"], + presetFilters: { + android: true, + ios: true, + linux: false, + windows: false, + macOS: false, + firefox: true, + chromium: true, + hardware: false, + open_source: true, + non_custodial: true, + hardware_support: false, + walletconnect: true, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: false, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + buy_crypto: true, + withdraw_crypto: true, + multisig: false, + social_recovery: false, + }, }, { title: "I'm a hodler", description: "You are someone that has tokens and don’t want to touch them", featureHighlight: ["feature", "feature", "feature", "feature"], + presetFilters: { + android: true, + ios: true, + linux: true, + windows: true, + macOS: true, + firefox: true, + chromium: true, + hardware: true, + open_source: true, + non_custodial: true, + hardware_support: true, + walletconnect: false, + rpc_importing: false, + nft_support: false, + connect_to_dapps: false, + staking: true, + swaps: false, + layer_2: true, + gas_fee_customization: true, + ens_support: false, + erc_20_support: true, + buy_crypto: false, + withdraw_crypto: false, + multisig: true, + social_recovery: false, + }, }, { title: "I'm use decentralized finance", description: "You are someone that follows DeFI and want’s a wallet easy to use", featureHighlight: ["feature", "feature", "feature", "feature"], + presetFilters: { + android: true, + ios: true, + linux: false, + windows: false, + macOS: false, + firefox: true, + chromium: true, + hardware: true, + open_source: true, + non_custodial: true, + hardware_support: true, + walletconnect: true, + rpc_importing: true, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: true, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + }, }, { title: "I'm a developer", description: "You are developer and needs a wallet that helps develop dapps", featureHighlight: ["feature", "feature", "feature", "feature"], + presetFilters: { + android: true, + ios: true, + linux: false, + windows: false, + macOS: false, + firefox: true, + chromium: true, + hardware: false, + open_source: true, + non_custodial: true, + hardware_support: false, + walletconnect: true, + rpc_importing: true, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: false, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + }, }, { title: "I use multiple chains", description: "You use wallets on other chains and wants to get in ethereum", featureHighlight: ["feature", "feature", "feature", "feature"], + presetFilters: { + android: true, + ios: true, + linux: false, + windows: false, + macOS: false, + firefox: true, + chromium: true, + hardware: false, + open_source: true, + non_custodial: true, + hardware_support: true, + walletconnect: true, + rpc_importing: true, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: false, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + }, }, { title: "I'm all about NFT's", description: "You are someone that is all about NFTs a wallet has to ready", featureHighlight: ["feature", "feature", "feature", "feature"], + presetFilters: { + android: true, + ios: true, + linux: false, + windows: false, + macOS: false, + firefox: true, + chromium: true, + hardware: false, + open_source: true, + non_custodial: true, + hardware_support: true, + walletconnect: true, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: false, + layer_2: true, + gas_fee_customization: true, + ens_support: false, + erc_20_support: false, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + }, }, ] return ( - + {personas.map((persona, idx) => { return ( setSelectedPersona(idx)} + onClick={() => { + setSelectedPersona(idx) + setFilters(persona.presetFilters) + }} > -

{persona.title}

+ + <StyledIcon + name="check" + selected={selectedPersona === idx} + size="2rem" + /> + <H3>{persona.title}</H3> +

{persona.description}

- {persona.featureHighlight.map((feature) => ( -

{feature}

- ))} + + {persona.featureHighlight.map((feature) => ( +

{feature}

+ ))} +
) })} -
+ ) } diff --git a/src/components/Icon.tsx b/src/components/Icon.tsx index 29c1a5596da..883eddea2ca 100644 --- a/src/components/Icon.tsx +++ b/src/components/Icon.tsx @@ -10,6 +10,7 @@ import { FaRedditAlien, FaStackExchange, FaGlobe, + FaCheck, } from "react-icons/fa" import { MdAdd, @@ -62,6 +63,7 @@ const Icon: React.FC = ({ {name === "zenModeOff" && } {name === "zenModeOn" && } {name === "menu" && } + {name === "check" && } {name === "twitter" && ( )} diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index eb98e9ec9d8..1df214439e3 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -135,7 +135,9 @@ const FindWalletPage = ({ data, location }) => { walletconnect: false, rpc_importing: false, nft_support: false, + connect_to_dapps: false, staking: false, + swaps: false, layer_2: false, gas_fee_customization: false, ens_support: false, @@ -197,7 +199,7 @@ const FindWalletPage = ({ data, location }) => { {showFeatureFilters ? ( ) : ( - + )} From e0cb00007d350a65d81b36f37791079ebf81d32a Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 6 Jun 2022 18:09:15 -0600 Subject: [PATCH 008/310] WalletFilterSidebar progress --- src/assets/wallets/mobile.png | Bin 0 -> 251 bytes .../FindWallet/WalletFilterSidebar.tsx | 163 +++++++++++++++++- .../FindWallet/WalletPersonasSidebar.tsx | 17 +- src/components/Icon.tsx | 5 +- src/pages/wallets/find-wallet.tsx | 22 ++- 5 files changed, 190 insertions(+), 17 deletions(-) create mode 100644 src/assets/wallets/mobile.png diff --git a/src/assets/wallets/mobile.png b/src/assets/wallets/mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..77221fc290aefeed7b1e83e6b74544aea9006abf GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%Qk(@Ik;M!Q+`=Ht$S`Y;1W=H% zILO_JVcj{Imp~3nx}&cn1H;CC?mvmFK>h?z7srqa#XEcxSrHn@&M>I22WQ%mvv4FO#ps?RG$C< literal 0 HcmV?d00001 diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 50ddb7f7d21..a5bbbded5b1 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -1,13 +1,170 @@ // Libraries -import React from "react" +import React, { useState } from "react" +import { getImage, GatsbyImage } from "gatsby-plugin-image" import styled from "styled-components" +// Components +import Icon from "../Icon" + // Styles +const Container = styled.div` + display: flex; + flex-direction: column; + gap: 16px; +` + +const FilterPanel = styled.div` + display: flex; + flex-direction: column; + align-items: flex-start; + padding: 24px; + background: ${(props) => props.theme.colors.ednBackground}; + border: 1px solid #3d3d3d; + border-radius: 4px; +` + +const Header = styled.div` + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 1rem 12px 1rem; + cursor: pointer; + width: 100%; + border-bottom: 1px solid ${(props) => props.theme.colors.primary}; + + h3 { + color: ${(props) => props.theme.colors.primary}; + margin: 0; + } +` + +const StyledIcon = styled(Icon)` + fill: ${(props) => props.theme.colors.primary}; +` + +const FilterOption = styled.div` + border-bottom: 1px solid ${(props) => props.theme.colors.lightBorder}; + width: 100%; + padding: 18.5px 12px 12px 12px; +` + +const OptionGrid = styled.div` + display: grid; + grid-template-columns: 24px auto 34px; + width: 100%; + align-items: center; + + p { + margin: 0; + padding: 0 12px; + } +` + +const OptionDescription = styled.p` + font-size: 12px; + color: ${(props) => props.theme.colors.text200}; +` + +const Image = styled(GatsbyImage)` + height: 24px; +` // Types -const WalletFilterSidebar = () => { - return

Hello World

+const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { + const [filterOptions, setFilterOptions] = useState([ + { + title: "Device", + open: true, + items: [ + { + title: "Mobile", + description: "Phone or mobile based wallets.", + options: [ + { + name: "Android", + filterName: "android", + inputType: "checkbox", + }, + { + name: "iOS", + filterName: "ios", + inputType: "checkbox", + }, + ], + }, + { + title: "Desktop", + description: "Desktop based wallets.", + options: [ + { + name: "Linux", + filterName: "android", + inputType: "checkbox", + }, + { + name: "Windows", + filterName: "windows", + inputType: "checkbox", + }, + { + name: "macOS", + filterName: "macOS", + inputType: "checkbox", + }, + ], + }, + ], + }, + ]) + + const setOpen = (idx) => { + const updatedFilterOptions = [...filterOptions] + updatedFilterOptions[idx].open = !updatedFilterOptions[idx].open + setFilterOptions(updatedFilterOptions) + } + + return ( + + {filterOptions.map((filterOption, idx) => { + return ( + +
{ + setOpen(idx) + }} + > +

{filterOption.title}

+ +
+ {filterOption.open && + filterOption.items.map((item) => { + return ( + + + +

{item.title}

+
+
+ +
+ {item.description} +
+
+
+ ) + })} +
+ ) + })} +
+ ) } export default WalletFilterSidebar diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index c22e9716cbd..4467d095b7d 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -33,15 +33,6 @@ const Title = styled.div` margin-bottom: 1rem; ` -const StyledIcon = styled(Icon)<{ - selected: boolean -}>` - fill: ${(props) => - props.selected === true - ? props.theme.colors.primary - : props.theme.colors.secondary}; -` - const H3 = styled.h3` color: ${(props) => props.theme.colors.primary}; margin-left: 0.5rem; @@ -55,6 +46,13 @@ const Grid = styled.div` grid-column-gap: 3rem; ` +const StyledIcon = styled(Icon)<{ selected: boolean }>` + fill: ${(props) => + props.selected === true + ? props.theme.colors.primary + : props.theme.colors.secondary}; +` + // Types interface Personas { title: string @@ -90,7 +88,6 @@ interface Personas { } const WalletPersonasSidebar = ({ setFilters }) => { - console.log(setFilters) const [selectedPersona, setSelectedPersona] = useState(NaN) const personas: Personas[] = [ diff --git a/src/components/Icon.tsx b/src/components/Icon.tsx index 883eddea2ca..90fea6cca30 100644 --- a/src/components/Icon.tsx +++ b/src/components/Icon.tsx @@ -16,6 +16,8 @@ import { MdAdd, MdBrightness2, MdClose, + MdDone, + MdExpandLess, MdExpandMore, MdArrowForward, MdInfoOutline, @@ -52,6 +54,7 @@ const Icon: React.FC = ({ }) => ( {name === "add" && } + {name === "chevronUp" && } {name === "chevronDown" && } {name === "arrowRight" && } {name === "close" && } @@ -63,7 +66,7 @@ const Icon: React.FC = ({ {name === "zenModeOff" && } {name === "zenModeOn" && } {name === "menu" && } - {name === "check" && } + {name === "check" && } {name === "twitter" && ( )} diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 1df214439e3..f2b0082e763 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -69,12 +69,13 @@ const FilterSidebar = styled.div` const FilterTabs = styled.div` display: flex; - border-bottom: 1px solid #f4d0a7; + border-bottom: 1px solid ${(props) => props.theme.colors.primary}; cursor: pointer; position: sticky; top: 76px; padding-top: 8px; background: ${(props) => props.theme.colors.background}; + z-index: 1; ` const FilterTab = styled.div<{ @@ -108,7 +109,7 @@ const WalletContent = styled.div` const WalletContentHeader = styled.div` height: 42px; display: flex; - border-bottom: 1px solid #f4d0a7; + border-bottom: 1px solid ${(props) => props.theme.colors.primary}; cursor: pointer; position: sticky; top: 76px; @@ -148,6 +149,12 @@ const FindWalletPage = ({ data, location }) => { social_recovery: false, }) + const updateFilterOption = (key) => { + const updatedFilters = { ...filters } + updatedFilters[key] = !updatedFilters[key] + setFilters(updatedFilters) + } + return ( {
{showFeatureFilters ? ( - + ) : ( )} @@ -220,5 +231,10 @@ export const query = graphql` gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } + mobile: file(relativePath: { eq: "wallets/mobile.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } } ` From b27bd95c14679e9fec1ca71308e7c959876fd935 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 6 Jun 2022 20:19:49 -0600 Subject: [PATCH 009/310] WalletFilterSidebar input functionality and styling --- .../FindWallet/WalletFilterSidebar.tsx | 95 +++++++++++++++++-- src/components/Icon.tsx | 4 +- src/components/TableOfContents.js | 5 +- 3 files changed, 92 insertions(+), 12 deletions(-) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index a5bbbded5b1..19da010375f 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -4,6 +4,7 @@ import { getImage, GatsbyImage } from "gatsby-plugin-image" import styled from "styled-components" // Components +import Checkbox from "../Checkbox" import Icon from "../Icon" // Styles @@ -69,6 +70,27 @@ const Image = styled(GatsbyImage)` height: 24px; ` +const CheckboxGrid = styled.div` + display: grid; + width: 100%; + grid-template-columns: auto auto; + margin-top: 14px; + gap: 0.5rem; +` + +const CheckboxGridOption = styled.div` + display: flex; + gap: 0.5rem; + + p { + margin: 0; + } +` + +const ToggleIcon = styled(Icon)` + fill: ${(props) => props.theme.colors.primary}; +` + // Types const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { @@ -80,15 +102,16 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { { title: "Mobile", description: "Phone or mobile based wallets.", + filterKey: undefined, options: [ { name: "Android", - filterName: "android", + filterKey: "android", inputType: "checkbox", }, { name: "iOS", - filterName: "ios", + filterKey: "ios", inputType: "checkbox", }, ], @@ -96,24 +119,48 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { { title: "Desktop", description: "Desktop based wallets.", + filterKey: undefined, options: [ { name: "Linux", - filterName: "android", + filterKey: "linux", inputType: "checkbox", }, { name: "Windows", - filterName: "windows", + filterKey: "windows", inputType: "checkbox", }, { name: "macOS", - filterName: "macOS", + filterKey: "macOS", inputType: "checkbox", }, ], }, + { + title: "Browser", + description: "Browser extension wallets.", + filterKey: undefined, + options: [ + { + name: "Firefox", + filterKey: "firefox", + inputType: "checkbox", + }, + { + name: "Chromium", + filterKey: "chromium", + inputType: "checkbox", + }, + ], + }, + { + title: "Hardware", + description: "Hardware baesd wallets.", + filterKey: "hardware", + options: [], + }, ], }, ]) @@ -150,13 +197,49 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { objectFit="contain" />

{item.title}

-
+
+ {item.filterKey && ( + // TODO: Make actual toggle component +
{ + updateFilterOption(item.filterKey) + }} + > + +
+ )} +
{item.description}
+ {item.options.length > 0 && ( + + {item.options.map((option) => { + return ( + + { + updateFilterOption(option.filterKey) + }} + checked={filters[option.filterKey]} + size={1.5} + /> +

{option.name}

+
+ ) + })} +
+ )} ) })} diff --git a/src/components/Icon.tsx b/src/components/Icon.tsx index 90fea6cca30..9345a370e75 100644 --- a/src/components/Icon.tsx +++ b/src/components/Icon.tsx @@ -63,8 +63,8 @@ const Icon: React.FC = ({ {name === "info" && } {name === "language" && } {name === "lightTheme" && } - {name === "zenModeOff" && } - {name === "zenModeOn" && } + {name === "toggleOff" && } + {name === "toggleOn" && } {name === "menu" && } {name === "check" && } {name === "twitter" && ( diff --git a/src/components/TableOfContents.js b/src/components/TableOfContents.js index bde1e781ee7..a7022a115fb 100644 --- a/src/components/TableOfContents.js +++ b/src/components/TableOfContents.js @@ -394,10 +394,7 @@ const TableOfContents = ({ handleZenModeChange()}> - + )} From 19d7f8878a28b9b8e1b581bd42a1b98fca94cf57 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 6 Jun 2022 21:00:36 -0600 Subject: [PATCH 010/310] WalletFilterSidebar filters --- .../FindWallet/WalletFilterSidebar.tsx | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 19da010375f..1003794b34a 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -163,6 +163,140 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { }, ], }, + { + title: "Security", + open: true, + items: [ + { + title: "Open source", + description: + "Wallet code for the wallet is open sourced for users to inspect and edit.", + filterKey: "open_source", + options: [], + }, + { + title: "Non-custodial", + description: "Who has control over the keys for your wallet.", + filterKey: "non_custodial", + options: [], + }, + ], + }, + { + title: "Features", + open: true, + items: [ + { + title: "Hardware support", + description: + "You can connect a hardware wallet and sign transactions with it.", + filterKey: "hardware_support", + options: [], + }, + { + title: "WalletConnect", + description: + "You can connect to applications that support WalletConnect.", + filterKey: "walletconnect", + options: [], + }, + { + title: "RPC importing", + description: + "You can import RPC endpoint data to connect to different nodes/networks.", + filterKey: "rpc_importing", + options: [], + }, + { + title: "NFT support", + description: + "You can view and interact with your NFTs in the wallet.", + filterKey: "nft_support", + options: [], + }, + { + title: "Connect to decentralized apps", + description: + "You can connect to applications build on the Ethereum network.", + filterKey: "connect_to_dapps", + options: [], + }, + { + title: "Staking", + description: + "You can use a simple interface to stake directly in the wallet.", + filterKey: "staking", + options: [], + }, + { + title: "Layer 2", + description: "You can use layer 2 networks in the wallet.", + filterKey: "layer_2", + options: [], + }, + { + title: "Gas fee customization", + description: + "The user is able to customize their gas inputs (base free, priority fee, max fee).", + filterKey: "gas_fee_customization", + options: [], + }, + { + title: "ENS support", + description: + "The wallet supports sending transactions to ENS addresses.", + filterKey: "ens_support", + options: [], + }, + { + title: "Token importing", + description: + "Can import ERC-20 token contract addresses into the wallet.", + filterKey: "erc_20_support", + options: [], + }, + ], + }, + { + title: "Onboard / offboard", + open: true, + items: [ + { + title: "Buy crypto", + description: + "User is able to buy crypto with fiat directly in the wallet.", + filterKey: "buy_crypto", + options: [], + }, + { + title: "Withdraw crypto", + description: + "User is able to withdraw to fiat directly in the wallet.", + filterKey: "withdraw_crypto", + options: [], + }, + ], + }, + { + title: "Smart contracts", + open: true, + items: [ + { + title: "Multisig", + description: + "Wallets that require two or more signatures from private keys for a transaction.", + filterKey: "multisig", + options: [], + }, + { + title: "Social recovery", + description: + "Wallets that allow guardians to change the signing key for smart contract wallets.", + filterKey: "social_recovery", + options: [], + }, + ], + }, ]) const setOpen = (idx) => { From e5ce3b77c36cf99158a36a34fadb28d1e3aad0f2 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 6 Jun 2022 23:31:08 -0600 Subject: [PATCH 011/310] note --- src/pages/wallets/find-wallet.tsx | 37 +++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index f2b0082e763..0fbadc0414f 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -7,6 +7,7 @@ import styled from "styled-components" // Components import Breadcrumbs from "../../components/Breadcrumbs" +import Link from "../../components/Link" import PageMetadata from "../../components/PageMetadata" import { Content, Page } from "../../components/SharedStyledComponents" import Translation from "../../components/Translation" @@ -117,6 +118,17 @@ const WalletContentHeader = styled.div` background: ${(props) => props.theme.colors.background}; ` +const Note = styled.div` + text-align: center; + padding: 20px; + + p { + font-size: 14px; + line-height: 23px; + margin: 0; + } +` + const FindWalletPage = ({ data, location }) => { const intl = useIntl() @@ -218,6 +230,31 @@ const FindWalletPage = ({ data, location }) => { Wallet + +

+ + Wallets listed on this page are not official endorsements, and are + provided for informational purposes only.{" "} + +

+

+ + Their descriptions have been provided by the wallet companies + themselves.{" "} + +

+

+ + We add products to this page based on criteria in our{" "} + listing policy. If + you'd like us to add a wallet,{" "} + + raise an issue in GitHub + + . + +

+
) } From e60253c853ec9c7dff8dcb3d1e01e43faca4a067 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 6 Jun 2022 23:34:20 -0600 Subject: [PATCH 012/310] styles --- src/components/FindWallet/WalletFilterSidebar.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 1003794b34a..6b1c4751c12 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -57,12 +57,14 @@ const OptionGrid = styled.div` p { margin: 0; + line-height: 20px; padding: 0 12px; } ` const OptionDescription = styled.p` font-size: 12px; + line-height: 14px; color: ${(props) => props.theme.colors.text200}; ` From 17585a0ce6e6af703393b201e5e94ce6aca2af55 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 7 Jun 2022 13:24:11 -0600 Subject: [PATCH 013/310] setup dumby data --- src/data/wallet-data.ts | 209 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 209 insertions(+) create mode 100644 src/data/wallet-data.ts diff --git a/src/data/wallet-data.ts b/src/data/wallet-data.ts new file mode 100644 index 00000000000..c93ea50bc3d --- /dev/null +++ b/src/data/wallet-data.ts @@ -0,0 +1,209 @@ +const walletData = { + metamask: { + name: "MetaMask", + image_name: "metamask", + url: "https://metamask.io", + repo_url: "https://metamask.io", + documentation: "https://metamask.io", + onboard_documentation: "https://metamask.io", + security_audit: "", + wallet_live_date: "", + active_development_team: "", + languages_supported: [], + social_links: "", + brand_color: "#FFF", + android: true, + ios: true, + linux: false, + windows: false, + macOS: false, + firefox: true, + chromium: true, + hardware: false, + open_source: true, + non_custodial: true, + spam_protection: false, + hardware_support: true, + walletconnect: true, + rpc_importing: true, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: true, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + }, + argent: { + name: "Argent", + image_name: "argent", + url: "https://www.argent.xyz", + repo_url: "https://www.argent.xyz", + documentation: "https://www.argent.xyz", + onboard_documentation: "https://www.argent.xyz", + security_audit: "", + wallet_live_date: "", + active_development_team: "", + languages_supported: [], + social_links: "", + brand_color: "#FF875B", + android: true, + ios: true, + linux: false, + windows: false, + macOS: false, + firefox: true, + chromium: true, + hardware: false, + open_source: false, + non_custodial: true, + spam_protection: false, + hardware_support: false, + walletconnect: false, + rpc_importing: false, + nft_support: false, + connect_to_dapps: false, + staking: true, + swaps: false, + layer_2: true, + gas_fee_customization: true, + ens_support: false, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: true, + }, + rainbow: { + name: "Rainbow", + image_name: "rainbow", + url: "https://rainbow.me", + repo_url: "https://rainbow.me", + documentation: "https://rainbow.me", + onboard_documentation: "https://rainbow.me", + security_audit: "", + wallet_live_date: "", + active_development_team: "", + languages_supported: [], + social_links: "", + brand_color: "#FFF", + android: true, + ios: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: true, + non_custodial: true, + spam_protection: false, + hardware_support: false, + walletconnect: true, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: false, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + }, + ledger: { + name: "Ledger", + image_name: "ledger", + url: "https://www.ledger.com", + repo_url: "https://www.ledger.com", + documentation: "https://www.ledger.com", + onboard_documentation: "https://www.ledger.com", + security_audit: "", + wallet_live_date: "", + active_development_team: "", + languages_supported: [], + social_links: "", + brand_color: "#FFF", + android: true, + ios: true, + linux: true, + windows: true, + macOS: true, + firefox: false, + chromium: false, + hardware: true, + open_source: false, + non_custodial: true, + spam_protection: false, + hardware_support: false, + walletconnect: true, + rpc_importing: false, + nft_support: false, + connect_to_dapps: false, + staking: false, + swaps: true, + layer_2: false, + gas_fee_customization: true, + ens_support: false, + erc_20_support: false, + eip_1559_support: true, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + }, + trezor: { + name: "Trezor", + image_name: "trezor", + url: "https://trezor.io", + repo_url: "https://trezor.io", + documentation: "https://trezor.io", + onboard_documentation: "https://trezor.io", + security_audit: "", + wallet_live_date: "", + active_development_team: "", + languages_supported: [], + social_links: "", + brand_color: "#FFF", + android: false, + ios: false, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: true, + open_source: true, + non_custodial: true, + spam_protection: false, + hardware_support: false, + walletconnect: false, + rpc_importing: false, + nft_support: false, + connect_to_dapps: false, + staking: false, + swaps: false, + layer_2: false, + gas_fee_customization: true, + ens_support: false, + erc_20_support: true, + eip_1559_support: false, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + }, +} + +export default walletData From 4c3b83878ca45666caa24643ff4d53b18bd1b288 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 8 Jun 2022 11:43:32 -0600 Subject: [PATCH 014/310] wip --- src/components/FindWallet/WalletTable.tsx | 139 ++++++++++++++++++++++ src/data/{ => find-wallet}/wallet-data.ts | 14 +-- src/pages/wallets/find-wallet.tsx | 17 +-- 3 files changed, 151 insertions(+), 19 deletions(-) create mode 100644 src/components/FindWallet/WalletTable.tsx rename src/data/{ => find-wallet}/wallet-data.ts (98%) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx new file mode 100644 index 00000000000..e0e0ac57f2b --- /dev/null +++ b/src/components/FindWallet/WalletTable.tsx @@ -0,0 +1,139 @@ +// Libraries +import React, { useState } from "react" +import styled from "styled-components" + +// Styles +const Container = styled.div` + width: 100%; +` + +const Grid = styled.div` + display: grid; + grid-template-columns: 40% auto auto auto 5%; + width: 100%; +` + +const WalletContentHeader = styled(Grid)` + height: 42px; + border-bottom: 1px solid ${(props) => props.theme.colors.primary}; + cursor: pointer; + position: sticky; + top: 76px; + padding-top: 8px; + background: ${(props) => props.theme.colors.background}; + + span { + color: ${(props) => props.theme.colors.primary}; + } +` + +const FeatureDropdown = styled.div`` + +// Constants +const featureDropdownItems = [ + { + name: "Open source", + filterKey: "open_source", + }, + { + name: "Self custody", + filterKey: "non_custodial", + }, + { + name: "Hardware wallet support", + filterKey: "hardware_support", + }, + { + name: "WalletConnect", + filterKey: "walletconnect", + }, + { + name: "RPC importing", + filterKey: "rpc_importing", + }, + { + name: "NFT support", + filterKey: "nft_support", + }, + { + name: "Connect to dapps", + filterKey: "connect_to_dapps", + }, + { + name: "Staking", + filterKey: "staking", + }, + { + name: "Swaps", + filterKey: "swaps", + }, + { + name: "Layer 2", + filterKey: "layer_2", + }, + { + name: "Gas fee customization", + filterKey: "gas_fee_customization", + }, + { + name: "ENS support", + filterKey: "ens_support", + }, + { + name: "Buy crypto", + filterKey: "buy_crypto", + }, + { + name: "Token importing", + filterKey: "erc_20_support", + }, + { + name: "Buy crypto", + filterKey: "buy_crypto", + }, + { + name: "Withdraw crypto", + filterKey: "withdraw_crypto", + }, + { + name: "Multisig", + filterKey: "multisig", + }, + { + name: "Social recovery", + filterKey: "social_recovery", + }, +] + +const WalletTable = ({ data, walletData }) => { + const [selectedFeatures, setSelectedFeatures] = useState([ + featureDropdownItems[0], + featureDropdownItems[1], + featureDropdownItems[2], + ]) + + return ( + + {/* TODO: Change this span info for fitlered wallets when implemented */} + +

+ {walletData.length} wallets out of {walletData.length} +

+ +

{selectedFeatures[0].name}

+
+ +

{selectedFeatures[1].name}

+
+ +

{selectedFeatures[2].name}

+
+
+ {walletData.map((wallet) => { + return

{wallet.name}

+ })} +
+ ) +} + +export default WalletTable diff --git a/src/data/wallet-data.ts b/src/data/find-wallet/wallet-data.ts similarity index 98% rename from src/data/wallet-data.ts rename to src/data/find-wallet/wallet-data.ts index c93ea50bc3d..87152656b12 100644 --- a/src/data/wallet-data.ts +++ b/src/data/find-wallet/wallet-data.ts @@ -1,5 +1,5 @@ -const walletData = { - metamask: { +const walletData = [ + { name: "MetaMask", image_name: "metamask", url: "https://metamask.io", @@ -40,7 +40,7 @@ const walletData = { multisig: false, social_recovery: false, }, - argent: { + { name: "Argent", image_name: "argent", url: "https://www.argent.xyz", @@ -81,7 +81,7 @@ const walletData = { multisig: false, social_recovery: true, }, - rainbow: { + { name: "Rainbow", image_name: "rainbow", url: "https://rainbow.me", @@ -122,7 +122,7 @@ const walletData = { multisig: false, social_recovery: false, }, - ledger: { + { name: "Ledger", image_name: "ledger", url: "https://www.ledger.com", @@ -163,7 +163,7 @@ const walletData = { multisig: false, social_recovery: false, }, - trezor: { + { name: "Trezor", image_name: "trezor", url: "https://trezor.io", @@ -204,6 +204,6 @@ const walletData = { multisig: false, social_recovery: false, }, -} +] export default walletData diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 0fbadc0414f..982cf0974e7 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -13,6 +13,10 @@ import { Content, Page } from "../../components/SharedStyledComponents" import Translation from "../../components/Translation" import WalletFilterSidebar from "../../components/FindWallet/WalletFilterSidebar" import WalletPersonasSidebar from "../../components/FindWallet/WalletPersonasSidebar" +import WalletTable from "../../components/FindWallet/WalletTable" + +// Data +import walletData from "../../data/find-wallet/wallet-data" // Utils import { translateMessageId } from "../../utils/translations" @@ -107,17 +111,6 @@ const WalletContent = styled.div` width: 75%; ` -const WalletContentHeader = styled.div` - height: 42px; - display: flex; - border-bottom: 1px solid ${(props) => props.theme.colors.primary}; - cursor: pointer; - position: sticky; - top: 76px; - padding-top: 8px; - background: ${(props) => props.theme.colors.background}; -` - const Note = styled.div` text-align: center; padding: 20px; @@ -227,7 +220,7 @@ const FindWalletPage = ({ data, location }) => {
- Wallet + From 8bcbf676918450b29754b71eb1bf338a2b20f86b Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 9 Jun 2022 17:00:25 -0600 Subject: [PATCH 015/310] dropdowns --- src/components/FindWallet/WalletTable.tsx | 198 ++++++++++++++++++---- src/pages/wallets/find-wallet.tsx | 2 +- 2 files changed, 164 insertions(+), 36 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index e0e0ac57f2b..9310c70da77 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -2,6 +2,9 @@ import React, { useState } from "react" import styled from "styled-components" +// Components +import { StyledSelect as Select } from "../SharedStyledComponents" + // Styles const Container = styled.div` width: 100%; @@ -14,7 +17,7 @@ const Grid = styled.div` ` const WalletContentHeader = styled(Grid)` - height: 42px; + height: 50px; border-bottom: 1px solid ${(props) => props.theme.colors.primary}; cursor: pointer; position: sticky; @@ -27,90 +30,186 @@ const WalletContentHeader = styled(Grid)` } ` -const FeatureDropdown = styled.div`` +// https://react-select.com/styles#using-classnames +// Pass menuIsOpen={true} to component to debug +const StyledSelect = styled(Select)` + .react-select__control { + border: none; + background: none; + + .react-select__value-container { + .react-select__single-value { + color: ${(props) => props.theme.colors.primary}; + } + } + + .react-select__indicators { + .react-select__indicator-separator { + background: none; + } + .react-select__indicator { + color: ${(props) => props.theme.colors.text}; + } + } + + &:hover { + background: ${(props) => props.theme.colors.primary}; + .react-select__value-container { + .react-select__single-value { + color: ${(props) => props.theme.colors.text}; + } + } + + .react-select__indicators { + .react-select__indicator-separator { + background: none; + } + .react-select__indicator { + color: ${(props) => props.theme.colors.text}; + } + } + } + } + + .react-select__control--is-focused { + border: none; + background: ${(props) => props.theme.colors.primary}; + + .react-select__value-container { + .react-select__single-value { + color: ${(props) => props.theme.colors.text}; + } + } + + .react-select__indicators { + background: ${(props) => props.theme.colors.primary}; + .react-select__value-container { + .react-select__single-value { + color: ${(props) => props.theme.colors.text}; + } + } + + .react-select__indicators { + .react-select__indicator { + color: ${(props) => props.theme.colors.text}; + } + } + } + } + + @media (max-width: ${(props) => props.theme.breakpoints.s}) { + .react-select__control { + padding: 14px 0; + } + } +` + +const Wallet = styled(Grid)`` // Constants const featureDropdownItems = [ { - name: "Open source", + label: "Open source", + value: "Open source", filterKey: "open_source", }, { - name: "Self custody", + label: "Self custody", + value: "Self custody", filterKey: "non_custodial", }, { - name: "Hardware wallet support", + label: "Hardware wallet support", + value: "Hardware wallet support", filterKey: "hardware_support", }, { - name: "WalletConnect", + label: "WalletConnect", + value: "WalletConnect", filterKey: "walletconnect", }, { - name: "RPC importing", + label: "RPC importing", + value: "RPC importing", filterKey: "rpc_importing", }, { - name: "NFT support", + label: "NFT support", + value: "NFT support", filterKey: "nft_support", }, { - name: "Connect to dapps", + label: "Connect to dapps", + value: "Connect to dapps", filterKey: "connect_to_dapps", }, { - name: "Staking", + label: "Staking", + value: "Staking", filterKey: "staking", }, { - name: "Swaps", + label: "Swaps", + value: "Swaps", filterKey: "swaps", }, { - name: "Layer 2", + label: "Layer 2", + value: "Layer 2", filterKey: "layer_2", }, { - name: "Gas fee customization", + label: "Gas fee customization", + value: "Gas fee customization", filterKey: "gas_fee_customization", }, { - name: "ENS support", + label: "ENS support", + value: "ENS support", filterKey: "ens_support", }, { - name: "Buy crypto", + label: "Buy crypto", + value: "Buy crypto", filterKey: "buy_crypto", }, { - name: "Token importing", + label: "Token importing", + value: "Token importing", filterKey: "erc_20_support", }, { - name: "Buy crypto", + label: "Buy crypto", + value: "Buy crypto", filterKey: "buy_crypto", }, { - name: "Withdraw crypto", + label: "Withdraw crypto", + value: "Withdraw crypto", filterKey: "withdraw_crypto", }, { - name: "Multisig", + label: "Multisig", + value: "Multisig", filterKey: "multisig", }, { - name: "Social recovery", + label: "Social recovery", + value: "Social recovery", filterKey: "social_recovery", }, ] const WalletTable = ({ data, walletData }) => { - const [selectedFeatures, setSelectedFeatures] = useState([ - featureDropdownItems[0], - featureDropdownItems[1], - featureDropdownItems[2], - ]) + const [firstFeatureSelect, setFirstFeatureSelect] = useState( + featureDropdownItems[0] + ) + const [secondFeatureSelect, setSecondFeatureSelect] = useState( + featureDropdownItems[1] + ) + const [thirdFeatureSelect, setThirdFeatureSelect] = useState( + featureDropdownItems[2] + ) return ( @@ -119,18 +218,47 @@ const WalletTable = ({ data, walletData }) => {

{walletData.length} wallets out of {walletData.length}

- -

{selectedFeatures[0].name}

-
- -

{selectedFeatures[1].name}

-
- -

{selectedFeatures[2].name}

-
+ { + setFirstFeatureSelect(selectedOption) + }} + defaultValue={firstFeatureSelect} + /> + { + setSecondFeatureSelect(selectedOption) + }} + defaultValue={secondFeatureSelect} + /> + { + setThirdFeatureSelect(selectedOption) + }} + defaultValue={thirdFeatureSelect} + /> {walletData.map((wallet) => { - return

{wallet.name}

+ console.log(wallet) + return ( + +
+

{wallet.name}

+
+
+
+
+
+
+ ) })}
) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 982cf0974e7..1fb4d945747 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -79,6 +79,7 @@ const FilterTabs = styled.div` position: sticky; top: 76px; padding-top: 8px; + height: 50px; background: ${(props) => props.theme.colors.background}; z-index: 1; ` @@ -86,7 +87,6 @@ const FilterTabs = styled.div` const FilterTab = styled.div<{ active: boolean }>` - height: 34px; width: 50%; text-align: center; background: ${(props) => From ee50560c65cbfb56ca19c58bb77af667f5c54430 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Fri, 10 Jun 2022 16:44:11 -0600 Subject: [PATCH 016/310] wip --- src/components/FindWallet/WalletTable.tsx | 89 ++++++++++++++++++++--- src/components/Icon.tsx | 2 + src/pages/wallets/find-wallet.tsx | 25 +++++++ 3 files changed, 107 insertions(+), 9 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 9310c70da77..1dbd4a4c84a 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -1,8 +1,11 @@ // Libraries import React, { useState } from "react" +import { getImage, GatsbyImage } from "gatsby-plugin-image" import styled from "styled-components" // Components +import Icon from "../Icon" +import Link from "../Link" import { StyledSelect as Select } from "../SharedStyledComponents" // Styles @@ -104,7 +107,41 @@ const StyledSelect = styled(Select)` } ` -const Wallet = styled(Grid)`` +const Wallet = styled(Grid)` + padding: 25px 4px; + border-bottom: 1px solid ${(props) => props.theme.colors.lightBorder}; +` + +const FlexInfo = styled.div` + display: flex; + gap: 1rem; + align-items: center; + + p { + margin: 0; + padding: 0; + } +` + +const Image = styled(GatsbyImage)` + height: 56px; + width: 56px; +` + +const SecondaryText = styled.p` + font-size: 14px; + line-height: 14px; + color: ${(props) => props.theme.colors.text200}; +` + +const WalletFeatureCircle = styled(Icon)<{ hasFeature: boolean }>` + fill: ${(props) => + props.hasFeature ? props.theme.colors.primary : props.theme.colors.text200}; +` + +const WalletMoreInfoArrow = styled(Icon)` + fill: ${(props) => props.theme.colors.primary}; +` // Constants const featureDropdownItems = [ @@ -247,16 +284,50 @@ const WalletTable = ({ data, walletData }) => { /> {walletData.map((wallet) => { - console.log(wallet) + const test = `${wallet.ios ? "iOS" : ""} + ${wallet.android ? "Android" : ""} + ${wallet.linux ? "Linux" : 0} + ${wallet.windows ? "Windows" : 0} + ${wallet.macOS ? "macOS" : ""} + ${wallet.chromium ? "Chromium" : ""} + ${wallet.firefox ? "Firefox" : ""} + ${wallet.hardware ? "Hardware" : ""}` return ( -
-

{wallet.name}

-
-
-
-
-
+ +
+ +
+
+

{wallet.name}

+ {test} + Check out {wallet.name} +
+
+ + + + + + + + + + + +
) })} diff --git a/src/components/Icon.tsx b/src/components/Icon.tsx index 51421796ed0..08ef52234c5 100644 --- a/src/components/Icon.tsx +++ b/src/components/Icon.tsx @@ -15,6 +15,7 @@ import { import { MdAdd, MdBrightness2, + MdCircle, MdClose, MdDone, MdExpandLess, @@ -56,6 +57,7 @@ const Icon: React.FC = ({ {name === "add" && } {name === "chevronUp" && } {name === "chevronDown" && } + {name === "circle" && } {name === "arrowRight" && } {name === "close" && } {name === "darkTheme" && } diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 1fb4d945747..277606d7680 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -266,5 +266,30 @@ export const query = graphql` gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } + metamask: file(relativePath: { eq: "wallets/metamask.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + argent: file(relativePath: { eq: "wallets/argent.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + rainbow: file(relativePath: { eq: "wallets/rainbow.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + ledger: file(relativePath: { eq: "wallets/ledger.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + trezor: file(relativePath: { eq: "wallets/trezor.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } } ` From 05968f875a9d9bcbb0b6c6f55563695b03821a46 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 12 Jun 2022 11:17:52 -0600 Subject: [PATCH 017/310] styling icons --- src/components/FindWallet/WalletTable.tsx | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 1dbd4a4c84a..34e454193ff 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -123,6 +123,10 @@ const FlexInfo = styled.div` } ` +const FlexInfoCenter = styled(FlexInfo)` + justify-content: center; +` + const Image = styled(GatsbyImage)` height: 56px; width: 56px; @@ -307,27 +311,27 @@ const WalletTable = ({ data, walletData }) => { Check out {wallet.name} - + - - + + - - + + - - + + - + ) })} From 448be0eed106ceadfb9855a8ef10d7cc11f5d5b0 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 12 Jun 2022 12:21:44 -0600 Subject: [PATCH 018/310] icons --- src/assets/wallets/browser.svg | 7 +++ src/assets/wallets/buy_crypto.svg | 7 +++ src/assets/wallets/desktop.svg | 7 +++ src/assets/wallets/ens_support.svg | 14 +++++ src/assets/wallets/erc_20_support.svg | 6 ++ src/assets/wallets/gas_fee_customization.svg | 10 +++ src/assets/wallets/hardware.svg | 10 +++ src/assets/wallets/hardware_support.svg | 13 ++++ src/assets/wallets/layer_2.svg | 10 +++ src/assets/wallets/mobile.png | Bin 251 -> 0 bytes src/assets/wallets/mobile.svg | 8 +++ src/assets/wallets/nft_support.svg | 8 +++ src/assets/wallets/non_custodial.svg | 7 +++ src/assets/wallets/open_source.svg | 3 + src/assets/wallets/rpc_importing.svg | 9 +++ src/assets/wallets/staking.svg | 22 +++++++ .../FindWallet/WalletFilterSidebar.tsx | 58 +++++++++++++++--- src/pages/wallets/find-wallet.tsx | 5 -- 18 files changed, 191 insertions(+), 13 deletions(-) create mode 100644 src/assets/wallets/browser.svg create mode 100644 src/assets/wallets/buy_crypto.svg create mode 100644 src/assets/wallets/desktop.svg create mode 100644 src/assets/wallets/ens_support.svg create mode 100644 src/assets/wallets/erc_20_support.svg create mode 100644 src/assets/wallets/gas_fee_customization.svg create mode 100644 src/assets/wallets/hardware.svg create mode 100644 src/assets/wallets/hardware_support.svg create mode 100644 src/assets/wallets/layer_2.svg delete mode 100644 src/assets/wallets/mobile.png create mode 100644 src/assets/wallets/mobile.svg create mode 100644 src/assets/wallets/nft_support.svg create mode 100644 src/assets/wallets/non_custodial.svg create mode 100644 src/assets/wallets/open_source.svg create mode 100644 src/assets/wallets/rpc_importing.svg create mode 100644 src/assets/wallets/staking.svg diff --git a/src/assets/wallets/browser.svg b/src/assets/wallets/browser.svg new file mode 100644 index 00000000000..644e7173a3d --- /dev/null +++ b/src/assets/wallets/browser.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/assets/wallets/buy_crypto.svg b/src/assets/wallets/buy_crypto.svg new file mode 100644 index 00000000000..6b3bc5888ce --- /dev/null +++ b/src/assets/wallets/buy_crypto.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/assets/wallets/desktop.svg b/src/assets/wallets/desktop.svg new file mode 100644 index 00000000000..5175a0cca8f --- /dev/null +++ b/src/assets/wallets/desktop.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/assets/wallets/ens_support.svg b/src/assets/wallets/ens_support.svg new file mode 100644 index 00000000000..95cfed2a9a9 --- /dev/null +++ b/src/assets/wallets/ens_support.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/assets/wallets/erc_20_support.svg b/src/assets/wallets/erc_20_support.svg new file mode 100644 index 00000000000..30868b7b17f --- /dev/null +++ b/src/assets/wallets/erc_20_support.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/wallets/gas_fee_customization.svg b/src/assets/wallets/gas_fee_customization.svg new file mode 100644 index 00000000000..b441d5ca4b9 --- /dev/null +++ b/src/assets/wallets/gas_fee_customization.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/assets/wallets/hardware.svg b/src/assets/wallets/hardware.svg new file mode 100644 index 00000000000..c8dc1b30490 --- /dev/null +++ b/src/assets/wallets/hardware.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/assets/wallets/hardware_support.svg b/src/assets/wallets/hardware_support.svg new file mode 100644 index 00000000000..3b071d004f4 --- /dev/null +++ b/src/assets/wallets/hardware_support.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/assets/wallets/layer_2.svg b/src/assets/wallets/layer_2.svg new file mode 100644 index 00000000000..67f13d34ab0 --- /dev/null +++ b/src/assets/wallets/layer_2.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/assets/wallets/mobile.png b/src/assets/wallets/mobile.png deleted file mode 100644 index 77221fc290aefeed7b1e83e6b74544aea9006abf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%Qk(@Ik;M!Q+`=Ht$S`Y;1W=H% zILO_JVcj{Imp~3nx}&cn1H;CC?mvmFK>h?z7srqa#XEcxSrHn@&M>I22WQ%mvv4FO#ps?RG$C< diff --git a/src/assets/wallets/mobile.svg b/src/assets/wallets/mobile.svg new file mode 100644 index 00000000000..0119436ed86 --- /dev/null +++ b/src/assets/wallets/mobile.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/assets/wallets/nft_support.svg b/src/assets/wallets/nft_support.svg new file mode 100644 index 00000000000..8ef82958a08 --- /dev/null +++ b/src/assets/wallets/nft_support.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/assets/wallets/non_custodial.svg b/src/assets/wallets/non_custodial.svg new file mode 100644 index 00000000000..8c5045c8071 --- /dev/null +++ b/src/assets/wallets/non_custodial.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/assets/wallets/open_source.svg b/src/assets/wallets/open_source.svg new file mode 100644 index 00000000000..b1b2e7d58b6 --- /dev/null +++ b/src/assets/wallets/open_source.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/wallets/rpc_importing.svg b/src/assets/wallets/rpc_importing.svg new file mode 100644 index 00000000000..a461ca6ecab --- /dev/null +++ b/src/assets/wallets/rpc_importing.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/wallets/staking.svg b/src/assets/wallets/staking.svg new file mode 100644 index 00000000000..f78b30ade71 --- /dev/null +++ b/src/assets/wallets/staking.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 6b1c4751c12..7b6bafc2f8c 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -7,6 +7,23 @@ import styled from "styled-components" import Checkbox from "../Checkbox" import Icon from "../Icon" +// Icons +import Browser from "../../assets/wallets/browser.svg" +import BuyCrypto from "../../assets/wallets/buy_crypto.svg" +import Desktop from "../../assets/wallets/desktop.svg" +import ENSSupport from "../../assets/wallets/ens_support.svg" +import ERC20Support from "../../assets/wallets/erc_20_support.svg" +import GasFeeCustomization from "../../assets/wallets/gas_fee_customization.svg" +import HardwareSupport from "../../assets/wallets/hardware_support.svg" +import Hardware from "../../assets/wallets/hardware.svg" +import Layer2 from "../../assets/wallets/layer_2.svg" +import Mobile from "../../assets/wallets/mobile.svg" +import NFTSupport from "../../assets/wallets/nft_support.svg" +import NonCustodial from "../../assets/wallets/non_custodial.svg" +import OpenSource from "../../assets/wallets/open_source.svg" +import RPCImporting from "../../assets/wallets/rpc_importing.svg" +import Staking from "../../assets/wallets/staking.svg" + // Styles const Container = styled.div` display: flex; @@ -62,16 +79,24 @@ const OptionGrid = styled.div` } ` +const IconContainer = styled.div` + svg { + width: 24px; + height: 24px; + + path { + fill: white; + stroke: white; + } + } +` + const OptionDescription = styled.p` font-size: 12px; line-height: 14px; color: ${(props) => props.theme.colors.text200}; ` -const Image = styled(GatsbyImage)` - height: 24px; -` - const CheckboxGrid = styled.div` display: grid; width: 100%; @@ -103,6 +128,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { items: [ { title: "Mobile", + icon: , description: "Phone or mobile based wallets.", filterKey: undefined, options: [ @@ -120,6 +146,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { }, { title: "Desktop", + icon: , description: "Desktop based wallets.", filterKey: undefined, options: [ @@ -142,6 +169,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { }, { title: "Browser", + icon: , description: "Browser extension wallets.", filterKey: undefined, options: [ @@ -159,6 +187,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { }, { title: "Hardware", + icon: , description: "Hardware baesd wallets.", filterKey: "hardware", options: [], @@ -171,6 +200,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { items: [ { title: "Open source", + icon: , description: "Wallet code for the wallet is open sourced for users to inspect and edit.", filterKey: "open_source", @@ -178,6 +208,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { }, { title: "Non-custodial", + icon: , description: "Who has control over the keys for your wallet.", filterKey: "non_custodial", options: [], @@ -190,6 +221,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { items: [ { title: "Hardware support", + icon: , description: "You can connect a hardware wallet and sign transactions with it.", filterKey: "hardware_support", @@ -197,6 +229,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { }, { title: "WalletConnect", + icon: <>, description: "You can connect to applications that support WalletConnect.", filterKey: "walletconnect", @@ -204,6 +237,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { }, { title: "RPC importing", + icon: , description: "You can import RPC endpoint data to connect to different nodes/networks.", filterKey: "rpc_importing", @@ -211,6 +245,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { }, { title: "NFT support", + icon: , description: "You can view and interact with your NFTs in the wallet.", filterKey: "nft_support", @@ -218,6 +253,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { }, { title: "Connect to decentralized apps", + icon: <>, description: "You can connect to applications build on the Ethereum network.", filterKey: "connect_to_dapps", @@ -225,6 +261,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { }, { title: "Staking", + icon: , description: "You can use a simple interface to stake directly in the wallet.", filterKey: "staking", @@ -232,12 +269,14 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { }, { title: "Layer 2", + icon: , description: "You can use layer 2 networks in the wallet.", filterKey: "layer_2", options: [], }, { title: "Gas fee customization", + icon: , description: "The user is able to customize their gas inputs (base free, priority fee, max fee).", filterKey: "gas_fee_customization", @@ -245,6 +284,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { }, { title: "ENS support", + icon: , description: "The wallet supports sending transactions to ENS addresses.", filterKey: "ens_support", @@ -252,6 +292,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { }, { title: "Token importing", + icon: , description: "Can import ERC-20 token contract addresses into the wallet.", filterKey: "erc_20_support", @@ -265,6 +306,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { items: [ { title: "Buy crypto", + icon: , description: "User is able to buy crypto with fiat directly in the wallet.", filterKey: "buy_crypto", @@ -272,6 +314,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { }, { title: "Withdraw crypto", + icon: <>, description: "User is able to withdraw to fiat directly in the wallet.", filterKey: "withdraw_crypto", @@ -285,6 +328,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { items: [ { title: "Multisig", + icon: <>, description: "Wallets that require two or more signatures from private keys for a transaction.", filterKey: "multisig", @@ -292,6 +336,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { }, { title: "Social recovery", + icon: <>, description: "Wallets that allow guardians to change the signing key for smart contract wallets.", filterKey: "social_recovery", @@ -328,10 +373,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { return ( - + {item.icon}

{item.title}

{item.filterKey && ( diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 277606d7680..274eb753a8c 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -261,11 +261,6 @@ export const query = graphql` gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } - mobile: file(relativePath: { eq: "wallets/mobile.png" }) { - childImageSharp { - gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) - } - } metamask: file(relativePath: { eq: "wallets/metamask.png" }) { childImageSharp { gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) From ddb70e9b4c3737eac50c891532870cacdf80a01f Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 12 Jun 2022 13:16:59 -0600 Subject: [PATCH 019/310] device labels --- src/components/FindWallet/WalletTable.tsx | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 34e454193ff..7bc43da8ca7 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -288,14 +288,18 @@ const WalletTable = ({ data, walletData }) => { /> {walletData.map((wallet) => { - const test = `${wallet.ios ? "iOS" : ""} - ${wallet.android ? "Android" : ""} - ${wallet.linux ? "Linux" : 0} - ${wallet.windows ? "Windows" : 0} - ${wallet.macOS ? "macOS" : ""} - ${wallet.chromium ? "Chromium" : ""} - ${wallet.firefox ? "Firefox" : ""} - ${wallet.hardware ? "Hardware" : ""}` + const deviceLabels: Array = [] + + wallet.ios && deviceLabels.push("iOS") + wallet.android && deviceLabels.push("Android") + wallet.linux && deviceLabels.push("Linux") + wallet.windows && deviceLabels.push("Windows") + wallet.macOS && deviceLabels.push("macOS") + wallet.chromium && deviceLabels.push("Chromium") + wallet.firefox && deviceLabels.push("Firefox") + wallet.hardware && deviceLabels.push("Hardware") + + console.log(deviceLabels) return ( @@ -307,7 +311,7 @@ const WalletTable = ({ data, walletData }) => {

{wallet.name}

- {test} + {deviceLabels.join(" | ")} Check out {wallet.name}
From bd0f0365a45aea6551737691b530f221628a066d Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 12 Jun 2022 13:18:08 -0600 Subject: [PATCH 020/310] remove console.log --- src/components/FindWallet/WalletTable.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 7bc43da8ca7..61cbdbf3f54 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -299,7 +299,6 @@ const WalletTable = ({ data, walletData }) => { wallet.firefox && deviceLabels.push("Firefox") wallet.hardware && deviceLabels.push("Hardware") - console.log(deviceLabels) return ( From b0024fd91ef418bbc1b09fb517196bf4b63d5a2f Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 12 Jun 2022 14:58:11 -0600 Subject: [PATCH 021/310] more info functionality --- src/components/FindWallet/WalletTable.tsx | 33 ++++++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 61cbdbf3f54..827e6663899 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -22,7 +22,6 @@ const Grid = styled.div` const WalletContentHeader = styled(Grid)` height: 50px; border-bottom: 1px solid ${(props) => props.theme.colors.primary}; - cursor: pointer; position: sticky; top: 76px; padding-top: 8px; @@ -39,6 +38,7 @@ const StyledSelect = styled(Select)` .react-select__control { border: none; background: none; + cursor: pointer; .react-select__value-container { .react-select__single-value { @@ -242,6 +242,11 @@ const featureDropdownItems = [ ] const WalletTable = ({ data, walletData }) => { + const [walletCardData, setWalletData] = useState( + walletData.map((wallet) => { + return { ...wallet, moreInfo: false } + }) + ) const [firstFeatureSelect, setFirstFeatureSelect] = useState( featureDropdownItems[0] ) @@ -252,12 +257,19 @@ const WalletTable = ({ data, walletData }) => { featureDropdownItems[2] ) + const updateMoreInfo = (idx) => { + const temp = [...walletCardData] + temp[idx].moreInfo = !temp[idx].moreInfo + setWalletData(temp) + } + return ( {/* TODO: Change this span info for fitlered wallets when implemented */}

- {walletData.length} wallets out of {walletData.length} + {walletCardData.length} wallets out of{" "} + {walletCardData.length}

{ defaultValue={thirdFeatureSelect} />
- {walletData.map((wallet) => { + {walletCardData.map((wallet, idx) => { const deviceLabels: Array = [] wallet.ios && deviceLabels.push("iOS") @@ -333,8 +345,21 @@ const WalletTable = ({ data, walletData }) => { /> - +
updateMoreInfo(idx)} + > + +
+ {wallet.moreInfo && ( +
+

Hello world

+

{wallet.name}

+
+ )}
) })} From cc37a7215f7252c0972dc2d0c9d2f4b102c2d34b Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 12 Jun 2022 17:09:21 -0600 Subject: [PATCH 022/310] basic filter setup, needs to be flushed out for all features --- src/components/FindWallet/WalletTable.tsx | 14 +++++++++++--- src/pages/wallets/find-wallet.tsx | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 827e6663899..dd80f5e4717 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -241,7 +241,7 @@ const featureDropdownItems = [ }, ] -const WalletTable = ({ data, walletData }) => { +const WalletTable = ({ data, filters, walletData }) => { const [walletCardData, setWalletData] = useState( walletData.map((wallet) => { return { ...wallet, moreInfo: false } @@ -263,12 +263,20 @@ const WalletTable = ({ data, walletData }) => { setWalletData(temp) } + const filteredWallets = walletCardData.filter((wallet) => { + if (filters.android) { + return filters.android === wallet.android + } + + return wallet + }) + return ( {/* TODO: Change this span info for fitlered wallets when implemented */}

- {walletCardData.length} wallets out of{" "} + {filteredWallets.length} wallets out of{" "} {walletCardData.length}

{ defaultValue={thirdFeatureSelect} />
- {walletCardData.map((wallet, idx) => { + {filteredWallets.map((wallet, idx) => { const deviceLabels: Array = [] wallet.ios && deviceLabels.push("iOS") diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 274eb753a8c..dc9fd047a63 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -220,7 +220,7 @@ const FindWalletPage = ({ data, location }) => { - + From 9028f41f1b3da34e7f281db68e7bd9136aabff28 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 12 Jun 2022 17:27:30 -0600 Subject: [PATCH 023/310] more info categories --- src/components/FindWallet/WalletTable.tsx | 173 +++++++++++++++------- 1 file changed, 122 insertions(+), 51 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index dd80f5e4717..279a49be182 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -13,6 +13,10 @@ const Container = styled.div` width: 100%; ` +const WalletContainer = styled(Container)` + border-bottom: 1px solid ${(props) => props.theme.colors.lightBorder}; +` + const Grid = styled.div` display: grid; grid-template-columns: 40% auto auto auto 5%; @@ -109,7 +113,6 @@ const StyledSelect = styled(Select)` const Wallet = styled(Grid)` padding: 25px 4px; - border-bottom: 1px solid ${(props) => props.theme.colors.lightBorder}; ` const FlexInfo = styled.div` @@ -147,97 +150,120 @@ const WalletMoreInfoArrow = styled(Icon)` fill: ${(props) => props.theme.colors.primary}; ` +const WalletMoreInfo = styled.div` + display: grid; + grid-template-columns: 100px auto auto auto auto; + width: 100%; +` + +const FeatureLabel = styled.p<{ hasFeature: boolean }>` + color: ${(props) => + props.hasFeature ? props.theme.colors.primary : props.theme.colors.text200}; +` + // Constants const featureDropdownItems = [ { label: "Open source", value: "Open source", filterKey: "open_source", + category: "security", }, { label: "Self custody", value: "Self custody", filterKey: "non_custodial", + category: "security", }, { label: "Hardware wallet support", value: "Hardware wallet support", filterKey: "hardware_support", + category: "feature", }, { label: "WalletConnect", value: "WalletConnect", filterKey: "walletconnect", + category: "feature", }, { label: "RPC importing", value: "RPC importing", filterKey: "rpc_importing", + category: "feature", }, { label: "NFT support", value: "NFT support", filterKey: "nft_support", + category: "feature", }, { label: "Connect to dapps", value: "Connect to dapps", filterKey: "connect_to_dapps", + category: "feature", }, { label: "Staking", value: "Staking", filterKey: "staking", + category: "feature", }, { label: "Swaps", value: "Swaps", filterKey: "swaps", + category: "feature", }, { label: "Layer 2", value: "Layer 2", filterKey: "layer_2", + category: "feature", }, { label: "Gas fee customization", value: "Gas fee customization", filterKey: "gas_fee_customization", + category: "feature", }, { label: "ENS support", value: "ENS support", filterKey: "ens_support", - }, - { - label: "Buy crypto", - value: "Buy crypto", - filterKey: "buy_crypto", + category: "feature", }, { label: "Token importing", value: "Token importing", filterKey: "erc_20_support", + category: "feature", }, { label: "Buy crypto", value: "Buy crypto", filterKey: "buy_crypto", + category: "trade_and_buy", }, { label: "Withdraw crypto", value: "Withdraw crypto", filterKey: "withdraw_crypto", + category: "trade_and_buy", }, { label: "Multisig", value: "Multisig", filterKey: "multisig", + category: "smart_contract", }, { label: "Social recovery", value: "Social recovery", filterKey: "social_recovery", + category: "smart_contract", }, ] @@ -320,55 +346,100 @@ const WalletTable = ({ data, filters, walletData }) => { wallet.hardware && deviceLabels.push("Hardware") return ( - - -
- + + +
+ +
+
+

{wallet.name}

+ {deviceLabels.join(" | ")} + Check out {wallet.name} +
+
+ + + + + -
-
-

{wallet.name}

- {deviceLabels.join(" | ")} - Check out {wallet.name} -
-
- - - - - - - - - - -
updateMoreInfo(idx)} - > - + + -
-
+ + +
updateMoreInfo(idx)} + > + +
+
+
{wallet.moreInfo && ( -
-

Hello world

-

{wallet.name}

-
+ +
+
+

Features

+ {featureDropdownItems.map((feature) => { + if (feature.category === "feature") + return ( + + {feature.label} + + ) + })} +
+
+

Security

+ {featureDropdownItems.map((feature) => { + if (feature.category === "security") + return ( + + {feature.label} + + ) + })} +
+
+

Trade & buy

+ {featureDropdownItems.map((feature) => { + if (feature.category === "trade_and_buy") + return ( + + {feature.label} + + ) + })} +
+
+

Smart contract

+ {featureDropdownItems.map((feature) => { + if (feature.category === "smart_contract") + return ( + + {feature.label} + + ) + })} +
+
)} - + ) })}
From 929ca7a8be6b88096f400897b65cf0dbf4e52ae9 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 12 Jun 2022 17:50:18 -0600 Subject: [PATCH 024/310] wallet filter --- src/components/FindWallet/WalletTable.tsx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 279a49be182..49800a10172 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -290,16 +290,19 @@ const WalletTable = ({ data, filters, walletData }) => { } const filteredWallets = walletCardData.filter((wallet) => { - if (filters.android) { - return filters.android === wallet.android - } + let showWallet = true + + Object.keys(filters).forEach((filter) => { + if (filters[filter] && showWallet === true) { + showWallet = filters[filter] === wallet[filter] + } + }) - return wallet + return showWallet }) return ( - {/* TODO: Change this span info for fitlered wallets when implemented */}

{filteredWallets.length} wallets out of{" "} From d68186a5cf50b3b86584ec2896d7ea75b0ec5998 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 12 Jun 2022 18:26:24 -0600 Subject: [PATCH 025/310] more info line --- src/components/FindWallet/WalletTable.tsx | 113 +++++++++++++--------- src/data/find-wallet/wallet-data.ts | 4 +- 2 files changed, 67 insertions(+), 50 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 49800a10172..58ccd42ddcd 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -152,10 +152,22 @@ const WalletMoreInfoArrow = styled(Icon)` const WalletMoreInfo = styled.div` display: grid; - grid-template-columns: 100px auto auto auto auto; + grid-template-columns: 65px auto auto auto auto; width: 100%; ` +const ColoredLine = styled.div<{ color: string }>` + --color: ${(props) => props.color}; + margin: auto; + width: 0.25rem; + height: 100%; + background: linear-gradient( + 180deg, + var(--color) 0%, + rgba(217, 217, 217, 0) 97.4% + ); +` + const FeatureLabel = styled.p<{ hasFeature: boolean }>` color: ${(props) => props.hasFeature ? props.theme.colors.primary : props.theme.colors.text200}; @@ -394,53 +406,58 @@ const WalletTable = ({ data, filters, walletData }) => { {wallet.moreInfo && ( - -

-
-

Features

- {featureDropdownItems.map((feature) => { - if (feature.category === "feature") - return ( - - {feature.label} - - ) - })} -
-
-

Security

- {featureDropdownItems.map((feature) => { - if (feature.category === "security") - return ( - - {feature.label} - - ) - })} -
-
-

Trade & buy

- {featureDropdownItems.map((feature) => { - if (feature.category === "trade_and_buy") - return ( - - {feature.label} - - ) - })} -
-
-

Smart contract

- {featureDropdownItems.map((feature) => { - if (feature.category === "smart_contract") - return ( - - {feature.label} - - ) - })} -
- +
+ +
+ +
+
+

Features

+ {featureDropdownItems.map((feature) => { + if (feature.category === "feature") + return ( + + {feature.label} + + ) + })} +
+
+

Security

+ {featureDropdownItems.map((feature) => { + if (feature.category === "security") + return ( + + {feature.label} + + ) + })} +
+
+

Trade & buy

+ {featureDropdownItems.map((feature) => { + if (feature.category === "trade_and_buy") + return ( + + {feature.label} + + ) + })} +
+
+

Smart contract

+ {featureDropdownItems.map((feature) => { + if (feature.category === "smart_contract") + return ( + + {feature.label} + + ) + })} +
+
+

Socials

+
)} ) diff --git a/src/data/find-wallet/wallet-data.ts b/src/data/find-wallet/wallet-data.ts index 87152656b12..9ee59fe43d4 100644 --- a/src/data/find-wallet/wallet-data.ts +++ b/src/data/find-wallet/wallet-data.ts @@ -11,7 +11,7 @@ const walletData = [ active_development_team: "", languages_supported: [], social_links: "", - brand_color: "#FFF", + brand_color: "#f68420", android: true, ios: true, linux: false, @@ -93,7 +93,7 @@ const walletData = [ active_development_team: "", languages_supported: [], social_links: "", - brand_color: "#FFF", + brand_color: "#994fa9", android: true, ios: true, linux: false, From b6da8de0430597a01efb1de0bf8fba7a8790cc2f Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 12 Jun 2022 18:52:22 -0600 Subject: [PATCH 026/310] feature icons more info --- src/components/FindWallet/WalletTable.tsx | 69 ++++++++++++++++++++--- 1 file changed, 62 insertions(+), 7 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 58ccd42ddcd..e7e7bb4836b 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -8,6 +8,19 @@ import Icon from "../Icon" import Link from "../Link" import { StyledSelect as Select } from "../SharedStyledComponents" +// Icons +import BuyCrypto from "../../assets/wallets/buy_crypto.svg" +import ENSSupport from "../../assets/wallets/ens_support.svg" +import ERC20Support from "../../assets/wallets/erc_20_support.svg" +import GasFeeCustomization from "../../assets/wallets/gas_fee_customization.svg" +import HardwareSupport from "../../assets/wallets/hardware_support.svg" +import Layer2 from "../../assets/wallets/layer_2.svg" +import NFTSupport from "../../assets/wallets/nft_support.svg" +import NonCustodial from "../../assets/wallets/non_custodial.svg" +import OpenSource from "../../assets/wallets/open_source.svg" +import RPCImporting from "../../assets/wallets/rpc_importing.svg" +import Staking from "../../assets/wallets/staking.svg" + // Styles const Container = styled.div` width: 100%; @@ -168,9 +181,30 @@ const ColoredLine = styled.div<{ color: string }>` ); ` -const FeatureLabel = styled.p<{ hasFeature: boolean }>` - color: ${(props) => - props.hasFeature ? props.theme.colors.primary : props.theme.colors.text200}; +const FeatureLabel = styled.div<{ hasFeature: boolean }>` + display: flex; + gap: 0.5rem; + svg { + width: 24px; + height: 24px; + + path { + fill: ${(props) => + props.hasFeature + ? props.theme.colors.primary + : props.theme.colors.text200}; + stroke: ${(props) => + props.hasFeature + ? props.theme.colors.primary + : props.theme.colors.text200}; + } + } + p { + color: ${(props) => + props.hasFeature + ? props.theme.colors.primary + : props.theme.colors.text200}; + } ` // Constants @@ -180,102 +214,119 @@ const featureDropdownItems = [ value: "Open source", filterKey: "open_source", category: "security", + icon: , }, { label: "Self custody", value: "Self custody", filterKey: "non_custodial", category: "security", + icon: , }, { label: "Hardware wallet support", value: "Hardware wallet support", filterKey: "hardware_support", category: "feature", + icon: , }, { label: "WalletConnect", value: "WalletConnect", filterKey: "walletconnect", category: "feature", + icon: <>, }, { label: "RPC importing", value: "RPC importing", filterKey: "rpc_importing", category: "feature", + icon: , }, { label: "NFT support", value: "NFT support", filterKey: "nft_support", category: "feature", + icon: , }, { label: "Connect to dapps", value: "Connect to dapps", filterKey: "connect_to_dapps", category: "feature", + icon: <>, }, { label: "Staking", value: "Staking", filterKey: "staking", category: "feature", + icon: , }, { label: "Swaps", value: "Swaps", filterKey: "swaps", category: "feature", + icon: <>, }, { label: "Layer 2", value: "Layer 2", filterKey: "layer_2", category: "feature", + icon: , }, { label: "Gas fee customization", value: "Gas fee customization", filterKey: "gas_fee_customization", category: "feature", + icon: , }, { label: "ENS support", value: "ENS support", filterKey: "ens_support", category: "feature", + icon: , }, { label: "Token importing", value: "Token importing", filterKey: "erc_20_support", category: "feature", + icon: , }, { label: "Buy crypto", value: "Buy crypto", filterKey: "buy_crypto", category: "trade_and_buy", + icon: , }, { label: "Withdraw crypto", value: "Withdraw crypto", filterKey: "withdraw_crypto", category: "trade_and_buy", + icon: <>, }, { label: "Multisig", value: "Multisig", filterKey: "multisig", category: "smart_contract", + icon: <>, }, { label: "Social recovery", value: "Social recovery", filterKey: "social_recovery", category: "smart_contract", + icon: <>, }, ] @@ -417,7 +468,8 @@ const WalletTable = ({ data, filters, walletData }) => { if (feature.category === "feature") return ( - {feature.label} + {feature.icon} +

{feature.label}

) })} @@ -428,7 +480,8 @@ const WalletTable = ({ data, filters, walletData }) => { if (feature.category === "security") return ( - {feature.label} + {feature.icon} +

{feature.label}

) })} @@ -439,7 +492,8 @@ const WalletTable = ({ data, filters, walletData }) => { if (feature.category === "trade_and_buy") return ( - {feature.label} + {feature.icon} +

{feature.label}

) })} @@ -450,7 +504,8 @@ const WalletTable = ({ data, filters, walletData }) => { if (feature.category === "smart_contract") return ( - {feature.label} + {feature.icon} +

{feature.label}

) })} From 1b2017242fd80fb8eff8f5fa6bf8cc34d7928314 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 12 Jun 2022 20:35:36 -0600 Subject: [PATCH 027/310] persona labels --- .../FindWallet/WalletPersonasSidebar.tsx | 153 ++++++++++++++++-- 1 file changed, 144 insertions(+), 9 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 4467d095b7d..8dada04d4b8 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -1,10 +1,24 @@ // Libraries -import React, { useState } from "react" +import React, { ReactSVGElement, useState } from "react" import styled from "styled-components" // Components import Icon from "../Icon" +// Icons +import BuyCrypto from "../../assets/wallets/buy_crypto.svg" +import ENSSupport from "../../assets/wallets/ens_support.svg" +import ERC20Support from "../../assets/wallets/erc_20_support.svg" +import GasFeeCustomization from "../../assets/wallets/gas_fee_customization.svg" +import HardwareSupport from "../../assets/wallets/hardware_support.svg" +import Hardware from "../../assets/wallets/hardware.svg" +import Layer2 from "../../assets/wallets/layer_2.svg" +import NFTSupport from "../../assets/wallets/nft_support.svg" +import NonCustodial from "../../assets/wallets/non_custodial.svg" +import OpenSource from "../../assets/wallets/open_source.svg" +import RPCImporting from "../../assets/wallets/rpc_importing.svg" +import Staking from "../../assets/wallets/staking.svg" + // Styles const Container = styled.div` display: flex; @@ -53,11 +67,24 @@ const StyledIcon = styled(Icon)<{ selected: boolean }>` : props.theme.colors.secondary}; ` +const PersonaFeature = styled.div` + display: flex; + gap: 0.5rem; + svg { + width: 24px; + height: 24px; + path { + fill: ${(props) => props.theme.colors.text}; + stroke: ${(props) => props.theme.colors.text}; + } + } +` + // Types interface Personas { title: string description: string - featureHighlight: string[] + featureHighlight: { label: string; icon: JSX.Element }[] presetFilters: { android: boolean ios: boolean @@ -87,6 +114,81 @@ interface Personas { } } +const filterLabels = { + hardware: { + label: "Hardware", + icon: , + }, + open_source: { + label: "Open source", + icon: , + }, + non_custodial: { + label: "Non-custodial", + icon: , + }, + hardware_support: { + label: "Hardware support", + icon: , + }, + walletconnect: { + label: "WalletConnect", + icon: <>, + }, + rpc_importing: { + label: "RPC importing", + icon: , + }, + nft_support: { + label: "NFT support", + icon: , + }, + connect_to_dapps: { + label: "Connect to apps", + icon: <>, + }, + staking: { + label: "Staking", + icon: , + }, + swaps: { + label: "Swaps", + icon: <>, + }, + layer_2: { + label: "Layer 2", + icon: , + }, + gas_fee_customization: { + label: "Gas fee customization", + icon: , + }, + ens_support: { + label: "ENS support", + icon: , + }, + buy_crypto: { + label: "Buy crypto", + icon: , + }, + withdraw_crypto: { + label: "Withdraw crypto", + icon: <>, + }, + multisig: { + label: "Multisig", + icon: <>, + }, + social_recovery: { + label: "Social recovery", + icon: <>, + }, + erc_20_support: { + label: "Token support", + icon: , + }, +} + const WalletPersonasSidebar = ({ setFilters }) => { const [selectedPersona, setSelectedPersona] = useState(NaN) @@ -94,7 +196,12 @@ const WalletPersonasSidebar = ({ setFilters }) => { { title: "I'm new to Ethereum", description: "You are a first time user looking for your first wallet", - featureHighlight: ["feature", "feature", "feature", "feature"], + featureHighlight: [ + filterLabels.buy_crypto, + filterLabels.withdraw_crypto, + filterLabels.nft_support, + filterLabels.layer_2, + ], presetFilters: { android: true, ios: true, @@ -127,7 +234,12 @@ const WalletPersonasSidebar = ({ setFilters }) => { title: "I'm a hodler", description: "You are someone that has tokens and don’t want to touch them", - featureHighlight: ["feature", "feature", "feature", "feature"], + featureHighlight: [ + filterLabels.hardware, + filterLabels.hardware_support, + filterLabels.open_source, + filterLabels.layer_2, + ], presetFilters: { android: true, ios: true, @@ -160,7 +272,12 @@ const WalletPersonasSidebar = ({ setFilters }) => { title: "I'm use decentralized finance", description: "You are someone that follows DeFI and want’s a wallet easy to use", - featureHighlight: ["feature", "feature", "feature", "feature"], + featureHighlight: [ + filterLabels.swaps, + filterLabels.erc_20_support, + filterLabels.hardware_support, + filterLabels.layer_2, + ], presetFilters: { android: true, ios: true, @@ -193,7 +310,12 @@ const WalletPersonasSidebar = ({ setFilters }) => { title: "I'm a developer", description: "You are developer and needs a wallet that helps develop dapps", - featureHighlight: ["feature", "feature", "feature", "feature"], + featureHighlight: [ + filterLabels.rpc_importing, + filterLabels.walletconnect, + filterLabels.nft_support, + filterLabels.erc_20_support, + ], presetFilters: { android: true, ios: true, @@ -226,7 +348,12 @@ const WalletPersonasSidebar = ({ setFilters }) => { title: "I use multiple chains", description: "You use wallets on other chains and wants to get in ethereum", - featureHighlight: ["feature", "feature", "feature", "feature"], + featureHighlight: [ + filterLabels.layer_2, + filterLabels.rpc_importing, + filterLabels.erc_20_support, + filterLabels.nft_support, + ], presetFilters: { android: true, ios: true, @@ -259,7 +386,12 @@ const WalletPersonasSidebar = ({ setFilters }) => { title: "I'm all about NFT's", description: "You are someone that is all about NFTs a wallet has to ready", - featureHighlight: ["feature", "feature", "feature", "feature"], + featureHighlight: [ + filterLabels.nft_support, + filterLabels.layer_2, + filterLabels.walletconnect, + filterLabels.hardware_support, + ], presetFilters: { android: true, ios: true, @@ -312,7 +444,10 @@ const WalletPersonasSidebar = ({ setFilters }) => {

{persona.description}

{persona.featureHighlight.map((feature) => ( -

{feature}

+ + {feature.icon} +

{feature.label}

+
))}
From e8b689783bd61256d8f2467b832bec95420969c0 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 12 Jun 2022 22:51:55 -0600 Subject: [PATCH 028/310] socials --- src/components/FindWallet/WalletTable.tsx | 30 ++++++++++++++++++++++- src/data/find-wallet/wallet-data.ts | 10 ++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index e7e7bb4836b..acb902306a6 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -207,6 +207,17 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` } ` +const SocialsContainer = styled.div` + text-align: center; + padding-bottom: 22px; +` + +const Socials = styled.div` + display: flex; + gap: 1rem; + justify-content: center; +` + // Constants const featureDropdownItems = [ { @@ -511,7 +522,24 @@ const WalletTable = ({ data, filters, walletData }) => { })} -

Socials

+ +

{wallet.name} links

+ + + + + {wallet.twitter && ( + + + + )} + {wallet.discord && ( + + + + )} + +
)} diff --git a/src/data/find-wallet/wallet-data.ts b/src/data/find-wallet/wallet-data.ts index 9ee59fe43d4..ebd9e4e290c 100644 --- a/src/data/find-wallet/wallet-data.ts +++ b/src/data/find-wallet/wallet-data.ts @@ -6,6 +6,8 @@ const walletData = [ repo_url: "https://metamask.io", documentation: "https://metamask.io", onboard_documentation: "https://metamask.io", + discord: "", + twitter: "https://twitter.com/metamask/", security_audit: "", wallet_live_date: "", active_development_team: "", @@ -47,6 +49,8 @@ const walletData = [ repo_url: "https://www.argent.xyz", documentation: "https://www.argent.xyz", onboard_documentation: "https://www.argent.xyz", + discord: "https://discord.com/invite/GWSyrHg", + twitter: "https://twitter.com/argentHQ", security_audit: "", wallet_live_date: "", active_development_team: "", @@ -88,6 +92,8 @@ const walletData = [ repo_url: "https://rainbow.me", documentation: "https://rainbow.me", onboard_documentation: "https://rainbow.me", + discord: "", + twitter: "https://twitter.com/rainbowdotme", security_audit: "", wallet_live_date: "", active_development_team: "", @@ -129,6 +135,8 @@ const walletData = [ repo_url: "https://www.ledger.com", documentation: "https://www.ledger.com", onboard_documentation: "https://www.ledger.com", + discord: "", + twitter: "https://twitter.com/Ledger", security_audit: "", wallet_live_date: "", active_development_team: "", @@ -170,6 +178,8 @@ const walletData = [ repo_url: "https://trezor.io", documentation: "https://trezor.io", onboard_documentation: "https://trezor.io", + discord: "", + twitter: "https://twitter.com/trezor", security_audit: "", wallet_live_date: "", active_development_team: "", From f01ec95b4f53493887ad88247a22aa9f79994280 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 12 Jun 2022 23:07:33 -0600 Subject: [PATCH 029/310] responsive to 1024px --- src/components/FindWallet/WalletPersonasSidebar.tsx | 3 +-- src/pages/wallets/find-wallet.tsx | 13 ++++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 8dada04d4b8..ff840fbd02b 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -56,8 +56,7 @@ const H3 = styled.h3` const Grid = styled.div` display: grid; - grid-template-columns: auto auto; - grid-column-gap: 3rem; + grid-template-columns: 50% 50%; ` const StyledIcon = styled(Icon)<{ selected: boolean }>` diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index dc9fd047a63..f768cdb8e0d 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -79,9 +79,13 @@ const FilterTabs = styled.div` position: sticky; top: 76px; padding-top: 8px; - height: 50px; + min-height: 50px; background: ${(props) => props.theme.colors.background}; z-index: 1; + + p { + margin: 0; + } ` const FilterTab = styled.div<{ @@ -92,8 +96,7 @@ const FilterTab = styled.div<{ background: ${(props) => props.active === true ? props.theme.colors.primary : "none"}; border-radius: 4px 4px 0px 0px; - display: inline-block; - line-height: 200%; + padding: 10px; vertical-align: middle; color: ${(props) => @@ -198,13 +201,13 @@ const FindWalletPage = ({ data, location }) => { active={!showFeatureFilters} onClick={() => setShowFeatureFilters(false)} > - PROFILE FILTERS +

PROFILE FILTERS

setShowFeatureFilters(true)} > - FEATURE FILTERS +

FEATURE FILTERS

From b4cdb9319cd864a379933da09cd44868a978f2b1 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 13 Jun 2022 00:48:36 -0600 Subject: [PATCH 030/310] wallet table mobile --- src/components/FindWallet/WalletTable.tsx | 143 ++++++++++++++-------- src/pages/wallets/find-wallet.tsx | 10 ++ 2 files changed, 101 insertions(+), 52 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index acb902306a6..ee64ec4601a 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -34,10 +34,26 @@ const Grid = styled.div` display: grid; grid-template-columns: 40% auto auto auto 5%; width: 100%; + + @media (max-width: ${(props) => props.theme.breakpoints.m}) { + grid-template-columns: 40% auto auto 0% 5%; + + div:nth-child(4) { + visibility: hidden; + } + } + + @media (max-width: ${(props) => props.theme.breakpoints.s}) { + grid-template-columns: 40% auto 0% 0% 5%; + + div:nth-child(3) { + visibility: hidden; + } + } ` const WalletContentHeader = styled(Grid)` - height: 50px; + min-height: 50px; border-bottom: 1px solid ${(props) => props.theme.colors.primary}; position: sticky; top: 76px; @@ -163,10 +179,23 @@ const WalletMoreInfoArrow = styled(Icon)` fill: ${(props) => props.theme.colors.primary}; ` +const WalletMoreInfoContainer = styled.div` + display: grid; + grid-template-columns: 65px auto; + width: 100%; +` + const WalletMoreInfo = styled.div` display: grid; - grid-template-columns: 65px auto auto auto auto; + grid-template-columns: auto auto auto; width: 100%; + + @media (max-width: ${(props) => props.theme.breakpoints.m}) { + grid-template-columns: auto auto; + } + @media (max-width: ${(props) => props.theme.breakpoints.s}) { + grid-template-columns: auto; + } ` const ColoredLine = styled.div<{ color: string }>` @@ -469,59 +498,69 @@ const WalletTable = ({ data, filters, walletData }) => { {wallet.moreInfo && (
- +
-
-

Features

- {featureDropdownItems.map((feature) => { - if (feature.category === "feature") - return ( - - {feature.icon} -

{feature.label}

-
- ) - })} -
-
-

Security

- {featureDropdownItems.map((feature) => { - if (feature.category === "security") - return ( - - {feature.icon} -

{feature.label}

-
- ) - })} -
-
-

Trade & buy

- {featureDropdownItems.map((feature) => { - if (feature.category === "trade_and_buy") - return ( - - {feature.icon} -

{feature.label}

-
- ) - })} -
-
-

Smart contract

- {featureDropdownItems.map((feature) => { - if (feature.category === "smart_contract") - return ( - - {feature.icon} -

{feature.label}

-
- ) - })} -
-
+ +
+

Features

+ {featureDropdownItems.map((feature) => { + if (feature.category === "feature") + return ( + + {feature.icon} +

{feature.label}

+
+ ) + })} +
+
+

Security

+ {featureDropdownItems.map((feature) => { + if (feature.category === "security") + return ( + + {feature.icon} +

{feature.label}

+
+ ) + })} +
+
+

Trade & buy

+ {featureDropdownItems.map((feature) => { + if (feature.category === "trade_and_buy") + return ( + + {feature.icon} +

{feature.label}

+
+ ) + })} +
+
+

Smart contract

+ {featureDropdownItems.map((feature) => { + if (feature.category === "smart_contract") + return ( + + {feature.icon} +

{feature.label}

+
+ ) + })} +
+
+

{wallet.name} links

diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index f768cdb8e0d..219aad059ac 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -70,6 +70,12 @@ const FilterSidebar = styled.div` display: flex; flex-direction: column; gap: 24px; + + @media (max-width: ${(props) => props.theme.breakpoints.l}) { + width: 0; + height: 0; + display: none; + } ` const FilterTabs = styled.div` @@ -112,6 +118,10 @@ const FilterTab = styled.div<{ const WalletContent = styled.div` width: 75%; + + @media (max-width: ${(props) => props.theme.breakpoints.l}) { + width: 100%; + } ` const Note = styled.div` From 2ddfcd625a875da3c45104f7c94304f1bbd06702 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 13 Jun 2022 01:10:28 -0600 Subject: [PATCH 031/310] styling bug --- src/components/FindWallet/WalletTable.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index ee64ec4601a..de6b5133090 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -187,7 +187,7 @@ const WalletMoreInfoContainer = styled.div` const WalletMoreInfo = styled.div` display: grid; - grid-template-columns: auto auto auto; + grid-template-columns: auto auto auto auto; width: 100%; @media (max-width: ${(props) => props.theme.breakpoints.m}) { From 42fb40cc08ac1ef1b10772a7a0ff455c080d20fc Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 13 Jun 2022 12:34:01 -0600 Subject: [PATCH 032/310] make more of wallet row clickable for more info --- src/components/FindWallet/WalletTable.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index de6b5133090..60dfab2a64f 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -157,6 +157,7 @@ const FlexInfo = styled.div` const FlexInfoCenter = styled(FlexInfo)` justify-content: center; + cursor: pointer; ` const Image = styled(GatsbyImage)` @@ -467,19 +468,19 @@ const WalletTable = ({ data, filters, walletData }) => { Check out {wallet.name}
- + updateMoreInfo(idx)}> - + updateMoreInfo(idx)}> - + updateMoreInfo(idx)}> Date: Mon, 13 Jun 2022 14:11:23 -0600 Subject: [PATCH 033/310] device toggle --- .../FindWallet/WalletFilterSidebar.tsx | 55 +++++++++++++++++-- src/pages/wallets/find-wallet.tsx | 10 +++- 2 files changed, 60 insertions(+), 5 deletions(-) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 7b6bafc2f8c..83c058834af 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -120,7 +120,11 @@ const ToggleIcon = styled(Icon)` // Types -const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { +const WalletFilterSidebar = ({ + filters, + updateFilterOption, + updateFilterOptions, +}) => { const [filterOptions, setFilterOptions] = useState([ { title: "Device", @@ -131,6 +135,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { icon: , description: "Phone or mobile based wallets.", filterKey: undefined, + showOptions: false, options: [ { name: "Android", @@ -149,6 +154,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { icon: , description: "Desktop based wallets.", filterKey: undefined, + showOptions: false, options: [ { name: "Linux", @@ -172,6 +178,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { icon: , description: "Browser extension wallets.", filterKey: undefined, + showOptions: false, options: [ { name: "Firefox", @@ -190,6 +197,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { icon: , description: "Hardware baesd wallets.", filterKey: "hardware", + showOptions: undefined, options: [], }, ], @@ -204,6 +212,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { description: "Wallet code for the wallet is open sourced for users to inspect and edit.", filterKey: "open_source", + showOptions: undefined, options: [], }, { @@ -211,6 +220,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { icon: , description: "Who has control over the keys for your wallet.", filterKey: "non_custodial", + showOptions: undefined, options: [], }, ], @@ -225,6 +235,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { description: "You can connect a hardware wallet and sign transactions with it.", filterKey: "hardware_support", + showOptions: undefined, options: [], }, { @@ -233,6 +244,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { description: "You can connect to applications that support WalletConnect.", filterKey: "walletconnect", + showOptions: undefined, options: [], }, { @@ -241,6 +253,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { description: "You can import RPC endpoint data to connect to different nodes/networks.", filterKey: "rpc_importing", + showOptions: undefined, options: [], }, { @@ -249,6 +262,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { description: "You can view and interact with your NFTs in the wallet.", filterKey: "nft_support", + showOptions: undefined, options: [], }, { @@ -257,6 +271,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { description: "You can connect to applications build on the Ethereum network.", filterKey: "connect_to_dapps", + showOptions: undefined, options: [], }, { @@ -265,6 +280,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { description: "You can use a simple interface to stake directly in the wallet.", filterKey: "staking", + showOptions: undefined, options: [], }, { @@ -272,6 +288,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { icon: , description: "You can use layer 2 networks in the wallet.", filterKey: "layer_2", + showOptions: undefined, options: [], }, { @@ -280,6 +297,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { description: "The user is able to customize their gas inputs (base free, priority fee, max fee).", filterKey: "gas_fee_customization", + showOptions: undefined, options: [], }, { @@ -288,6 +306,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { description: "The wallet supports sending transactions to ENS addresses.", filterKey: "ens_support", + showOptions: undefined, options: [], }, { @@ -296,6 +315,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { description: "Can import ERC-20 token contract addresses into the wallet.", filterKey: "erc_20_support", + showOptions: undefined, options: [], }, ], @@ -310,6 +330,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { description: "User is able to buy crypto with fiat directly in the wallet.", filterKey: "buy_crypto", + showOptions: undefined, options: [], }, { @@ -318,6 +339,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { description: "User is able to withdraw to fiat directly in the wallet.", filterKey: "withdraw_crypto", + showOptions: undefined, options: [], }, ], @@ -332,6 +354,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { description: "Wallets that require two or more signatures from private keys for a transaction.", filterKey: "multisig", + showOptions: undefined, options: [], }, { @@ -340,6 +363,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { description: "Wallets that allow guardians to change the signing key for smart contract wallets.", filterKey: "social_recovery", + showOptions: undefined, options: [], }, ], @@ -352,6 +376,18 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { setFilterOptions(updatedFilterOptions) } + const setShowOptions = (idx, itemidx, value) => { + const updatedFilterOptions = [...filterOptions] + updatedFilterOptions[idx].items[itemidx].showOptions = + !updatedFilterOptions[idx].items[itemidx].showOptions + setFilterOptions(updatedFilterOptions) + + const keys = updatedFilterOptions[idx].items[itemidx].options.map( + (item) => item.filterKey + ) + updateFilterOptions(keys, value) + } + return ( {filterOptions.map((filterOption, idx) => { @@ -369,7 +405,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { /> {filterOption.open && - filterOption.items.map((item) => { + filterOption.items.map((item, itemidx) => { return ( @@ -377,7 +413,6 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => {

{item.title}

{item.filterKey && ( - // TODO: Make actual toggle component
{ updateFilterOption(item.filterKey) @@ -393,6 +428,18 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { />
)} + {item.showOptions !== undefined && ( +
{ + setShowOptions(idx, itemidx, !item.showOptions) + }} + > + +
+ )}
@@ -400,7 +447,7 @@ const WalletFilterSidebar = ({ data, filters, updateFilterOption }) => { {item.description}
- {item.options.length > 0 && ( + {item.options.length > 0 && item.showOptions && ( {item.options.map((option) => { return ( diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 219aad059ac..d7e97352662 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -173,6 +173,14 @@ const FindWalletPage = ({ data, location }) => { setFilters(updatedFilters) } + const updateFilterOptions = (keys, value) => { + const updatedFilters = { ...filters } + for (let key of keys) { + updatedFilters[key] = value + } + setFilters(updatedFilters) + } + return ( {
{showFeatureFilters ? ( ) : ( From 4ade36e4d13861f0498c435c0cc9fc3389121b6d Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 13 Jun 2022 17:10:19 -0600 Subject: [PATCH 034/310] functionality for sidebar --- src/pages/wallets/find-wallet.tsx | 49 ++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index d7e97352662..293e6e470eb 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -65,16 +65,28 @@ const TableContent = styled(Content)` gap: 24px; ` -const FilterSidebar = styled.div` +const MobileFilterToggle = styled.div` + display: none; + @media (max-width: ${(props) => props.theme.breakpoints.l}) { + display: block; + } +` + +const FilterSidebar = styled.div<{ showMobileSidebar: boolean }>` width: 25%; display: flex; flex-direction: column; gap: 24px; @media (max-width: ${(props) => props.theme.breakpoints.l}) { - width: 0; - height: 0; - display: none; + width: ${(props) => (props.showMobileSidebar ? "350px" : "0")}; + height: ${(props) => (props.showMobileSidebar ? "100%" : "0")}; + display: ${(props) => (props.showMobileSidebar ? "flex" : "none")}; + } + @media (max-width: ${(props) => props.theme.breakpoints.s}) { + width: ${(props) => (props.showMobileSidebar ? "375px" : "0")}; + height: ${(props) => (props.showMobileSidebar ? "100%" : "0")}; + display: ${(props) => (props.showMobileSidebar ? "flex" : "none")}; } ` @@ -116,12 +128,17 @@ const FilterTab = styled.div<{ } ` -const WalletContent = styled.div` +const WalletContent = styled.div<{ showMobileSidebar: boolean }>` width: 75%; @media (max-width: ${(props) => props.theme.breakpoints.l}) { width: 100%; } + + @media (max-width: ${(props) => props.theme.breakpoints.s}) { + width: 100%; + display: ${(props) => (props.showMobileSidebar ? "none" : "")}; + } ` const Note = styled.div` @@ -139,6 +156,7 @@ const FindWalletPage = ({ data, location }) => { const intl = useIntl() const [showFeatureFilters, setShowFeatureFilters] = useState(false) + const [showMobileSidebar, setShowMobileSidebar] = useState(false) const [filters, setFilters] = useState({ android: false, ios: false, @@ -211,9 +229,24 @@ const FindWalletPage = ({ data, location }) => { objectFit="contain" /> - + { + setShowMobileSidebar(!showMobileSidebar) + }} + > +

Filters

+

+ {Object.values(filters).reduce((acc, filter) => { + if (filter) { + acc += 1 + } + return acc + }, 0)}{" "} + active +

+
- + { )}
- + From 21e14d63a6b3bb7cc9c5bac9fa580e7e9d0f6541 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 13 Jun 2022 23:57:57 -0600 Subject: [PATCH 035/310] styling filter mobile button --- src/assets/wallets/filter_burger.svg | 6 ++++ src/pages/wallets/find-wallet.tsx | 52 ++++++++++++++++++++++------ 2 files changed, 47 insertions(+), 11 deletions(-) create mode 100644 src/assets/wallets/filter_burger.svg diff --git a/src/assets/wallets/filter_burger.svg b/src/assets/wallets/filter_burger.svg new file mode 100644 index 00000000000..c512c27bcab --- /dev/null +++ b/src/assets/wallets/filter_burger.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 293e6e470eb..8e6dfb5a182 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -18,6 +18,9 @@ import WalletTable from "../../components/FindWallet/WalletTable" // Data import walletData from "../../data/find-wallet/wallet-data" +// Icons +import FilterBurger from "../../assets/wallets/filter_burger.svg" + // Utils import { translateMessageId } from "../../utils/translations" @@ -68,10 +71,34 @@ const TableContent = styled(Content)` const MobileFilterToggle = styled.div` display: none; @media (max-width: ${(props) => props.theme.breakpoints.l}) { - display: block; + display: flex; + gap: 1rem; + justify-content: center; + align-items: center; + background: #141414; + border: 1px solid #404040; + border-radius: 0px 4px 4px 0px; + padding: 6px 20px 10px 20px; + margin: auto; + margin-left: 0; + } + + p { + margin: 0; + } + + svg { + width: 24px; + height: 24px; } ` +const SecondaryText = styled.p` + font-size: 14px; + line-height: 14px; + color: ${(props) => props.theme.colors.text200}; +` + const FilterSidebar = styled.div<{ showMobileSidebar: boolean }>` width: 25%; display: flex; @@ -234,16 +261,19 @@ const FindWalletPage = ({ data, location }) => { setShowMobileSidebar(!showMobileSidebar) }} > -

Filters

-

- {Object.values(filters).reduce((acc, filter) => { - if (filter) { - acc += 1 - } - return acc - }, 0)}{" "} - active -

+
+

FILTERS

+ + {Object.values(filters).reduce((acc, filter) => { + if (filter) { + acc += 1 + } + return acc + }, 0)}{" "} + active + +
+ From 376281c54e4c2172d6b29365fa45af8f011412a9 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Tue, 14 Jun 2022 12:02:54 +0100 Subject: [PATCH 036/310] new exported icons --- src/assets/wallets/browser.svg | 9 +++---- src/assets/wallets/buy_crypto.svg | 10 +++---- src/assets/wallets/desktop.svg | 9 +++---- src/assets/wallets/ens_support.svg | 16 +++-------- src/assets/wallets/erc_20_support.svg | 9 +++---- src/assets/wallets/gas_fee_customization.svg | 14 ++++------ src/assets/wallets/hardware.svg | 12 +++------ src/assets/wallets/hardware_support.svg | 17 ++++-------- src/assets/wallets/layer_2.svg | 14 ++++------ src/assets/wallets/mobile.svg | 11 +++----- src/assets/wallets/nft_support.svg | 9 ++----- src/assets/wallets/non_custodial.svg | 12 ++++----- src/assets/wallets/open_source.svg | 4 +-- src/assets/wallets/rpc_importing.svg | 12 +++------ src/assets/wallets/staking.svg | 28 +++++--------------- 15 files changed, 60 insertions(+), 126 deletions(-) diff --git a/src/assets/wallets/browser.svg b/src/assets/wallets/browser.svg index 644e7173a3d..ad1af681983 100644 --- a/src/assets/wallets/browser.svg +++ b/src/assets/wallets/browser.svg @@ -1,7 +1,4 @@ - - - - - - + + + diff --git a/src/assets/wallets/buy_crypto.svg b/src/assets/wallets/buy_crypto.svg index 6b3bc5888ce..6533fb212a5 100644 --- a/src/assets/wallets/buy_crypto.svg +++ b/src/assets/wallets/buy_crypto.svg @@ -1,7 +1,5 @@ - - - - - - + + + + diff --git a/src/assets/wallets/desktop.svg b/src/assets/wallets/desktop.svg index 5175a0cca8f..895de1bf7f8 100644 --- a/src/assets/wallets/desktop.svg +++ b/src/assets/wallets/desktop.svg @@ -1,7 +1,4 @@ - - - - - - + + + diff --git a/src/assets/wallets/ens_support.svg b/src/assets/wallets/ens_support.svg index 95cfed2a9a9..4a4324fe30c 100644 --- a/src/assets/wallets/ens_support.svg +++ b/src/assets/wallets/ens_support.svg @@ -1,14 +1,4 @@ - - - - - - - - - - - - - + + + diff --git a/src/assets/wallets/erc_20_support.svg b/src/assets/wallets/erc_20_support.svg index 30868b7b17f..b88639b91de 100644 --- a/src/assets/wallets/erc_20_support.svg +++ b/src/assets/wallets/erc_20_support.svg @@ -1,6 +1,5 @@ - - - - - + + + + diff --git a/src/assets/wallets/gas_fee_customization.svg b/src/assets/wallets/gas_fee_customization.svg index b441d5ca4b9..71ec374baeb 100644 --- a/src/assets/wallets/gas_fee_customization.svg +++ b/src/assets/wallets/gas_fee_customization.svg @@ -1,10 +1,6 @@ - - - - - - - - - + + + + + diff --git a/src/assets/wallets/hardware.svg b/src/assets/wallets/hardware.svg index c8dc1b30490..7d892923142 100644 --- a/src/assets/wallets/hardware.svg +++ b/src/assets/wallets/hardware.svg @@ -1,10 +1,4 @@ - - - - - - - - - + + + diff --git a/src/assets/wallets/hardware_support.svg b/src/assets/wallets/hardware_support.svg index 3b071d004f4..42531d80b70 100644 --- a/src/assets/wallets/hardware_support.svg +++ b/src/assets/wallets/hardware_support.svg @@ -1,13 +1,6 @@ - - - - - - - - - - - - + + + + + diff --git a/src/assets/wallets/layer_2.svg b/src/assets/wallets/layer_2.svg index 67f13d34ab0..f1182d772c5 100644 --- a/src/assets/wallets/layer_2.svg +++ b/src/assets/wallets/layer_2.svg @@ -1,10 +1,6 @@ - - - - - - - - - + + + + + diff --git a/src/assets/wallets/mobile.svg b/src/assets/wallets/mobile.svg index 0119436ed86..8613e708fd7 100644 --- a/src/assets/wallets/mobile.svg +++ b/src/assets/wallets/mobile.svg @@ -1,8 +1,5 @@ - - - - - - - + + + + diff --git a/src/assets/wallets/nft_support.svg b/src/assets/wallets/nft_support.svg index 8ef82958a08..06dc17887b7 100644 --- a/src/assets/wallets/nft_support.svg +++ b/src/assets/wallets/nft_support.svg @@ -1,8 +1,3 @@ - - - - - - - + + diff --git a/src/assets/wallets/non_custodial.svg b/src/assets/wallets/non_custodial.svg index 8c5045c8071..e4b639455e6 100644 --- a/src/assets/wallets/non_custodial.svg +++ b/src/assets/wallets/non_custodial.svg @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/src/assets/wallets/open_source.svg b/src/assets/wallets/open_source.svg index b1b2e7d58b6..91f3ad6962f 100644 --- a/src/assets/wallets/open_source.svg +++ b/src/assets/wallets/open_source.svg @@ -1,3 +1,3 @@ - - + + diff --git a/src/assets/wallets/rpc_importing.svg b/src/assets/wallets/rpc_importing.svg index a461ca6ecab..9011351e77e 100644 --- a/src/assets/wallets/rpc_importing.svg +++ b/src/assets/wallets/rpc_importing.svg @@ -1,9 +1,5 @@ - - - - - - - - + + + + diff --git a/src/assets/wallets/staking.svg b/src/assets/wallets/staking.svg index f78b30ade71..3d3e85e3d0e 100644 --- a/src/assets/wallets/staking.svg +++ b/src/assets/wallets/staking.svg @@ -1,22 +1,8 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + From 711233efeca43a66d10975a1ecc910150200442b Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Tue, 14 Jun 2022 14:37:23 +0100 Subject: [PATCH 037/310] Hardware icon update --- src/assets/wallets/hardware.svg | 1 - 1 file changed, 1 deletion(-) diff --git a/src/assets/wallets/hardware.svg b/src/assets/wallets/hardware.svg index 7d892923142..921b5287d09 100644 --- a/src/assets/wallets/hardware.svg +++ b/src/assets/wallets/hardware.svg @@ -1,4 +1,3 @@ - From 459792afd733d481a1671c31dca7ffbcdff73313 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Tue, 14 Jun 2022 14:44:29 +0100 Subject: [PATCH 038/310] side bar filters css details --- src/components/FindWallet/WalletFilterSidebar.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 83c058834af..9d607fae665 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -68,21 +68,22 @@ const FilterOption = styled.div` const OptionGrid = styled.div` display: grid; - grid-template-columns: 24px auto 34px; + grid-template-columns: 28px auto 34px; width: 100%; align-items: center; p { margin: 0; line-height: 20px; - padding: 0 12px; + padding: 0 10px; } ` const IconContainer = styled.div` svg { - width: 24px; - height: 24px; + width: 28px; + height: 28px; + margin-top: 8px; path { fill: white; From 10fe18970543f03c3b57e134ce9ec7637b30de45 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Tue, 14 Jun 2022 14:51:58 +0100 Subject: [PATCH 039/310] personas tab css details --- src/components/FindWallet/WalletPersonasSidebar.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index ff840fbd02b..b02766f5814 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -57,6 +57,7 @@ const H3 = styled.h3` const Grid = styled.div` display: grid; grid-template-columns: 50% 50%; + width: 100%; ` const StyledIcon = styled(Icon)<{ selected: boolean }>` @@ -68,10 +69,11 @@ const StyledIcon = styled(Icon)<{ selected: boolean }>` const PersonaFeature = styled.div` display: flex; - gap: 0.5rem; + gap: 0.25rem; + font-size: 0.9rem; svg { - width: 24px; - height: 24px; + width: 28px; + height: 28px; path { fill: ${(props) => props.theme.colors.text}; stroke: ${(props) => props.theme.colors.text}; From 343d31157d038e1f3dd3f2e0d0eba4d25e38e4a4 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 14 Jun 2022 15:12:48 -0600 Subject: [PATCH 040/310] wallet survey --- src/components/FeedbackWidget.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/components/FeedbackWidget.tsx b/src/components/FeedbackWidget.tsx index 678a28811f6..c00ea431bdd 100644 --- a/src/components/FeedbackWidget.tsx +++ b/src/components/FeedbackWidget.tsx @@ -176,6 +176,10 @@ const FeedbackWidget: React.FC = ({ className }) => { [YES]: `https://gzmn3wgk.paperform.co/?url=${location}`, [NO]: `https://zlj83p6l.paperform.co/?url=${location}`, }, + "find-wallet": { + [YES]: "https://wsf1ubwu.paperform.co", + [NO]: "https://wsf1ubwu.paperform.co,", + }, } let url = surveyUrls.__default[isHelpful ? YES : NO] Object.keys(surveyUrls).forEach((key) => { From 1ed7b179d88f367d9ad05afbe0b2db64997a7ef9 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Wed, 15 Jun 2022 14:05:02 +0100 Subject: [PATCH 041/310] WalletConnect icon --- src/assets/wallets/walletconnect.svg | 3 +++ src/components/FindWallet/WalletFilterSidebar.tsx | 4 +++- src/components/FindWallet/WalletPersonasSidebar.tsx | 4 +++- src/components/FindWallet/WalletTable.tsx | 3 ++- 4 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 src/assets/wallets/walletconnect.svg diff --git a/src/assets/wallets/walletconnect.svg b/src/assets/wallets/walletconnect.svg new file mode 100644 index 00000000000..564797e2dcf --- /dev/null +++ b/src/assets/wallets/walletconnect.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 9d607fae665..68e7ebf0f98 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -23,6 +23,8 @@ import NonCustodial from "../../assets/wallets/non_custodial.svg" import OpenSource from "../../assets/wallets/open_source.svg" import RPCImporting from "../../assets/wallets/rpc_importing.svg" import Staking from "../../assets/wallets/staking.svg" +import WalletConnect from "../../assets/wallets/walletconnect.svg" + // Styles const Container = styled.div` @@ -241,7 +243,7 @@ const WalletFilterSidebar = ({ }, { title: "WalletConnect", - icon: <>, + icon: , description: "You can connect to applications that support WalletConnect.", filterKey: "walletconnect", diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index b02766f5814..ced751e8a40 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -18,6 +18,8 @@ import NonCustodial from "../../assets/wallets/non_custodial.svg" import OpenSource from "../../assets/wallets/open_source.svg" import RPCImporting from "../../assets/wallets/rpc_importing.svg" import Staking from "../../assets/wallets/staking.svg" +import WalletConnect from "../../assets/wallets/walletconnect.svg" + // Styles const Container = styled.div` @@ -134,7 +136,7 @@ const filterLabels = { }, walletconnect: { label: "WalletConnect", - icon: <>, + icon: , }, rpc_importing: { label: "RPC importing", diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 60dfab2a64f..bd1aa6402d2 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -20,6 +20,7 @@ import NonCustodial from "../../assets/wallets/non_custodial.svg" import OpenSource from "../../assets/wallets/open_source.svg" import RPCImporting from "../../assets/wallets/rpc_importing.svg" import Staking from "../../assets/wallets/staking.svg" +import WalletConnect from "../../assets/wallets/walletconnect.svg" // Styles const Container = styled.div` @@ -276,7 +277,7 @@ const featureDropdownItems = [ value: "WalletConnect", filterKey: "walletconnect", category: "feature", - icon: <>, + icon: , }, { label: "RPC importing", From 5fc2c66fafefc5a371e62d11c0c869fe4e1bf040 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Wed, 15 Jun 2022 14:24:48 +0100 Subject: [PATCH 042/310] Connect Dapp icon --- src/assets/wallets/connect_dapps.svg | 3 +++ src/components/FindWallet/WalletFilterSidebar.tsx | 3 ++- src/components/FindWallet/WalletPersonasSidebar.tsx | 3 ++- src/components/FindWallet/WalletTable.tsx | 3 ++- 4 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 src/assets/wallets/connect_dapps.svg diff --git a/src/assets/wallets/connect_dapps.svg b/src/assets/wallets/connect_dapps.svg new file mode 100644 index 00000000000..a13aa3c55dc --- /dev/null +++ b/src/assets/wallets/connect_dapps.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 68e7ebf0f98..b16e6bbcf17 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -24,6 +24,7 @@ import OpenSource from "../../assets/wallets/open_source.svg" import RPCImporting from "../../assets/wallets/rpc_importing.svg" import Staking from "../../assets/wallets/staking.svg" import WalletConnect from "../../assets/wallets/walletconnect.svg" +import ConnectDapps from "../../assets/wallets/connect_dapps.svg" // Styles @@ -270,7 +271,7 @@ const WalletFilterSidebar = ({ }, { title: "Connect to decentralized apps", - icon: <>, + icon: , description: "You can connect to applications build on the Ethereum network.", filterKey: "connect_to_dapps", diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index ced751e8a40..12981cc3b4e 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -19,6 +19,7 @@ import OpenSource from "../../assets/wallets/open_source.svg" import RPCImporting from "../../assets/wallets/rpc_importing.svg" import Staking from "../../assets/wallets/staking.svg" import WalletConnect from "../../assets/wallets/walletconnect.svg" +import ConnectDapps from "../../assets/wallets/connect_dapps.svg" // Styles @@ -148,7 +149,7 @@ const filterLabels = { }, connect_to_dapps: { label: "Connect to apps", - icon: <>, + icon: , }, staking: { label: "Staking", diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index bd1aa6402d2..729e5c533aa 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -21,6 +21,7 @@ import OpenSource from "../../assets/wallets/open_source.svg" import RPCImporting from "../../assets/wallets/rpc_importing.svg" import Staking from "../../assets/wallets/staking.svg" import WalletConnect from "../../assets/wallets/walletconnect.svg" +import ConnectDapps from "../../assets/wallets/connect_dapps.svg" // Styles const Container = styled.div` @@ -298,7 +299,7 @@ const featureDropdownItems = [ value: "Connect to dapps", filterKey: "connect_to_dapps", category: "feature", - icon: <>, + icon: , }, { label: "Staking", From 629c99c3030f45bff326efe8a3f1a9673918cb1c Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Wed, 15 Jun 2022 14:45:19 +0100 Subject: [PATCH 043/310] WithdrawCrypto icon --- src/assets/wallets/withdraw_crypto.svg | 5 +++++ src/components/FindWallet/WalletFilterSidebar.tsx | 3 ++- src/components/FindWallet/WalletPersonasSidebar.tsx | 3 ++- src/components/FindWallet/WalletTable.tsx | 3 ++- 4 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 src/assets/wallets/withdraw_crypto.svg diff --git a/src/assets/wallets/withdraw_crypto.svg b/src/assets/wallets/withdraw_crypto.svg new file mode 100644 index 00000000000..3cd4a693a4f --- /dev/null +++ b/src/assets/wallets/withdraw_crypto.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index b16e6bbcf17..180b286826f 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -25,6 +25,7 @@ import RPCImporting from "../../assets/wallets/rpc_importing.svg" import Staking from "../../assets/wallets/staking.svg" import WalletConnect from "../../assets/wallets/walletconnect.svg" import ConnectDapps from "../../assets/wallets/connect_dapps.svg" +import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" // Styles @@ -339,7 +340,7 @@ const WalletFilterSidebar = ({ }, { title: "Withdraw crypto", - icon: <>, + icon: , description: "User is able to withdraw to fiat directly in the wallet.", filterKey: "withdraw_crypto", diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 12981cc3b4e..f147234f0e5 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -20,6 +20,7 @@ import RPCImporting from "../../assets/wallets/rpc_importing.svg" import Staking from "../../assets/wallets/staking.svg" import WalletConnect from "../../assets/wallets/walletconnect.svg" import ConnectDapps from "../../assets/wallets/connect_dapps.svg" +import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" // Styles @@ -177,7 +178,7 @@ const filterLabels = { }, withdraw_crypto: { label: "Withdraw crypto", - icon: <>, + icon: , }, multisig: { label: "Multisig", diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 729e5c533aa..ed7d84c5f44 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -22,6 +22,7 @@ import RPCImporting from "../../assets/wallets/rpc_importing.svg" import Staking from "../../assets/wallets/staking.svg" import WalletConnect from "../../assets/wallets/walletconnect.svg" import ConnectDapps from "../../assets/wallets/connect_dapps.svg" +import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" // Styles const Container = styled.div` @@ -355,7 +356,7 @@ const featureDropdownItems = [ value: "Withdraw crypto", filterKey: "withdraw_crypto", category: "trade_and_buy", - icon: <>, + icon: , }, { label: "Multisig", From e64536fc7d95f33ed163b109aef5d17490539b8c Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Wed, 15 Jun 2022 17:15:05 +0100 Subject: [PATCH 044/310] new hero image --- src/assets/wallets/find-wallet-hero.png | Bin 34026 -> 113407 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/assets/wallets/find-wallet-hero.png b/src/assets/wallets/find-wallet-hero.png index 129f15d4aa7d3c7eec761b8d2a3ea9c8952e7c09..d6659f20c8649e7cc25c79e218224842c3634f73 100644 GIT binary patch literal 113407 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�?qh8cT*Nx%v_YB#F?KRI(YD~1quZdN}ULY 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

aF;-DY81d#eW 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 Date: Wed, 15 Jun 2022 18:18:01 +0100 Subject: [PATCH 045/310] Multisig icon added and twiq the Withdraw icon --- src/assets/wallets/multisig.svg | 6 ++++++ src/assets/wallets/withdraw_crypto.svg | 6 +++--- src/components/FindWallet/WalletFilterSidebar.tsx | 3 ++- src/components/FindWallet/WalletPersonasSidebar.tsx | 3 ++- src/components/FindWallet/WalletTable.tsx | 3 ++- 5 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 src/assets/wallets/multisig.svg diff --git a/src/assets/wallets/multisig.svg b/src/assets/wallets/multisig.svg new file mode 100644 index 00000000000..337f41de1fa --- /dev/null +++ b/src/assets/wallets/multisig.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/wallets/withdraw_crypto.svg b/src/assets/wallets/withdraw_crypto.svg index 3cd4a693a4f..a5686ec80f8 100644 --- a/src/assets/wallets/withdraw_crypto.svg +++ b/src/assets/wallets/withdraw_crypto.svg @@ -1,5 +1,5 @@ - - - + + + diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 180b286826f..02164b33893 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -26,6 +26,7 @@ import Staking from "../../assets/wallets/staking.svg" import WalletConnect from "../../assets/wallets/walletconnect.svg" import ConnectDapps from "../../assets/wallets/connect_dapps.svg" import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" +import Multisig from "../../assets/wallets/multisig.svg" // Styles @@ -355,7 +356,7 @@ const WalletFilterSidebar = ({ items: [ { title: "Multisig", - icon: <>, + icon: , description: "Wallets that require two or more signatures from private keys for a transaction.", filterKey: "multisig", diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index f147234f0e5..b352a52b7dc 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -21,6 +21,7 @@ import Staking from "../../assets/wallets/staking.svg" import WalletConnect from "../../assets/wallets/walletconnect.svg" import ConnectDapps from "../../assets/wallets/connect_dapps.svg" import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" +import Multisig from "../../assets/wallets/multisig.svg" // Styles @@ -182,7 +183,7 @@ const filterLabels = { }, multisig: { label: "Multisig", - icon: <>, + icon: , }, social_recovery: { label: "Social recovery", diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index ed7d84c5f44..a62f14916ec 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -23,6 +23,7 @@ import Staking from "../../assets/wallets/staking.svg" import WalletConnect from "../../assets/wallets/walletconnect.svg" import ConnectDapps from "../../assets/wallets/connect_dapps.svg" import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" +import Multisig from "../../assets/wallets/multisig.svg" // Styles const Container = styled.div` @@ -363,7 +364,7 @@ const featureDropdownItems = [ value: "Multisig", filterKey: "multisig", category: "smart_contract", - icon: <>, + icon: , }, { label: "Social recovery", From d77c5f3bfc7050343d0fce306e15204d7f6f82a6 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Wed, 15 Jun 2022 19:34:30 +0100 Subject: [PATCH 046/310] social recovery icon and icons adjustmens --- src/assets/wallets/connect_dapps.svg | 2 +- src/assets/wallets/erc_20_support.svg | 5 ++--- src/assets/wallets/hardware_support.svg | 7 +++---- src/assets/wallets/nft_support.svg | 2 +- src/assets/wallets/non_custodial.svg | 8 ++++---- src/assets/wallets/rpc_importing.svg | 5 ++--- src/assets/wallets/social_recover.svg | 5 +++++ src/components/FindWallet/WalletFilterSidebar.tsx | 3 ++- src/components/FindWallet/WalletPersonasSidebar.tsx | 3 ++- src/components/FindWallet/WalletTable.tsx | 3 ++- 10 files changed, 24 insertions(+), 19 deletions(-) create mode 100644 src/assets/wallets/social_recover.svg diff --git a/src/assets/wallets/connect_dapps.svg b/src/assets/wallets/connect_dapps.svg index a13aa3c55dc..8bf0d7fab22 100644 --- a/src/assets/wallets/connect_dapps.svg +++ b/src/assets/wallets/connect_dapps.svg @@ -1,3 +1,3 @@ - + diff --git a/src/assets/wallets/erc_20_support.svg b/src/assets/wallets/erc_20_support.svg index b88639b91de..faf446607dc 100644 --- a/src/assets/wallets/erc_20_support.svg +++ b/src/assets/wallets/erc_20_support.svg @@ -1,5 +1,4 @@ - - - + + diff --git a/src/assets/wallets/hardware_support.svg b/src/assets/wallets/hardware_support.svg index 42531d80b70..a2d4ef3c8b5 100644 --- a/src/assets/wallets/hardware_support.svg +++ b/src/assets/wallets/hardware_support.svg @@ -1,6 +1,5 @@ - - - - + + + diff --git a/src/assets/wallets/nft_support.svg b/src/assets/wallets/nft_support.svg index 06dc17887b7..706c487f6ec 100644 --- a/src/assets/wallets/nft_support.svg +++ b/src/assets/wallets/nft_support.svg @@ -1,3 +1,3 @@ - + diff --git a/src/assets/wallets/non_custodial.svg b/src/assets/wallets/non_custodial.svg index e4b639455e6..f545ed6b4d0 100644 --- a/src/assets/wallets/non_custodial.svg +++ b/src/assets/wallets/non_custodial.svg @@ -1,7 +1,7 @@ - - - + + + - + diff --git a/src/assets/wallets/rpc_importing.svg b/src/assets/wallets/rpc_importing.svg index 9011351e77e..89d2be3b0a0 100644 --- a/src/assets/wallets/rpc_importing.svg +++ b/src/assets/wallets/rpc_importing.svg @@ -1,5 +1,4 @@ - - - + + diff --git a/src/assets/wallets/social_recover.svg b/src/assets/wallets/social_recover.svg new file mode 100644 index 00000000000..09f27fd85f3 --- /dev/null +++ b/src/assets/wallets/social_recover.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 02164b33893..d0681d00021 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -27,6 +27,7 @@ import WalletConnect from "../../assets/wallets/walletconnect.svg" import ConnectDapps from "../../assets/wallets/connect_dapps.svg" import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" import Multisig from "../../assets/wallets/multisig.svg" +import SocialRecover from "../../assets/wallets/social_recover.svg" // Styles @@ -365,7 +366,7 @@ const WalletFilterSidebar = ({ }, { title: "Social recovery", - icon: <>, + icon: , description: "Wallets that allow guardians to change the signing key for smart contract wallets.", filterKey: "social_recovery", diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index b352a52b7dc..299b439a469 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -22,6 +22,7 @@ import WalletConnect from "../../assets/wallets/walletconnect.svg" import ConnectDapps from "../../assets/wallets/connect_dapps.svg" import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" import Multisig from "../../assets/wallets/multisig.svg" +import SocialRecover from "../../assets/wallets/social_recover.svg" // Styles @@ -187,7 +188,7 @@ const filterLabels = { }, social_recovery: { label: "Social recovery", - icon: <>, + icon: , }, erc_20_support: { label: "Token support", diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index a62f14916ec..186820b9bbd 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -24,6 +24,7 @@ import WalletConnect from "../../assets/wallets/walletconnect.svg" import ConnectDapps from "../../assets/wallets/connect_dapps.svg" import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" import Multisig from "../../assets/wallets/multisig.svg" +import SocialRecover from "../../assets/wallets/social_recover.svg" // Styles const Container = styled.div` @@ -371,7 +372,7 @@ const featureDropdownItems = [ value: "Social recovery", filterKey: "social_recovery", category: "smart_contract", - icon: <>, + icon: , }, ] From 7171747540ca916bc8dc0535d638441aabb792dd Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 15 Jun 2022 19:08:13 -0600 Subject: [PATCH 047/310] fix z-index issue for wallet icons, and add svg to dropdown options --- src/components/FindWallet/WalletTable.tsx | 44 +++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 186820b9bbd..84a6e3d86e3 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -2,6 +2,8 @@ import React, { useState } from "react" import { getImage, GatsbyImage } from "gatsby-plugin-image" import styled from "styled-components" +import { components } from "react-select" +const { Option } = components // Components import Icon from "../Icon" @@ -64,6 +66,7 @@ const WalletContentHeader = styled(Grid)` top: 76px; padding-top: 8px; background: ${(props) => props.theme.colors.background}; + z-index: 1; span { color: ${(props) => props.theme.colors.primary}; @@ -138,6 +141,35 @@ const StyledSelect = styled(Select)` } } + .react-select__menu { + .react-select__menu-list { + .react-select__option { + display: flex; + gap: 0.5rem; + svg { + width: 24px; + height: 24px; + + path { + fill: ${(props) => props.theme.colors.text}; + stroke: ${(props) => props.theme.colors.text}; + } + } + } + .react-select__option--is-selected { + svg { + width: 24px; + height: 24px; + + path { + fill: ${(props) => props.theme.colors.buttonColor}; + stroke: ${(props) => props.theme.colors.buttonColor}; + } + } + } + } + } + @media (max-width: ${(props) => props.theme.breakpoints.s}) { .react-select__control { padding: 14px 0; @@ -410,6 +442,15 @@ const WalletTable = ({ data, filters, walletData }) => { return showWallet }) + const IconOption = (props) => { + return ( + + ) + } + return ( @@ -425,6 +466,7 @@ const WalletTable = ({ data, filters, walletData }) => { setFirstFeatureSelect(selectedOption) }} defaultValue={firstFeatureSelect} + components={{ Option: IconOption }} /> { setSecondFeatureSelect(selectedOption) }} defaultValue={secondFeatureSelect} + components={{ Option: IconOption }} /> { setThirdFeatureSelect(selectedOption) }} defaultValue={thirdFeatureSelect} + components={{ Option: IconOption }} /> {filteredWallets.map((wallet, idx) => { From bb7f811b02f4da646c119b2ca13b7a013a9068ca Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 15 Jun 2022 19:31:01 -0600 Subject: [PATCH 048/310] add icon to feature filter dropdown --- src/components/FindWallet/WalletTable.tsx | 58 ++++++++++++++++++----- 1 file changed, 46 insertions(+), 12 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 84a6e3d86e3..99389407286 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -3,7 +3,7 @@ import React, { useState } from "react" import { getImage, GatsbyImage } from "gatsby-plugin-image" import styled from "styled-components" import { components } from "react-select" -const { Option } = components +const { Control, Option } = components // Components import Icon from "../Icon" @@ -81,6 +81,16 @@ const StyledSelect = styled(Select)` background: none; cursor: pointer; + svg { + width: 24px; + height: 24px; + + path { + fill: ${(props) => props.theme.colors.primary}; + stroke: ${(props) => props.theme.colors.primary}; + } + } + .react-select__value-container { .react-select__single-value { color: ${(props) => props.theme.colors.primary}; @@ -98,6 +108,16 @@ const StyledSelect = styled(Select)` &:hover { background: ${(props) => props.theme.colors.primary}; + + svg { + width: 24px; + height: 24px; + + path { + fill: ${(props) => props.theme.colors.text}; + stroke: ${(props) => props.theme.colors.text}; + } + } .react-select__value-container { .react-select__single-value { color: ${(props) => props.theme.colors.text}; @@ -119,6 +139,16 @@ const StyledSelect = styled(Select)` border: none; background: ${(props) => props.theme.colors.primary}; + svg { + width: 24px; + height: 24px; + + path { + fill: ${(props) => props.theme.colors.text}; + stroke: ${(props) => props.theme.colors.text}; + } + } + .react-select__value-container { .react-select__single-value { color: ${(props) => props.theme.colors.text}; @@ -442,14 +472,18 @@ const WalletTable = ({ data, filters, walletData }) => { return showWallet }) - const IconOption = (props) => { - return ( - - ) - } + const IconOption = (props) => ( + + ) + + const IconControl = ({ children, ...props }) => ( + + {props.selectProps.value.icon} {children} + + ) return ( @@ -466,7 +500,7 @@ const WalletTable = ({ data, filters, walletData }) => { setFirstFeatureSelect(selectedOption) }} defaultValue={firstFeatureSelect} - components={{ Option: IconOption }} + components={{ Option: IconOption, Control: IconControl }} /> { setSecondFeatureSelect(selectedOption) }} defaultValue={secondFeatureSelect} - components={{ Option: IconOption }} + components={{ Option: IconOption, Control: IconControl }} /> { setThirdFeatureSelect(selectedOption) }} defaultValue={thirdFeatureSelect} - components={{ Option: IconOption }} + components={{ Option: IconOption, Control: IconControl }} /> {filteredWallets.map((wallet, idx) => { From 6f28d4714e0485feee62f01fd877161651b65eac Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 16 Jun 2022 10:03:52 -0600 Subject: [PATCH 049/310] fix header on mobile --- src/components/FindWallet/WalletTable.tsx | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 99389407286..ec0de30df33 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -42,11 +42,17 @@ const Grid = styled.div` grid-template-columns: 40% auto auto auto 5%; width: 100%; + p { + margin: 0; + } + @media (max-width: ${(props) => props.theme.breakpoints.m}) { grid-template-columns: 40% auto auto 0% 5%; div:nth-child(4) { visibility: hidden; + width: 0; + height: 0; } } @@ -55,6 +61,8 @@ const Grid = styled.div` div:nth-child(3) { visibility: hidden; + width: 0; + height: 0; } } ` @@ -71,6 +79,11 @@ const WalletContentHeader = styled(Grid)` span { color: ${(props) => props.theme.colors.primary}; } + + @media (max-width: ${(props) => props.theme.breakpoints.s}) { + gap: 0.5rem; + align-items: center; + } ` // https://react-select.com/styles#using-classnames From 34f9ca3ea8a805ac7e9b4e56e99a2eee41a936e3 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 16 Jun 2022 15:21:13 -0600 Subject: [PATCH 050/310] fix mobile dropdowns --- src/components/FindWallet/WalletTable.tsx | 32 +++++++++++++---------- yarn.lock | 2 +- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index ec0de30df33..f2dcbce719e 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -48,22 +48,10 @@ const Grid = styled.div` @media (max-width: ${(props) => props.theme.breakpoints.m}) { grid-template-columns: 40% auto auto 0% 5%; - - div:nth-child(4) { - visibility: hidden; - width: 0; - height: 0; - } } @media (max-width: ${(props) => props.theme.breakpoints.s}) { grid-template-columns: 40% auto 0% 0% 5%; - - div:nth-child(3) { - visibility: hidden; - width: 0; - height: 0; - } } ` @@ -220,6 +208,22 @@ const StyledSelect = styled(Select)` } ` +const SecondStyledSelect = styled(StyledSelect)` + @media (max-width: ${(props) => props.theme.breakpoints.s}) { + display: none; + height: 0; + width: 0; + } +` + +const ThirdStyledSelect = styled(StyledSelect)` + @media (max-width: ${(props) => props.theme.breakpoints.m}) { + display: none; + height: 0; + width: 0; + } +` + const Wallet = styled(Grid)` padding: 25px 4px; ` @@ -515,7 +519,7 @@ const WalletTable = ({ data, filters, walletData }) => { defaultValue={firstFeatureSelect} components={{ Option: IconOption, Control: IconControl }} /> - { defaultValue={secondFeatureSelect} components={{ Option: IconOption, Control: IconControl }} /> - Date: Thu, 16 Jun 2022 22:58:31 +0100 Subject: [PATCH 051/310] Swap Token icon --- src/assets/wallets/swap.svg | 9 +++++++++ src/components/FindWallet/WalletFilterSidebar.tsx | 1 + src/components/FindWallet/WalletPersonasSidebar.tsx | 3 ++- src/components/FindWallet/WalletTable.tsx | 3 ++- 4 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 src/assets/wallets/swap.svg diff --git a/src/assets/wallets/swap.svg b/src/assets/wallets/swap.svg new file mode 100644 index 00000000000..0806eb982e4 --- /dev/null +++ b/src/assets/wallets/swap.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index d0681d00021..f5fca03240a 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -28,6 +28,7 @@ import ConnectDapps from "../../assets/wallets/connect_dapps.svg" import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" import Multisig from "../../assets/wallets/multisig.svg" import SocialRecover from "../../assets/wallets/social_recover.svg" +import Swap from "../../assets/wallets/swap.svg" // Styles diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 299b439a469..0c60faa164f 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -23,6 +23,7 @@ import ConnectDapps from "../../assets/wallets/connect_dapps.svg" import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" import Multisig from "../../assets/wallets/multisig.svg" import SocialRecover from "../../assets/wallets/social_recover.svg" +import Swap from "../../assets/wallets/swap.svg" // Styles @@ -160,7 +161,7 @@ const filterLabels = { }, swaps: { label: "Swaps", - icon: <>, + icon: , }, layer_2: { label: "Layer 2", diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index f2dcbce719e..bf2bb0313d9 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -27,6 +27,7 @@ import ConnectDapps from "../../assets/wallets/connect_dapps.svg" import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" import Multisig from "../../assets/wallets/multisig.svg" import SocialRecover from "../../assets/wallets/social_recover.svg" +import Swap from "../../assets/wallets/swap.svg" // Styles const Container = styled.div` @@ -395,7 +396,7 @@ const featureDropdownItems = [ value: "Swaps", filterKey: "swaps", category: "feature", - icon: <>, + icon: , }, { label: "Layer 2", From 882cea6f00ee263a6278188d4218cd8a2ed27d7b Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 16 Jun 2022 16:02:35 -0600 Subject: [PATCH 052/310] sticky filter toggle --- src/components/FindWallet/WalletTable.tsx | 2 +- src/pages/wallets/find-wallet.tsx | 50 ++++++++++++++--------- 2 files changed, 32 insertions(+), 20 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index f2dcbce719e..1361f47a371 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -59,7 +59,7 @@ const WalletContentHeader = styled(Grid)` min-height: 50px; border-bottom: 1px solid ${(props) => props.theme.colors.primary}; position: sticky; - top: 76px; + top: 132px; padding-top: 8px; background: ${(props) => props.theme.colors.background}; z-index: 1; diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 8e6dfb5a182..03aede19bac 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -68,10 +68,19 @@ const TableContent = styled(Content)` gap: 24px; ` +const MobileFilterToggleContainer = styled.div` + position: sticky; + top: 76px; + background: ${(props) => props.theme.colors.background}; + width: 100%; + z-index: 1; +` + const MobileFilterToggle = styled.div` display: none; @media (max-width: ${(props) => props.theme.breakpoints.l}) { display: flex; + float: left; gap: 1rem; justify-content: center; align-items: center; @@ -81,6 +90,7 @@ const MobileFilterToggle = styled.div` padding: 6px 20px 10px 20px; margin: auto; margin-left: 0; + z-index: 1; } p { @@ -256,25 +266,27 @@ const FindWalletPage = ({ data, location }) => { objectFit="contain" /> - { - setShowMobileSidebar(!showMobileSidebar) - }} - > -

-

FILTERS

- - {Object.values(filters).reduce((acc, filter) => { - if (filter) { - acc += 1 - } - return acc - }, 0)}{" "} - active - -
- - + + { + setShowMobileSidebar(!showMobileSidebar) + }} + > +
+

FILTERS

+ + {Object.values(filters).reduce((acc, filter) => { + if (filter) { + acc += 1 + } + return acc + }, 0)}{" "} + active + +
+ +
+
From a7ab1121e096aaae73e9116c88110b6766fae163 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Thu, 16 Jun 2022 23:48:59 +0100 Subject: [PATCH 053/310] various css adjustments --- .../FindWallet/WalletPersonasSidebar.tsx | 17 ++++++++++--- src/components/FindWallet/WalletTable.tsx | 25 +++++++++++++++---- src/pages/wallets/find-wallet.tsx | 5 ++-- 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 0c60faa164f..213c4f2071f 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -51,7 +51,8 @@ const Title = styled.div` display: flex; align-items: center; gap: "1rem"; - margin-bottom: 1rem; + margin-bottom: 0.5rem; + ` const H3 = styled.h3` @@ -61,6 +62,13 @@ const H3 = styled.h3` margin-bottom: 0; ` +const H4 = styled.h4` + margin-top: 0; + color: ${(props) => props.theme.colors.secondary}; + font-size: 0.9rem; + font-weight: normal; +` + const Grid = styled.div` display: grid; grid-template-columns: 50% 50%; @@ -76,8 +84,9 @@ const StyledIcon = styled(Icon)<{ selected: boolean }>` const PersonaFeature = styled.div` display: flex; - gap: 0.25rem; - font-size: 0.9rem; + gap: 0.2rem; + font-size: 0.85rem; + margin: 0.1rem; svg { width: 28px; height: 28px; @@ -449,7 +458,7 @@ const WalletPersonasSidebar = ({ setFilters }) => { />

{persona.title}

-

{persona.description}

+

{persona.description}

{persona.featureHighlight.map((feature) => ( diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index bf2bb0313d9..5af54fc998d 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -42,11 +42,19 @@ const Grid = styled.div` display: grid; grid-template-columns: 40% auto auto auto 5%; width: 100%; + column-gap: 0.5rem; + align-items: center; + p { margin: 0; } + :hover{ + background: ${(props) => props.theme.colors.boxShadow}; + transition: 0.5s all; + } + @media (max-width: ${(props) => props.theme.breakpoints.m}) { grid-template-columns: 40% auto auto 0% 5%; } @@ -57,11 +65,10 @@ const Grid = styled.div` ` const WalletContentHeader = styled(Grid)` - min-height: 50px; border-bottom: 1px solid ${(props) => props.theme.colors.primary}; position: sticky; top: 76px; - padding-top: 8px; + padding: 8px; background: ${(props) => props.theme.colors.background}; z-index: 1; @@ -235,8 +242,16 @@ const FlexInfo = styled.div` align-items: center; p { - margin: 0; padding: 0; + font-size: 1.2rem; + } + p + p { + margin: 0.1rem 0 0.3rem; + font-size: 0.9rem; + } + p + a { + font-size: 0.9rem; + } ` @@ -251,8 +266,8 @@ const Image = styled(GatsbyImage)` ` const SecondaryText = styled.p` - font-size: 14px; - line-height: 14px; + font-size: 0.7rem; + line-height: 0.85rem; color: ${(props) => props.theme.colors.text200}; ` diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 8e6dfb5a182..69ae1c48245 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -130,6 +130,7 @@ const FilterTabs = styled.div` p { margin: 0; + letter-spacing: 0.02rem; } ` @@ -282,13 +283,13 @@ const FindWalletPage = ({ data, location }) => { active={!showFeatureFilters} onClick={() => setShowFeatureFilters(false)} > -

PROFILE FILTERS

+

Profile Filters

setShowFeatureFilters(true)} > -

FEATURE FILTERS

+

Feature Filters

From 74ee458a8476e988795534077acde8cccf146eda Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Fri, 17 Jun 2022 10:57:43 +0100 Subject: [PATCH 054/310] small color detail --- src/components/FindWallet/WalletPersonasSidebar.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 213c4f2071f..503ab3f6938 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -41,7 +41,7 @@ const Persona = styled.div<{ align-items: flex-start; padding: 24px; background: ${(props) => - props.selected === true ? "#432E1B" : props.theme.colors.ednBackground}; + props.selected === true ? props.theme.colors.primary100 : props.theme.colors.ednBackground}; border: 1px solid #3d3d3d; border-radius: 4px; cursor: pointer; @@ -97,6 +97,7 @@ const PersonaFeature = styled.div` } ` + // Types interface Personas { title: string From 1e5a26d3650d395ff7a6b1f7847b8c9890a43f6b Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Fri, 17 Jun 2022 11:29:28 +0100 Subject: [PATCH 055/310] Table details view adjustments --- src/components/FindWallet/WalletTable.tsx | 29 +++++++++++++++-------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 5af54fc998d..e67d9acb313 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -314,38 +314,47 @@ const ColoredLine = styled.div<{ color: string }>` const FeatureLabel = styled.div<{ hasFeature: boolean }>` display: flex; gap: 0.5rem; + font-size: 0.9rem; + line-height: 1.75rem; svg { - width: 24px; - height: 24px; + width: 1.75rem; + height: 1.75rem; path { fill: ${(props) => props.hasFeature ? props.theme.colors.primary - : props.theme.colors.text200}; - stroke: ${(props) => - props.hasFeature - ? props.theme.colors.primary - : props.theme.colors.text200}; + : props.theme.colors.tableItemBoxShadow}; } } p { + margin-bottom: 0.75rem; color: ${(props) => props.hasFeature ? props.theme.colors.primary - : props.theme.colors.text200}; + : props.theme.colors.tableItemBoxShadow}; } ` const SocialsContainer = styled.div` text-align: center; - padding-bottom: 22px; + padding-bottom: 1rem; + p{ + margin: 0; + } + a{ + height: 32px; + } + ` const Socials = styled.div` display: flex; gap: 1rem; justify-content: center; + align-items: center; + padding-bottom: 2rem: + ` // Constants @@ -679,8 +688,8 @@ const WalletTable = ({ data, filters, walletData }) => { -

{wallet.name} links

+

{wallet.name} links

From c22f3704b92b00087c4959df386415c29931626b Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Fri, 17 Jun 2022 16:42:27 +0100 Subject: [PATCH 056/310] feature filters CSS spacings --- src/components/FindWallet/WalletFilterSidebar.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index f5fca03240a..69f4fda6820 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -71,6 +71,9 @@ const FilterOption = styled.div` border-bottom: 1px solid ${(props) => props.theme.colors.lightBorder}; width: 100%; padding: 18.5px 12px 12px 12px; + :last-child{ + border:none; + } ` const OptionGrid = styled.div` @@ -81,7 +84,7 @@ const OptionGrid = styled.div` p { margin: 0; - line-height: 20px; + line-height: 1.1rem; padding: 0 10px; } ` @@ -100,8 +103,8 @@ const IconContainer = styled.div` ` const OptionDescription = styled.p` - font-size: 12px; - line-height: 14px; + font-size: 0.85rem; + line-height: 0.8rem; color: ${(props) => props.theme.colors.text200}; ` From e21a09570c3b7741fd88fb56c6f2aafc99e7395e Mon Sep 17 00:00:00 2001 From: polarpunklabs <84196983+polarpunklabs@users.noreply.github.com> Date: Fri, 17 Jun 2022 18:08:49 +0100 Subject: [PATCH 057/310] Update index.md Added a small contextual note that the PDF is the best version for academics or researchers seeking a historical or canonical version of the paper. The version that is on the website is actually a newer version and does not match the PDF . Would be good if someone could pinpoint the source of the website version. I would personally prefer if they were the same, but this should be a good accommodation for now. --- src/content/whitepaper/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/whitepaper/index.md b/src/content/whitepaper/index.md index 64046c4d29b..ea7a254dea3 100644 --- a/src/content/whitepaper/index.md +++ b/src/content/whitepaper/index.md @@ -12,7 +12,7 @@ _This introductory paper was originally published in 2014 by Vitalik Buterin, th _While several years old, we maintain this paper because it continues to serve as a useful reference and an accurate representation of Ethereum and its vision. To learn about the latest developments of Ethereum, and how changes to the protocol are made, we recommend [this guide](/learn/)._ -[Open the Ethereum Whitepaper as a PDF](./whitepaper-pdf/Ethereum_Whitepaper_-_Buterin_2014.pdf) +[Researchers and academics seeking a historical or canonical version of the whitepaper [from December 2014] should use this PDF.](./whitepaper-pdf/Ethereum_Whitepaper_-_Buterin_2014.pdf) ## A Next-Generation Smart Contract and Decentralized Application Platform {#a-next-generation-smart-contract-and-decentralized-application-platform} From 7370e0141cbb9b59bcbab40ef9ac49fb30888f0c Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 17 Jun 2022 21:10:20 +0100 Subject: [PATCH 058/310] Add real wallet data file --- src/data/find-wallet/real-wallet-data.ts | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/data/find-wallet/real-wallet-data.ts diff --git a/src/data/find-wallet/real-wallet-data.ts b/src/data/find-wallet/real-wallet-data.ts new file mode 100644 index 00000000000..031fcfd5e1f --- /dev/null +++ b/src/data/find-wallet/real-wallet-data.ts @@ -0,0 +1,3 @@ +const walletData = [] + +export default walletData From 62a7dc5f1d7fc7fc20814d18947c6d6cdf7fff77 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 17 Jun 2022 21:40:02 +0100 Subject: [PATCH 059/310] Add keystone --- src/data/find-wallet/real-wallet-data.ts | 50 +++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/src/data/find-wallet/real-wallet-data.ts b/src/data/find-wallet/real-wallet-data.ts index 031fcfd5e1f..dba7b521dfb 100644 --- a/src/data/find-wallet/real-wallet-data.ts +++ b/src/data/find-wallet/real-wallet-data.ts @@ -1,3 +1,51 @@ -const walletData = [] +const walletData = [ + { + name: "Keystone", + image_name: "keystone", + brand_color: "#ffffff", + url: "https://keyst.one/", + wallet_live_date: "Dec 2018", + active_development_team: "Yes", + languages_supported: ["en", "zh", "es", "ko"], + twitter: "https://twitter.com/KeystoneWallet", + discord: "https://keyst.one/discord", + telegram: "https://t.me/KeystoneWallet", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: true, + open_source: true, + repo_url: "https://github.com/KeystoneHQ", + non_custodial: true, + security_audit: [ + "https://github.com/KeystoneHQ/Keystone-developer-hub/tree/main/audit-report", + "https://keyst.one/bug-bounty-program", + ], + spam_protection: false, + hardware_support: true, + walletconnect: false, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: false, + layer_2: true, + gas_fee_customization: false, + ens_support: true, + erc_20_support: false, + eip_1559_support: true, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + dedicated_support: true, + onboard_documentation: "https://support.keyst.one/", + documentation: "", + }, +] export default walletData From 5043cc88dc3a2034a28a20bffa743a6866ba250c Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 17 Jun 2022 21:50:10 +0100 Subject: [PATCH 060/310] Add numio --- src/data/find-wallet/real-wallet-data.ts | 44 ++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/data/find-wallet/real-wallet-data.ts b/src/data/find-wallet/real-wallet-data.ts index dba7b521dfb..ee38d88217e 100644 --- a/src/data/find-wallet/real-wallet-data.ts +++ b/src/data/find-wallet/real-wallet-data.ts @@ -46,6 +46,50 @@ const walletData = [ onboard_documentation: "https://support.keyst.one/", documentation: "", }, + { + name: "Numio", + image_name: "numio", + brand_color: "#3F3F3F", + url: "https://www.numio.one/", + wallet_live_date: "December 2020", + active_development_team: "Yes", + languages_supported: ["en"], + twitter: "https://twitter.com/GetNumio/", + discord: "", + telegram: "", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: false, + repo_url: "", + non_custodial: true, + security_audit: [], + spam_protection: false, + hardware_support: false, + walletconnect: true, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: true, + layer_2: true, + gas_fee_customization: false, + ens_support: false, + erc_20_support: false, + eip_1559_support: false, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + dedicated_support: true, + onboard_documentation: "https://docs.numio.one/", + documentation: "", + }, ] export default walletData From f90b94711907dd2a7382d85a6f8a4d06d344041f Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 17 Jun 2022 22:00:58 +0100 Subject: [PATCH 061/310] Add coin98 --- src/data/find-wallet/real-wallet-data.ts | 57 ++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/src/data/find-wallet/real-wallet-data.ts b/src/data/find-wallet/real-wallet-data.ts index ee38d88217e..c9a6a2b1524 100644 --- a/src/data/find-wallet/real-wallet-data.ts +++ b/src/data/find-wallet/real-wallet-data.ts @@ -90,6 +90,63 @@ const walletData = [ onboard_documentation: "https://docs.numio.one/", documentation: "", }, + { + name: "Coin98", + image_name: "coin98", + brand_color: "#ffffff", + url: "https://coin98.com/wallet", + wallet_live_date: "2018", + active_development_team: "Yes", + languages_supported: [ + "vi", + "en", + "zh", + "jp", + "ko", + "tr", + "th", + "es", + "id", + "el", + "pt", + "fr", + ], + twitter: "https://twitter.com/coin98_wallet", + discord: "https://c98.link/discord", + telegram: "https://t.me/coin98wallet", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: true, + hardware: false, + open_source: false, + repo_url: "", + non_custodial: true, + security_audit: ["https://coin98.com/audit"], + spam_protection: true, + hardware_support: true, + walletconnect: true, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: true, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + dedicated_support: true, + onboard_documentation: "https://docs.coin98.com/", + documentation: "", + }, ] export default walletData From 10461a8f18f6065505a39ef13a3e9722dee14982 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 17 Jun 2022 22:07:44 +0100 Subject: [PATCH 062/310] Add loopring --- src/data/find-wallet/real-wallet-data.ts | 48 ++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/src/data/find-wallet/real-wallet-data.ts b/src/data/find-wallet/real-wallet-data.ts index c9a6a2b1524..a30f3861ea7 100644 --- a/src/data/find-wallet/real-wallet-data.ts +++ b/src/data/find-wallet/real-wallet-data.ts @@ -147,6 +147,54 @@ const walletData = [ onboard_documentation: "https://docs.coin98.com/", documentation: "", }, + { + name: "Loopring wallet", + image_name: "loopring", + brand_color: "#ffffff", + url: "https://loopring.io/#/wallet", + wallet_live_date: "Nov 25, 2020", + active_development_team: "Yes", + languages_supported: ["en", "zh"], + twitter: "https://twitter.com/loopringorg", + discord: "http://discord.gg/KkYccYp", + telegram: "", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: false, + repo_url: "", + non_custodial: true, + security_audit: [ + "https://solidified.io/work/loopring/", + "https://github.com/Loopring/protocols/blob/master/packages/hebao_v1/audit_report_solidified_response.md", + "https://github.com/Loopring/protocols/tree/release_loopring_3.6.3/packages/loopring_v3/security_audit", + ], + spam_protection: false, + hardware_support: true, + walletconnect: true, + rpc_importing: false, + nft_support: true, + connect_to_dapps: false, + staking: false, + swaps: true, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: true, + dedicated_support: true, + onboard_documentation: "", + documentation: "", + }, ] export default walletData From 446d454daa8e6e29945f053593546ad3a0dd3b88 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 17 Jun 2022 22:16:59 +0100 Subject: [PATCH 063/310] Add airgap --- src/data/find-wallet/real-wallet-data.ts | 46 ++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/data/find-wallet/real-wallet-data.ts b/src/data/find-wallet/real-wallet-data.ts index a30f3861ea7..68a063641da 100644 --- a/src/data/find-wallet/real-wallet-data.ts +++ b/src/data/find-wallet/real-wallet-data.ts @@ -195,6 +195,52 @@ const walletData = [ onboard_documentation: "", documentation: "", }, + { + name: "AirGap wallet", + image_name: "airgap", + brand_color: "#50249F", + url: "https://airgap.it/", + wallet_live_date: "July 2017", + active_development_team: "Yes", + languages_supported: ["en", "de", "zh"], + twitter: "https://twitter.com/AirGap_it/", + discord: "https://discord.gg/gnWqCQsteh", + telegram: "https://t.me/AirGap", + ios: true, + android: true, + linux: true, + windows: true, + macOS: true, + firefox: false, + chromium: false, + hardware: false, + open_source: true, + repo_url: "https://github.com/airgap-it/airgap-wallet", + non_custodial: true, + security_audit: [ + "https://github.com/airgap-it/airgap-coin-lib/tree/master/docs/audits", + ], + spam_protection: false, + hardware_support: true, + walletconnect: true, + rpc_importing: false, + nft_support: false, + connect_to_dapps: true, + staking: true, + swaps: true, + layer_2: true, + gas_fee_customization: true, + ens_support: false, + erc_20_support: false, + eip_1559_support: false, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: true, + dedicated_support: true, + onboard_documentation: "https://support.airgap.it/", + documentation: "", + }, ] export default walletData From 854b7035e053f9576e0cbc523779e9f0afcc374b Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 17 Jun 2022 22:25:40 +0100 Subject: [PATCH 064/310] Add argent --- src/data/find-wallet/real-wallet-data.ts | 47 ++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/src/data/find-wallet/real-wallet-data.ts b/src/data/find-wallet/real-wallet-data.ts index 68a063641da..7702fd1981e 100644 --- a/src/data/find-wallet/real-wallet-data.ts +++ b/src/data/find-wallet/real-wallet-data.ts @@ -241,6 +241,53 @@ const walletData = [ onboard_documentation: "https://support.airgap.it/", documentation: "", }, + { + name: "Argent", + image_name: "argent", + brand_color: "#ffffff", + url: "https://www.argent.xyz/", + wallet_live_date: "2018", + active_development_team: "Yes", + languages_supported: ["en"], + twitter: "https://twitter.com/argenthq", + discord: "https://discord.com/invite/GWSyrHg", + telegram: "", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: false, + repo_url: "", + non_custodial: true, + security_audit: [ + "https://github.com/argentlabs/argent-contracts/tree/develop/audit", + "https://www.argent.xyz/argent-bug-bounty/", + ], + spam_protection: true, + hardware_support: true, + walletconnect: true, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: true, + swaps: true, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: true, + social_recovery: true, + dedicated_support: true, + onboard_documentation: "https://www.argent.xyz/learn/", + documentation: "", + }, ] export default walletData From fb1fa1d3f91f2551dde2ff5ef9926f899bae00f6 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 17 Jun 2022 23:02:29 +0100 Subject: [PATCH 065/310] Add portis --- src/data/find-wallet/real-wallet-data.ts | 44 ++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/data/find-wallet/real-wallet-data.ts b/src/data/find-wallet/real-wallet-data.ts index 7702fd1981e..a3d202140d6 100644 --- a/src/data/find-wallet/real-wallet-data.ts +++ b/src/data/find-wallet/real-wallet-data.ts @@ -288,6 +288,50 @@ const walletData = [ onboard_documentation: "https://www.argent.xyz/learn/", documentation: "", }, + { + name: "Portis", + image_name: "portis", + brand_color: "#ffffff", + url: "https://portis.io", + wallet_live_date: "Nov, 2018", + active_development_team: "Yes", + languages_supported: ["en"], + twitter: "https://twitter.com/portis_io", + discord: "", + telegram: "https://t.me/PortisHQ", + ios: false, + android: false, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: false, + repo_url: "", + non_custodial: true, + security_audit: [], + spam_protection: false, + hardware_support: false, + walletconnect: false, + rpc_importing: true, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: false, + layer_2: true, + gas_fee_customization: false, + ens_support: false, + erc_20_support: true, + eip_1559_support: false, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + dedicated_support: true, + onboard_documentation: "https://docs.portis.io/", + documentation: "", + }, ] export default walletData From 0abf6667f44a2008c02a6276cc5e976157e7bfef Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 17 Jun 2022 23:06:58 +0100 Subject: [PATCH 066/310] Add metamask --- src/data/find-wallet/real-wallet-data.ts | 44 ++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/data/find-wallet/real-wallet-data.ts b/src/data/find-wallet/real-wallet-data.ts index a3d202140d6..228c954156c 100644 --- a/src/data/find-wallet/real-wallet-data.ts +++ b/src/data/find-wallet/real-wallet-data.ts @@ -332,6 +332,50 @@ const walletData = [ onboard_documentation: "https://docs.portis.io/", documentation: "", }, + { + name: "MetaMask", + image_name: "metamask", + brand_color: "#ffffff", + url: "https://metamask.io", + wallet_live_date: "2016", + active_development_team: "Yes", + languages_supported: ["TODO: 30 languages!"], + twitter: "https://twitter.com/metamask", + discord: "", + telegram: "", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: true, + chromium: true, + hardware: false, + open_source: false, + repo_url: "https://github.com/MetaMask", + non_custodial: true, + security_audit: [], + spam_protection: false, + hardware_support: true, + walletconnect: true, + rpc_importing: true, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: true, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + dedicated_support: true, + onboard_documentation: "https://support.metamask.io", + documentation: "", + }, ] export default walletData From a259d955aeb7d01e6c00bdf4b0e49204b5a29ad9 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 17 Jun 2022 23:16:06 +0100 Subject: [PATCH 067/310] Add coinbase wallet --- src/data/find-wallet/real-wallet-data.ts | 45 ++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/data/find-wallet/real-wallet-data.ts b/src/data/find-wallet/real-wallet-data.ts index 228c954156c..cd875ef1bfd 100644 --- a/src/data/find-wallet/real-wallet-data.ts +++ b/src/data/find-wallet/real-wallet-data.ts @@ -376,6 +376,51 @@ const walletData = [ onboard_documentation: "https://support.metamask.io", documentation: "", }, + { + name: "Coinbase wallet", + image_name: "coinbase", + brand_color: "#0052FF", + url: "https://www.coinbase.com/wallet/developers", + wallet_live_date: "2018", + active_development_team: "Yes", + languages_supported: ["no response.."], + twitter: "https://twitter.com/CoinbaseWallet", + discord: "", + telegram: "", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: true, + hardware: false, + open_source: false, + repo_url: "", + non_custodial: false, + security_audit: [], + spam_protection: false, + hardware_support: true, + walletconnect: false, + rpc_importing: true, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: true, + layer_2: false, + gas_fee_customization: true, + ens_support: false, + erc_20_support: false, + eip_1559_support: false, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + dedicated_support: false, + onboard_documentation: "https://www.coinbase.com/wallet/tutorials", + documentation: "", + note: "Community contribution, let's follow up with Coinbase", + }, ] export default walletData From d4f8951badf8fcff743ad226a1bc302ad76a1445 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 17 Jun 2022 23:30:38 +0100 Subject: [PATCH 068/310] Add frame --- src/assets/wallets/frame.svg | 3 ++ src/data/find-wallet/real-wallet-data.ts | 51 ++++++++++++++++++++++-- 2 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 src/assets/wallets/frame.svg diff --git a/src/assets/wallets/frame.svg b/src/assets/wallets/frame.svg new file mode 100644 index 00000000000..7ef0e026e76 --- /dev/null +++ b/src/assets/wallets/frame.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/data/find-wallet/real-wallet-data.ts b/src/data/find-wallet/real-wallet-data.ts index cd875ef1bfd..23f8e002b3e 100644 --- a/src/data/find-wallet/real-wallet-data.ts +++ b/src/data/find-wallet/real-wallet-data.ts @@ -333,9 +333,9 @@ const walletData = [ documentation: "", }, { - name: "MetaMask", - image_name: "metamask", - brand_color: "#ffffff", + name: "Frame", + image_name: "frame", + brand_color: "#222021", url: "https://metamask.io", wallet_live_date: "2016", active_development_team: "Yes", @@ -421,6 +421,51 @@ const walletData = [ documentation: "", note: "Community contribution, let's follow up with Coinbase", }, + { + name: "Frame", + image_name: "frame", + brand_color: "#222021", + url: "https://frame.sh", + wallet_live_date: "April 2019", + active_development_team: "Yes", + languages_supported: ["en"], + twitter: "https://twitter.com/0xFrame", + discord: "https://discord.gg/rr4Yr3JkPq", + telegram: "", + ios: false, + android: false, + linux: true, + windows: true, + macOS: true, + firefox: true, + chromium: true, + hardware: false, + open_source: true, + repo_url: "https://github.com/floating/frame", + non_custodial: true, + security_audit: ["asked if these are available"], + spam_protection: false, + hardware_support: true, + walletconnect: false, + rpc_importing: true, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: false, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + dedicated_support: true, + onboard_documentation: + "https://framelabs.notion.site/Getting-Started-Guide-775a95edec3244ce80e118ead8ea6516", + documentation: "", + }, ] export default walletData From 7869bd27d4dfb2c051279406015361531d510f07 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 19 Jun 2022 21:46:41 -0600 Subject: [PATCH 069/310] Add brave --- src/assets/wallets/brave.png | Bin 0 -> 24860 bytes src/data/find-wallet/real-wallet-data.ts | 47 +++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 src/assets/wallets/brave.png diff --git a/src/assets/wallets/brave.png b/src/assets/wallets/brave.png new file mode 100644 index 0000000000000000000000000000000000000000..afe6600bdc44f53e70b657a0f109dad38e3a23d5 GIT binary patch literal 24860 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%0DG(w*wMCdV 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⪚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 literal 0 HcmV?d00001 diff --git a/src/data/find-wallet/real-wallet-data.ts b/src/data/find-wallet/real-wallet-data.ts index 23f8e002b3e..a403be70440 100644 --- a/src/data/find-wallet/real-wallet-data.ts +++ b/src/data/find-wallet/real-wallet-data.ts @@ -466,6 +466,53 @@ const walletData = [ "https://framelabs.notion.site/Getting-Started-Guide-775a95edec3244ce80e118ead8ea6516", documentation: "", }, + { + name: "Brave Wallet", + image_name: "brave", + brand_color: "##fe1f02", + url: "https://brave.com/wallet", + wallet_live_date: "November 2021", + active_development_team: "Yes", + languages_supported: ["en"], + twitter: "https://twitter.com/brave", + discord: "https://discord.gg/rr4Yr3JkPq", + reddit: "https://www.reddit.com/r/brave_browser", + telegram: "", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: true, + hardware: false, + open_source: true, + repo_url: "https://github.com/brave/brave-core/ ", + non_custodial: true, + security_audit: ["asked if these are available"], + spam_protection: true, + hardware_support: true, + walletconnect: false, + rpc_importing: true, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: true, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + dedicated_support: true, + onboard_documentation: + "https://wallet-docs.brave.com/, https://support.brave.com/hc/en-us/articles/4415497656461-Brave-Wallet-FAQ", + documentation: + "https://wallet-docs.brave.com/, https://support.brave.com/hc/en-us/articles/4415497656461-Brave-Wallet-FAQ", + }, ] export default walletData From 0e692b36c9ce80998c48c6233bd4a6abf8f4ed3c Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 19 Jun 2022 22:08:54 -0600 Subject: [PATCH 070/310] Add tally ho --- src/assets/wallets/tallyho.png | Bin 0 -> 126045 bytes src/data/find-wallet/real-wallet-data.ts | 51 ++++++++++++++++++++++- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 src/assets/wallets/tallyho.png diff --git a/src/assets/wallets/tallyho.png b/src/assets/wallets/tallyho.png new file mode 100644 index 0000000000000000000000000000000000000000..3bbdc6d52b8909fa83e7b0fe44714336f465196a GIT binary patch literal 126045 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 z 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%0A+prndcW`%g4UGH#N79vS_(5>0TcH-65?^kDgS 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
MKFzH4 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 qO2)TET{&7E@@>UYfU9o2vHYE)Y8Yey literal 0 HcmV?d00001 diff --git a/src/data/find-wallet/real-wallet-data.ts b/src/data/find-wallet/real-wallet-data.ts index a403be70440..775b07e3be6 100644 --- a/src/data/find-wallet/real-wallet-data.ts +++ b/src/data/find-wallet/real-wallet-data.ts @@ -475,7 +475,7 @@ const walletData = [ active_development_team: "Yes", languages_supported: ["en"], twitter: "https://twitter.com/brave", - discord: "https://discord.gg/rr4Yr3JkPq", + discord: "", reddit: "https://www.reddit.com/r/brave_browser", telegram: "", ios: true, @@ -513,6 +513,55 @@ const walletData = [ documentation: "https://wallet-docs.brave.com/, https://support.brave.com/hc/en-us/articles/4415497656461-Brave-Wallet-FAQ", }, + { + name: "Tally Ho!", + image_name: "tallyho", + brand_color: "##0D2321", + url: "https://tally.cash/", + wallet_live_date: "December 2021", + active_development_team: "Yes", + languages_supported: ["en"], + twitter: "https://twitter.com/TallyCash", + discord: "chat.tally.cash", + reddit: "", + telegram: "", + ios: false, + android: false, + linux: false, + windows: false, + macOS: false, + firefox: true, + chromium: true, + hardware: false, + open_source: true, + repo_url: "https://github.com/tallycash/extension", + non_custodial: true, + security_audit: [ + "https://leastauthority.com/blog/audit-of-tally-browser-extension-wallet-key-handling-for-ylvis-llc/", + "https://code4rena.com/reports/2021-10-tally/", + ], + spam_protection: true, + hardware_support: true, + walletconnect: true, + rpc_importing: false, + nft_support: false, + connect_to_dapps: true, + staking: false, + swaps: true, + layer_2: false, + gas_fee_customization: false, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + dedicated_support: true, + onboard_documentation: "https://docs.tally.cash/tally/", + documentation: + "https://docs.tally.cash/tally/, https://gov.tally.cash/, https://blog.tally.cash/", + }, ] export default walletData From fcd968631f95e0cdfbc74c4391657252f0844280 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Mon, 20 Jun 2022 10:40:31 +0100 Subject: [PATCH 071/310] Personas box with a bit less vertical space --- src/components/FindWallet/WalletPersonasSidebar.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 503ab3f6938..022b0a795ee 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -39,7 +39,7 @@ const Persona = styled.div<{ display: flex; flex-direction: column; align-items: flex-start; - padding: 24px; + padding: 1rem; background: ${(props) => props.selected === true ? props.theme.colors.primary100 : props.theme.colors.ednBackground}; border: 1px solid #3d3d3d; @@ -52,6 +52,7 @@ const Title = styled.div` align-items: center; gap: "1rem"; margin-bottom: 0.5rem; + ` @@ -60,10 +61,11 @@ const H3 = styled.h3` margin-left: 0.5rem; margin-top: 0; margin-bottom: 0; + font-size: 1.25rem; ` const H4 = styled.h4` - margin-top: 0; + margin: 0 0 0.5rem 0; color: ${(props) => props.theme.colors.secondary}; font-size: 0.9rem; font-weight: normal; @@ -73,6 +75,8 @@ const Grid = styled.div` display: grid; grid-template-columns: 50% 50%; width: 100%; + column-gap: 0.2rem; + row-gap: 0.5rem; ` const StyledIcon = styled(Icon)<{ selected: boolean }>` @@ -86,7 +90,12 @@ const PersonaFeature = styled.div` display: flex; gap: 0.2rem; font-size: 0.85rem; + line-height:0.8rem; margin: 0.1rem; + align-items: center; + p{ + margin-bottom:0; + } svg { width: 28px; height: 28px; From 69e21266d57547f590450685cc9c8ec860a58ea1 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Mon, 20 Jun 2022 11:54:17 +0100 Subject: [PATCH 072/310] remove the icons on the table dropdowns --- src/components/FindWallet/WalletTable.tsx | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index e67d9acb313..b7d112f1fb3 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -541,8 +541,6 @@ const WalletTable = ({ data, filters, walletData }) => { onChange={(selectedOption) => { setFirstFeatureSelect(selectedOption) }} - defaultValue={firstFeatureSelect} - components={{ Option: IconOption, Control: IconControl }} /> { onChange={(selectedOption) => { setSecondFeatureSelect(selectedOption) }} - defaultValue={secondFeatureSelect} - components={{ Option: IconOption, Control: IconControl }} /> { onChange={(selectedOption) => { setThirdFeatureSelect(selectedOption) }} - defaultValue={thirdFeatureSelect} - components={{ Option: IconOption, Control: IconControl }} /> {filteredWallets.map((wallet, idx) => { From 5527f4f90c03b6bfc2b3c6841f2706177c1c9c32 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Mon, 20 Jun 2022 12:05:29 +0100 Subject: [PATCH 073/310] table dropdown spacing adjustments --- src/components/FindWallet/WalletTable.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index b7d112f1fb3..c780e9e781a 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -89,6 +89,7 @@ const StyledSelect = styled(Select)` border: none; background: none; cursor: pointer; + font-size: 0.9rem; svg { width: 24px; @@ -112,11 +113,13 @@ const StyledSelect = styled(Select)` } .react-select__indicator { color: ${(props) => props.theme.colors.text}; + padding:0; } } &:hover { background: ${(props) => props.theme.colors.primary}; + cursor: pointer; svg { width: 24px; @@ -184,6 +187,7 @@ const StyledSelect = styled(Select)` .react-select__menu-list { .react-select__option { display: flex; + font-size: 0.9rem; gap: 0.5rem; svg { width: 24px; From c0dd1eaf162e3188cda5d17574118e70692b4a4d Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Mon, 20 Jun 2022 12:13:46 +0100 Subject: [PATCH 074/310] line height design bug fixed --- src/components/FindWallet/WalletPersonasSidebar.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 022b0a795ee..92f782e7148 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -90,7 +90,7 @@ const PersonaFeature = styled.div` display: flex; gap: 0.2rem; font-size: 0.85rem; - line-height:0.8rem; + line-height:0.95rem; margin: 0.1rem; align-items: center; p{ From f5df9d5904eb1376797dd4f9c7bd76530022823d Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 20 Jun 2022 14:38:15 -0600 Subject: [PATCH 075/310] syntax fix, add default values back in for feature comparison dropdowns --- src/components/FindWallet/WalletTable.tsx | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index c780e9e781a..6f90aa5939a 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -44,13 +44,12 @@ const Grid = styled.div` width: 100%; column-gap: 0.5rem; align-items: center; - p { margin: 0; } - :hover{ + :hover { background: ${(props) => props.theme.colors.boxShadow}; transition: 0.5s all; } @@ -113,7 +112,7 @@ const StyledSelect = styled(Select)` } .react-select__indicator { color: ${(props) => props.theme.colors.text}; - padding:0; + padding: 0; } } @@ -255,7 +254,6 @@ const FlexInfo = styled.div` } p + a { font-size: 0.9rem; - } ` @@ -343,13 +341,12 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` const SocialsContainer = styled.div` text-align: center; padding-bottom: 1rem; - p{ + p { margin: 0; } - a{ + a { height: 32px; } - ` const Socials = styled.div` @@ -357,8 +354,7 @@ const Socials = styled.div` gap: 1rem; justify-content: center; align-items: center; - padding-bottom: 2rem: - + padding-bottom: 2rem; ` // Constants @@ -545,6 +541,7 @@ const WalletTable = ({ data, filters, walletData }) => { onChange={(selectedOption) => { setFirstFeatureSelect(selectedOption) }} + defaultValue={firstFeatureSelect} /> { onChange={(selectedOption) => { setSecondFeatureSelect(selectedOption) }} + defaultValue={secondFeatureSelect} /> { onChange={(selectedOption) => { setThirdFeatureSelect(selectedOption) }} + defaultValue={thirdFeatureSelect} /> {filteredWallets.map((wallet, idx) => { From 8dd946f89228f429dcd20392cfa6946269d83c78 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 20 Jun 2022 14:43:09 -0600 Subject: [PATCH 076/310] remove unused code --- src/components/FindWallet/WalletTable.tsx | 72 ----------------------- 1 file changed, 72 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 6f90aa5939a..4e175d6abfd 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -90,16 +90,6 @@ const StyledSelect = styled(Select)` cursor: pointer; font-size: 0.9rem; - svg { - width: 24px; - height: 24px; - - path { - fill: ${(props) => props.theme.colors.primary}; - stroke: ${(props) => props.theme.colors.primary}; - } - } - .react-select__value-container { .react-select__single-value { color: ${(props) => props.theme.colors.primary}; @@ -120,15 +110,6 @@ const StyledSelect = styled(Select)` background: ${(props) => props.theme.colors.primary}; cursor: pointer; - svg { - width: 24px; - height: 24px; - - path { - fill: ${(props) => props.theme.colors.text}; - stroke: ${(props) => props.theme.colors.text}; - } - } .react-select__value-container { .react-select__single-value { color: ${(props) => props.theme.colors.text}; @@ -150,16 +131,6 @@ const StyledSelect = styled(Select)` border: none; background: ${(props) => props.theme.colors.primary}; - svg { - width: 24px; - height: 24px; - - path { - fill: ${(props) => props.theme.colors.text}; - stroke: ${(props) => props.theme.colors.text}; - } - } - .react-select__value-container { .react-select__single-value { color: ${(props) => props.theme.colors.text}; @@ -182,36 +153,6 @@ const StyledSelect = styled(Select)` } } - .react-select__menu { - .react-select__menu-list { - .react-select__option { - display: flex; - font-size: 0.9rem; - gap: 0.5rem; - svg { - width: 24px; - height: 24px; - - path { - fill: ${(props) => props.theme.colors.text}; - stroke: ${(props) => props.theme.colors.text}; - } - } - } - .react-select__option--is-selected { - svg { - width: 24px; - height: 24px; - - path { - fill: ${(props) => props.theme.colors.buttonColor}; - stroke: ${(props) => props.theme.colors.buttonColor}; - } - } - } - } - } - @media (max-width: ${(props) => props.theme.breakpoints.s}) { .react-select__control { padding: 14px 0; @@ -514,19 +455,6 @@ const WalletTable = ({ data, filters, walletData }) => { return showWallet }) - const IconOption = (props) => ( - - ) - - const IconControl = ({ children, ...props }) => ( - - {props.selectProps.value.icon} {children} - - ) - return ( From 991659caf0e870342a64d3bfc20dccf9fb6363a4 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 20 Jun 2022 14:52:55 -0600 Subject: [PATCH 077/310] filter out selected feature comparisons so user cant select multiple of the same feature to compare --- src/components/FindWallet/WalletTable.tsx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 4e175d6abfd..76bdf6d88f1 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -455,6 +455,16 @@ const WalletTable = ({ data, filters, walletData }) => { return showWallet }) + const filteredFeatureDropdownItems = [...featureDropdownItems].filter( + (item) => { + return ( + item.label !== firstFeatureSelect.label && + item.label !== secondFeatureSelect.label && + item.label !== thirdFeatureSelect.label + ) + } + ) + return ( @@ -465,7 +475,7 @@ const WalletTable = ({ data, filters, walletData }) => { { setFirstFeatureSelect(selectedOption) }} @@ -474,7 +484,7 @@ const WalletTable = ({ data, filters, walletData }) => { { setSecondFeatureSelect(selectedOption) }} @@ -483,7 +493,7 @@ const WalletTable = ({ data, filters, walletData }) => { { setThirdFeatureSelect(selectedOption) }} From 029f11eb01afff075bc4a397c45b0f92964a23f4 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 20 Jun 2022 15:12:45 -0600 Subject: [PATCH 078/310] increase clickable area for checkbox and toggles --- .../FindWallet/WalletFilterSidebar.tsx | 75 ++++++++++--------- 1 file changed, 41 insertions(+), 34 deletions(-) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 69f4fda6820..6998091105e 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -1,6 +1,5 @@ // Libraries import React, { useState } from "react" -import { getImage, GatsbyImage } from "gatsby-plugin-image" import styled from "styled-components" // Components @@ -30,7 +29,6 @@ import Multisig from "../../assets/wallets/multisig.svg" import SocialRecover from "../../assets/wallets/social_recover.svg" import Swap from "../../assets/wallets/swap.svg" - // Styles const Container = styled.div` display: flex; @@ -71,8 +69,8 @@ const FilterOption = styled.div` border-bottom: 1px solid ${(props) => props.theme.colors.lightBorder}; width: 100%; padding: 18.5px 12px 12px 12px; - :last-child{ - border:none; + :last-child { + border: none; } ` @@ -81,6 +79,7 @@ const OptionGrid = styled.div` grid-template-columns: 28px auto 34px; width: 100%; align-items: center; + cursor: pointer; p { margin: 0; @@ -114,6 +113,7 @@ const CheckboxGrid = styled.div` grid-template-columns: auto auto; margin-top: 14px; gap: 0.5rem; + cursor: pointer; ` const CheckboxGridOption = styled.div` @@ -419,41 +419,47 @@ const WalletFilterSidebar = ({ filterOption.items.map((item, itemidx) => { return ( - + { + updateFilterOption(item.filterKey) + } + : () => { + setShowOptions(idx, itemidx, !item.showOptions) + } + } + > {item.icon}

{item.title}

{item.filterKey && ( -
{ - updateFilterOption(item.filterKey) - }} - > - -
+ )} {item.showOptions !== undefined && ( -
{ - setShowOptions(idx, itemidx, !item.showOptions) - }} - > - -
+ )}
- + { + updateFilterOption(item.filterKey) + } + : () => { + setShowOptions(idx, itemidx, !item.showOptions) + } + } + >
{item.description}
@@ -462,11 +468,12 @@ const WalletFilterSidebar = ({ {item.options.map((option) => { return ( - + { + updateFilterOption(option.filterKey) + }} + > { - updateFilterOption(option.filterKey) - }} checked={filters[option.filterKey]} size={1.5} /> From 1c4ea05edba309a5b807a07bdd45bd17d025ff29 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 20 Jun 2022 15:40:06 -0600 Subject: [PATCH 079/310] remove search funcitonality from feature compare dropdowns --- src/components/FindWallet/WalletTable.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 76bdf6d88f1..7fb46c8ad00 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -480,6 +480,7 @@ const WalletTable = ({ data, filters, walletData }) => { setFirstFeatureSelect(selectedOption) }} defaultValue={firstFeatureSelect} + isSearchable={false} /> { setSecondFeatureSelect(selectedOption) }} defaultValue={secondFeatureSelect} + isSearchable={false} /> { setThirdFeatureSelect(selectedOption) }} defaultValue={thirdFeatureSelect} + isSearchable={false} /> {filteredWallets.map((wallet, idx) => { From 6b41fa65b677dad3311191203d3d18bdf8896a22 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 20 Jun 2022 15:43:56 -0600 Subject: [PATCH 080/310] deselect user persona function --- .../FindWallet/WalletPersonasSidebar.tsx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 92f782e7148..4ed339ec0ce 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -25,7 +25,6 @@ import Multisig from "../../assets/wallets/multisig.svg" import SocialRecover from "../../assets/wallets/social_recover.svg" import Swap from "../../assets/wallets/swap.svg" - // Styles const Container = styled.div` display: flex; @@ -41,7 +40,9 @@ const Persona = styled.div<{ align-items: flex-start; padding: 1rem; background: ${(props) => - props.selected === true ? props.theme.colors.primary100 : props.theme.colors.ednBackground}; + props.selected === true + ? props.theme.colors.primary100 + : props.theme.colors.ednBackground}; border: 1px solid #3d3d3d; border-radius: 4px; cursor: pointer; @@ -52,8 +53,6 @@ const Title = styled.div` align-items: center; gap: "1rem"; margin-bottom: 0.5rem; - - ` const H3 = styled.h3` @@ -90,11 +89,11 @@ const PersonaFeature = styled.div` display: flex; gap: 0.2rem; font-size: 0.85rem; - line-height:0.95rem; + line-height: 0.95rem; margin: 0.1rem; align-items: center; - p{ - margin-bottom:0; + p { + margin-bottom: 0; } svg { width: 28px; @@ -106,7 +105,6 @@ const PersonaFeature = styled.div` } ` - // Types interface Personas { title: string @@ -456,8 +454,8 @@ const WalletPersonasSidebar = ({ setFilters }) => { { - setSelectedPersona(idx) - setFilters(persona.presetFilters) + setSelectedPersona(idx === selectedPersona ? NaN : idx) + setFilters(persona.presetFilters) // TODO: Add reset functionality when deselecting a user persona after adding in reset filter method }} > From 08421f70369038b21ced14f5c01b5783adc64b14 Mon Sep 17 00:00:00 2001 From: Corwin Smith <cssmittys@gmail.com> Date: Mon, 20 Jun 2022 16:45:47 -0600 Subject: [PATCH 081/310] persistent personas, and reset filter functionality --- .../FindWallet/WalletPersonasSidebar.tsx | 17 +++- src/components/Icon.tsx | 10 +- src/pages/wallets/find-wallet.tsx | 97 +++++++++++++------ 3 files changed, 88 insertions(+), 36 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 4ed339ec0ce..2ab3eeb8b51 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -214,9 +214,12 @@ const filterLabels = { }, } -const WalletPersonasSidebar = ({ setFilters }) => { - const [selectedPersona, setSelectedPersona] = useState(NaN) - +const WalletPersonasSidebar = ({ + resetFilters, + setFilters, + selectedPersona, + setSelectedPersona, +}) => { const personas: Personas[] = [ { title: "I'm new to Ethereum", @@ -454,8 +457,12 @@ const WalletPersonasSidebar = ({ setFilters }) => { <Persona selected={selectedPersona === idx} onClick={() => { - setSelectedPersona(idx === selectedPersona ? NaN : idx) - setFilters(persona.presetFilters) // TODO: Add reset functionality when deselecting a user persona after adding in reset filter method + if (idx === selectedPersona) { + resetFilters() + } else { + setSelectedPersona(idx) + setFilters(persona.presetFilters) + } }} > <Title> diff --git a/src/components/Icon.tsx b/src/components/Icon.tsx index 08ef52234c5..d4e53ec3449 100644 --- a/src/components/Icon.tsx +++ b/src/components/Icon.tsx @@ -1,5 +1,4 @@ import React from "react" -import PropTypes from "prop-types" import styled from "styled-components" import { IconContext } from "react-icons" import { @@ -10,7 +9,6 @@ import { FaRedditAlien, FaStackExchange, FaGlobe, - FaCheck, } from "react-icons/fa" import { MdAdd, @@ -29,7 +27,12 @@ import { MdFlip, MdLiveHelp, } from "react-icons/md" -import { BsQuestionSquareFill, BsToggleOff, BsToggleOn } from "react-icons/bs" +import { + BsArrowCounterclockwise, + BsQuestionSquareFill, + BsToggleOff, + BsToggleOn, +} from "react-icons/bs" import { IoCodeOutline, IoCodeDownload } from "react-icons/io5" const socialColors = { @@ -91,6 +94,7 @@ const Icon: React.FC<IProps> = ({ <FaStackExchange color={color ? socialColors.stackExchange : undefined} /> )} {name === "webpage" && <FaGlobe />} + {name === "arrowCounterClockwise" && <BsArrowCounterclockwise />} </IconContext.Provider> ) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 69028de8d2d..872dacf04a8 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -7,6 +7,7 @@ import styled from "styled-components" // Components import Breadcrumbs from "../../components/Breadcrumbs" +import Icon from "../../components/Icon" import Link from "../../components/Link" import PageMetadata from "../../components/PageMetadata" import { Content, Page } from "../../components/SharedStyledComponents" @@ -190,43 +191,68 @@ const Note = styled.div` } ` +const ResetContainer = styled.div` + display: flex; + flex-direction: row; + align-items: center; + padding: 3px 8px; + border: 1px solid ${(props) => props.theme.colors.primary}; + border-radius: 3px; + max-width: 150px; + gap: 0.25rem; + cursor: pointer; + + p { + margin: 0; + color: ${(props) => props.theme.colors.primary}; + } +` + +const ResetIcon = styled(Icon)` + fill: ${(props) => props.theme.colors.primary}; +` + +const filterDefault = { + android: false, + ios: false, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: false, + non_custodial: false, + hardware_support: false, + walletconnect: false, + rpc_importing: false, + nft_support: false, + connect_to_dapps: false, + staking: false, + swaps: false, + layer_2: false, + gas_fee_customization: false, + ens_support: false, + erc_20_support: false, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, +} + const FindWalletPage = ({ data, location }) => { const intl = useIntl() const [showFeatureFilters, setShowFeatureFilters] = useState(false) const [showMobileSidebar, setShowMobileSidebar] = useState(false) - const [filters, setFilters] = useState({ - android: false, - ios: false, - linux: false, - windows: false, - macOS: false, - firefox: false, - chromium: false, - hardware: false, - open_source: false, - non_custodial: false, - hardware_support: false, - walletconnect: false, - rpc_importing: false, - nft_support: false, - connect_to_dapps: false, - staking: false, - swaps: false, - layer_2: false, - gas_fee_customization: false, - ens_support: false, - erc_20_support: false, - buy_crypto: false, - withdraw_crypto: false, - multisig: false, - social_recovery: false, - }) + const [filters, setFilters] = useState(filterDefault) + const [selectedPersona, setSelectedPersona] = useState(NaN) const updateFilterOption = (key) => { const updatedFilters = { ...filters } updatedFilters[key] = !updatedFilters[key] setFilters(updatedFilters) + setSelectedPersona(NaN) } const updateFilterOptions = (keys, value) => { @@ -235,6 +261,12 @@ const FindWalletPage = ({ data, location }) => { updatedFilters[key] = value } setFilters(updatedFilters) + setSelectedPersona(NaN) + } + + const resetFilters = () => { + setSelectedPersona(NaN) + setFilters(filterDefault) } return ( @@ -304,6 +336,10 @@ const FindWalletPage = ({ data, location }) => { <p>Feature Filters</p> </FilterTab> </FilterTabs> + <ResetContainer onClick={resetFilters}> + <ResetIcon name="arrowCounterClockwise" size="16" /> + <p>RESET FILTERS</p> + </ResetContainer> <div> {showFeatureFilters ? ( <WalletFilterSidebar @@ -312,7 +348,12 @@ const FindWalletPage = ({ data, location }) => { updateFilterOptions={updateFilterOptions} /> ) : ( - <WalletPersonasSidebar setFilters={setFilters} /> + <WalletPersonasSidebar + resetFilters={resetFilters} + setFilters={setFilters} + selectedPersona={selectedPersona} + setSelectedPersona={setSelectedPersona} + /> )} </div> </FilterSidebar> From 3063b851f7ff7486542b731adbb10943af240387 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro <loureironuno@gmail.com> Date: Tue, 21 Jun 2022 10:00:05 +0100 Subject: [PATCH 082/310] reset button and tabs styling --- src/pages/wallets/find-wallet.tsx | 39 +++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 872dacf04a8..4c167f6b0e4 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -114,7 +114,7 @@ const FilterSidebar = styled.div<{ showMobileSidebar: boolean }>` width: 25%; display: flex; flex-direction: column; - gap: 24px; + gap: 0.55rem; @media (max-width: ${(props) => props.theme.breakpoints.l}) { width: ${(props) => (props.showMobileSidebar ? "350px" : "0")}; @@ -152,12 +152,16 @@ const FilterTab = styled.div<{ text-align: center; background: ${(props) => props.active === true ? props.theme.colors.primary : "none"}; - border-radius: 4px 4px 0px 0px; + border-radius: 8px 0px 0px 0px; padding: 10px; vertical-align: middle; - + color: ${(props) => - props.active === true ? "white" : props.theme.colors.text}; + props.active === true ? props.theme.colors.background : props.theme.colors.text}; + + :last-child { + border-radius: 0px 8px 0px 0px; + } :hover { background: ${(props) => @@ -195,16 +199,31 @@ const ResetContainer = styled.div` display: flex; flex-direction: row; align-items: center; - padding: 3px 8px; - border: 1px solid ${(props) => props.theme.colors.primary}; - border-radius: 3px; - max-width: 150px; + justify-content: center; + padding: 2px 4px; + border: 1px solid ${(props) => props.theme.colors.selectHover}; + border-radius: 4px; + width: 140px; + margin: 0 auto; gap: 0.25rem; + font-size:0.75rem; cursor: pointer; + :hover{ + border: 1px solid ${(props) => props.theme.colors.primary}; + p{ + color: ${(props) => props.theme.colors.primary}; + } + svg{ + fill: ${(props) => props.theme.colors.primary}; + } + } p { margin: 0; - color: ${(props) => props.theme.colors.primary}; + color: ${(props) => props.theme.colors.selectHover}; + } + svg{ + fill: ${(props) => props.theme.colors.selectHover}; } ` @@ -337,7 +356,7 @@ const FindWalletPage = ({ data, location }) => { </FilterTab> </FilterTabs> <ResetContainer onClick={resetFilters}> - <ResetIcon name="arrowCounterClockwise" size="16" /> + <ResetIcon name="arrowCounterClockwise" size="14" /> <p>RESET FILTERS</p> </ResetContainer> <div> From bdc9097d9f8c34b98911de5e68a6a83f837cd8bd Mon Sep 17 00:00:00 2001 From: Nuno Loureiro <loureironuno@gmail.com> Date: Tue, 21 Jun 2022 11:24:05 +0100 Subject: [PATCH 083/310] link to wallet on table styling --- src/components/FindWallet/WalletTable.tsx | 26 +++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 7fb46c8ad00..1ece84f0398 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -36,6 +36,10 @@ const Container = styled.div` const WalletContainer = styled(Container)` border-bottom: 1px solid ${(props) => props.theme.colors.lightBorder}; + :hover { + background: ${(props) => props.theme.colors.boxShadow}; + transition: 0.5s all; + } ` const Grid = styled.div` @@ -49,10 +53,6 @@ const Grid = styled.div` margin: 0; } - :hover { - background: ${(props) => props.theme.colors.boxShadow}; - transition: 0.5s all; - } @media (max-width: ${(props) => props.theme.breakpoints.m}) { grid-template-columns: 40% auto auto 0% 5%; @@ -190,11 +190,25 @@ const FlexInfo = styled.div` font-size: 1.2rem; } p + p { - margin: 0.1rem 0 0.3rem; + margin: 0.1rem 0 1rem; font-size: 0.9rem; } p + a { font-size: 0.9rem; + border: 1px solid ${(props) => props.theme.colors.primary}; + padding: 4px 8px; + margin-top: 1rem; + border-radius: 4px; + text-decoration: none; + transition: 0.5s all; + :after{ + display:none; + } + :hover{ + background: ${(props) => props.theme.colors.primary}; + color: ${(props) => props.theme.colors.background}; + transition: 0.5s all; + } } ` @@ -528,7 +542,7 @@ const WalletTable = ({ data, filters, walletData }) => { <div> <p>{wallet.name}</p> <SecondaryText>{deviceLabels.join(" | ")}</SecondaryText> - <Link to={wallet.url}>Check out {wallet.name}</Link> + <Link to={wallet.url}>Go to {wallet.name}</Link> </div> </FlexInfo> <FlexInfoCenter onClick={() => updateMoreInfo(idx)}> From 5868c495e873a0a2b15b3c132b65b9f780491b96 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro <loureironuno@gmail.com> Date: Tue, 21 Jun 2022 11:34:46 +0100 Subject: [PATCH 084/310] table header retouched --- src/components/FindWallet/WalletTable.tsx | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 1ece84f0398..171d733f331 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -64,7 +64,6 @@ const Grid = styled.div` ` const WalletContentHeader = styled(Grid)` - border-bottom: 1px solid ${(props) => props.theme.colors.primary}; position: sticky; top: 76px; padding: 8px; @@ -85,10 +84,16 @@ const WalletContentHeader = styled(Grid)` // Pass menuIsOpen={true} to component to debug const StyledSelect = styled(Select)` .react-select__control { - border: none; + border: 1px solid ${(props) => props.theme.colors.selectHover}; background: none; cursor: pointer; font-size: 0.9rem; + padding-right: 0.3rem; + transition: 0.5s all; + svg{ + fill:${(props) => props.theme.colors.selectHover}; + transition: 0.5s all; + } .react-select__value-container { .react-select__single-value { @@ -109,10 +114,18 @@ const StyledSelect = styled(Select)` &:hover { background: ${(props) => props.theme.colors.primary}; cursor: pointer; + border: 1px solid ${(props) => props.theme.colors.primary}; + color: ${(props) => props.theme.colors.background}; + transition: 0.5s all; + svg{ + fill: ${(props) => props.theme.colors.background}; + transition: 0.5s all; + } .react-select__value-container { .react-select__single-value { - color: ${(props) => props.theme.colors.text}; + color: ${(props) => props.theme.colors.background}; + } } From c2049827e9fd99c9d4bc5cb9e3e620ff2f51c2a3 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro <loureironuno@gmail.com> Date: Tue, 21 Jun 2022 12:14:37 +0100 Subject: [PATCH 085/310] not primary color on dropdowns --- src/components/FindWallet/WalletTable.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 171d733f331..63e57a820bc 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -84,20 +84,20 @@ const WalletContentHeader = styled(Grid)` // Pass menuIsOpen={true} to component to debug const StyledSelect = styled(Select)` .react-select__control { - border: 1px solid ${(props) => props.theme.colors.selectHover}; + border: 1px solid ${(props) => props.theme.colors.text}; background: none; cursor: pointer; font-size: 0.9rem; padding-right: 0.3rem; transition: 0.5s all; svg{ - fill:${(props) => props.theme.colors.selectHover}; + fill:${(props) => props.theme.colors.text}; transition: 0.5s all; } .react-select__value-container { .react-select__single-value { - color: ${(props) => props.theme.colors.primary}; + color: ${(props) => props.theme.colors.text}; } } @@ -196,7 +196,7 @@ const Wallet = styled(Grid)` const FlexInfo = styled.div` display: flex; gap: 1rem; - align-items: center; + align-items: start; p { padding: 0; @@ -205,6 +205,7 @@ const FlexInfo = styled.div` p + p { margin: 0.1rem 0 1rem; font-size: 0.9rem; + line-height: 1rem; } p + a { font-size: 0.9rem; From ae69c6750d8fedbc586772bdddf33340fa30adc3 Mon Sep 17 00:00:00 2001 From: tadeo <tadeo@data.makerdao.network> Date: Tue, 21 Jun 2022 13:38:14 +0200 Subject: [PATCH 086/310] added ETHGathering to community events --- src/data/community-events.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/data/community-events.json b/src/data/community-events.json index 7b28ab9d9a4..f4fe6d78d9d 100644 --- a/src/data/community-events.json +++ b/src/data/community-events.json @@ -413,6 +413,15 @@ "startDate": "2022-11-04", "endDate": "2022-11-06" }, + { + "title": "ETHGathering", + "to": "https://www.ethgathering.com/", + "sponsor": null, + "location": "Barcelona, Spain", + "description": "Hosted in one of the world's most vibrant and creative cities, ETH Gathering Barcelona 2022 is a two-day conference focused on the community building the decentralised future.", + "startDate": "2022-11-18", + "endDate": "2022-11-20" + }, { "title": "ETHIndia", "to": "https://airtable.com/shrZ89OEwQJRtXHPv/", From 0ea4a63433c2f45d3e6d4584d246b668cd4cfe86 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Tue, 21 Jun 2022 13:23:49 +0100 Subject: [PATCH 087/310] Fix links --- src/content/nft/index.md | 61 +++++----------------------------------- 1 file changed, 7 insertions(+), 54 deletions(-) diff --git a/src/content/nft/index.md b/src/content/nft/index.md index 5c4696737ae..2188abd4239 100644 --- a/src/content/nft/index.md +++ b/src/content/nft/index.md @@ -46,7 +46,6 @@ Here's how an internet of NFTs compared to the internet most of us use today loo ### NFT examples {#nft-examples} -**NFT examples** The NFT world is relatively new. In theory, the scope for NFTs is anything that is unique that needs provable ownership. Here are some examples of NFTs that exist today, to help you get the idea: - [A unique digital artwork](https://foundation.app/artworks) @@ -56,14 +55,12 @@ The NFT world is relatively new. In theory, the scope for NFTs is anything that - [A digital collectible](https://www.larvalabs.com/cryptopunks/details/1) - [A domain name](https://app.ens.domains/name/ethereum.eth) - [A ticket that gives you access to an event or a coupon](https://www.yellowheart.io/) -- [Buy real world goods - for example, gold] (https://www.tangible.store/) -- [Fractionilsed Real estate] (https://realt.co/ -- [Degree Certificates] (https://www.degreecert.com/) -- [Own Music royalties via NFTs] (https://opulous.org/ -- [Move 2 Earn] (https://yeticoineth.com/about.html -- [Digital Identity] (https://photochromic.io/) -- [NFTs and De-Fi working together] (https://swellnetwork.io/) - +- [Buy real world goods](https://www.tangible.store/) +- [fractionalized real-estate](https://realt.co/) +- [Degree Certificates](https://www.degreecert.com/) +- [Music royalties via NFTs](https://opulous.org/) +- [Move 2 earn](https://yeticoineth.com/about.html) +- [Digital identity](https://photochromic.io/) ### ethereum.org examples {#ethereum-org-examples} @@ -248,28 +245,6 @@ Projects are beginning to explore using NFTs as collateral instead. Imagine you And this isn't hard on Ethereum, because both worlds (NFT and DeFi) share the same infrastructure. -Charge your NFT with yield - -Charged Particles is still in development although worth exploring the potential. -They want NFT holders to be able to turn a standard NFT into a yield-generating investment. -Charged Particles in a protocol layer solution allow users to energize ANY NFT with many different types of interest-bearing assets (e.g. DAI, ETH, etc.). -The principal of the deposit can optionally be “locked” into the Particle, whereas the interest portion can always be withdrawn, or “discharged” -[Theidols.io](http://theidols.io/) has a similar project of locking ETH away in staking protocol Lido forever and discharging the ETH rewards to a treasury and the NFT owners. - -NFTs as a Bond - -A project known as [truefreeze](https://truefreeze.xyz/) aims to reward people for holding their ETH long term. The ETH is locked into an NFT and the user is rewarded for keeping the ETH over a long time period. - -The NFT acts as a certificate and can be traded on marketplaces, the buying and selling in this way does not impact the price of ETH. -The idea is to not place the ETH in a yield farm, or liquidity pair but to allow a user to store ETH in a risk-adjusted manner and increase adoption of crypto. - -NFTs making DE-Fi more user friendly - -A new staking protocol called [Swell](https://swellnetwork.io) allows a user to [stake](https://ethereum.org/en/staking/) their ETH and also put it into a liquidity pool all in one system and have an NFT represent your holdings. This makes it much less complicated for a user to check and manage. -Insurance -Only small experiments have been made by individual users to basket insurance policies into an NFT which can be purchased and gives the holder insurance rights. The NFTs can be bought and sold on an open market. - - #### Fractional ownership {#fractional-ownership} NFT creators can also create "shares" for their NFT. This gives investors and fans the opportunity to own a part of an NFT without having to buy the whole thing. This adds even more opportunities for NFT minters and collectors alike. @@ -294,35 +269,13 @@ As we mentioned, this is an emerging space. NFTs, DAOs, fractionalised tokens ar Other NFT Use cases ** Certificates of authenticity - E.g Birth, Marriage, Death and Degrees** -University degree companies (Degree mills) offering fake degree certificates are reportedly a billion-dollar industry that NFTs can help combat. +University degree companies (Degree mills) offering fake degree certificates are reportedly a billion-dollar industry that NFTs can help combat. NFTs can be a secure and quick way to verify someone's degree credentials. Cutting out a huge amount of administrative burden and an NFT is much harder to cheat than a certificate on paper [In South Korea, a university](https://forkast.news/headlines/south-korea-nfts-graduates-hoseo/) already issued degrees via an NFT. ‘The university hopes the pivot from a paper-based degree to NFTs will improve access to administrative services and prevent forgery or alteration of the degree’ Trinity Business School (TBS) in Ireland is also planning on offering NFTs from 2023. -**Digital Identity** - -This area is still in its early stages however as the technology develops so will the use cases. -When combining these invaluable building blocks with biometrics and NFTs, a persistent and portable identity is created which resolves to a unique and real person, without compromising their privacy or data dignity. - -**Ticketing** - -Ticketing for events is often misunderstood as QR codes are perceived to do the same. - -NFTs can have smart contracts behind them, so an NFT + smart contract could refund you automatically if the concert or plane flight is cancelled without having to apply, which also saves time and administration costs. - -Another example of the magic of smart contracts is the revenue from your NFT ticket could automatically pay the artist 40%, the DJ 10%, the lighting crew 2%, the janitors 1%, and on and on. No middle person is needed to orchestrate the payments, which means you pay almost nothing in fees. -There is also NFT artwork attached to the event you attend (similar to Beatles tickets that are now collectables) - -**SAAS subscription model into NFTs** -This area is in a very early experimentally stage, some companies have started selling NFTs as permanent access to their software instead of a monthly subscription. - -The main benefit is that the customer and client are really aligned in giving feedback, and making the product better and the customer is committed to the software provider. - -Taking this approach is thinking about their long term strategy to stay relevant with their clients. Another benefit is that NFT can raise capital injection to develop more products and offerings. - - <Divider /> ## Ethereum and NFTs {#ethereum-and-nfts} From bb0fb3c213aab12270a66c48517823c94bac1543 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Tue, 21 Jun 2022 13:31:29 +0100 Subject: [PATCH 088/310] Edit univeristy degrees section --- src/content/nft/index.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/content/nft/index.md b/src/content/nft/index.md index 2188abd4239..c75eff54fb6 100644 --- a/src/content/nft/index.md +++ b/src/content/nft/index.md @@ -266,15 +266,11 @@ As we mentioned, this is an emerging space. NFTs, DAOs, fractionalised tokens ar [More on DAOs](/dao/) -Other NFT Use cases -** -Certificates of authenticity - E.g Birth, Marriage, Death and Degrees** -University degree companies (Degree mills) offering fake degree certificates are reportedly a billion-dollar industry that NFTs can help combat. -NFTs can be a secure and quick way to verify someone's degree credentials. Cutting out a huge amount of administrative burden and an NFT is much harder to cheat than a certificate on paper - -[In South Korea, a university](https://forkast.news/headlines/south-korea-nfts-graduates-hoseo/) already issued degrees via an NFT. -‘The university hopes the pivot from a paper-based degree to NFTs will improve access to administrative services and prevent forgery or alteration of the degree’ -Trinity Business School (TBS) in Ireland is also planning on offering NFTs from 2023. +### Certificates of authenticity {#certificates} + +Companies offering fake certificates for university degrees are reportedly a billion-dollar industry that NFTs can help combat. NFTs can be a secure and quick way to verify someone's degree credentials. + +[In South Korea, one university is already issuing degree certificates as an NFT](https://forkast.news/headlines/south-korea-nfts-graduates-hoseo/), with the hope that NFTs will improve access to administrative services and prevent forgery or alteration of the degree. [Trinity Business School (TBS) in Ireland is also planning on offering NFTs from 2023](https://trinitynews.ie/2022/04/business-school-to-offer-degree-nfts/). <Divider /> From ae7e4fa7e9803a7289cb29277178ca9ebdc458bf Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Tue, 21 Jun 2022 13:31:58 +0100 Subject: [PATCH 089/310] Update src/content/nft/index.md --- src/content/nft/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/nft/index.md b/src/content/nft/index.md index c75eff54fb6..c9432d532c1 100644 --- a/src/content/nft/index.md +++ b/src/content/nft/index.md @@ -56,7 +56,7 @@ The NFT world is relatively new. In theory, the scope for NFTs is anything that - [A domain name](https://app.ens.domains/name/ethereum.eth) - [A ticket that gives you access to an event or a coupon](https://www.yellowheart.io/) - [Buy real world goods](https://www.tangible.store/) -- [fractionalized real-estate](https://realt.co/) +- [Fractionalized real-estate](https://realt.co/) - [Degree Certificates](https://www.degreecert.com/) - [Music royalties via NFTs](https://opulous.org/) - [Move 2 earn](https://yeticoineth.com/about.html) From 6e9886636c8a3a770389cecea4d70cc79ef39c7b Mon Sep 17 00:00:00 2001 From: MiloBowman <104447804+MiloBowman@users.noreply.github.com> Date: Tue, 21 Jun 2022 16:11:48 +0100 Subject: [PATCH 090/310] Update community-meetups.json --- src/data/community-meetups.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/data/community-meetups.json b/src/data/community-meetups.json index 7d494b72d56..2ec5e547449 100644 --- a/src/data/community-meetups.json +++ b/src/data/community-meetups.json @@ -185,6 +185,12 @@ "location": "London", "link": "https://www.meetup.com/ethereum/" }, + { + "title": "Brighton Blockchain", + "emoji": ":gb:", + "location": "Brighton and Hove", + "link": "https://www.meetup.com/brighton-blockchain/" + }, { "title": "Austin Ethereum Meetup", "emoji": ":us:", From 1340421e971fe294d2c1df58dc303cef7451b04d Mon Sep 17 00:00:00 2001 From: Corwin Smith <cssmittys@gmail.com> Date: Tue, 21 Jun 2022 09:37:35 -0600 Subject: [PATCH 091/310] Update src/components/FindWallet/WalletFilterSidebar.tsx Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/components/FindWallet/WalletFilterSidebar.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 6998091105e..b69bef83290 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -408,6 +408,8 @@ const WalletFilterSidebar = ({ onClick={() => { setOpen(idx) }} + role="button" + aria-expanded={filterOption.open ? "true" : "false"} > <h3>{filterOption.title}</h3> <StyledIcon From e2118ee19bcbe5b6c67df817a65d594e0a31946a Mon Sep 17 00:00:00 2001 From: Corwin Smith <cssmittys@gmail.com> Date: Tue, 21 Jun 2022 09:37:45 -0600 Subject: [PATCH 092/310] Update src/components/FindWallet/WalletFilterSidebar.tsx Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com> --- src/components/FindWallet/WalletFilterSidebar.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index b69bef83290..ff5a402aa54 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -432,7 +432,7 @@ const WalletFilterSidebar = ({ } } > - <IconContainer>{item.icon}</IconContainer> + <IconContainer aria-hidden="true">{item.icon}</IconContainer> <p>{item.title}</p> <div> {item.filterKey && ( From 1344c6aa87ab32b6d15350b5b99b8d9ef2e3a0c6 Mon Sep 17 00:00:00 2001 From: Corwin Smith <cssmittys@gmail.com> Date: Tue, 21 Jun 2022 11:02:24 -0600 Subject: [PATCH 093/310] Switch to using real data instead of dummy data --- src/assets/wallets/frame.png | Bin 0 -> 942 bytes src/components/WalletCompare.js | 428 ------------------ src/data/find-wallet/wallet-data.ts | 219 --------- .../wallet-data.ts} | 88 ++-- src/pages/wallets/find-wallet.tsx | 65 ++- 5 files changed, 95 insertions(+), 705 deletions(-) create mode 100644 src/assets/wallets/frame.png delete mode 100644 src/components/WalletCompare.js delete mode 100644 src/data/find-wallet/wallet-data.ts rename src/data/{find-wallet/real-wallet-data.ts => wallets/wallet-data.ts} (99%) diff --git a/src/assets/wallets/frame.png b/src/assets/wallets/frame.png new file mode 100644 index 0000000000000000000000000000000000000000..4c48bcf7f99772a91323a0339894b478cbb130fc GIT binary patch literal 942 zcmeAS@N?(olHy`uVBq!ia0vp^GeMYx8Ax(BWppqwFscRkgt!8^|B=A``~P3O`2YI# z|M&0zfB5kK(<c!3)hm$5n>YX8z6FT`xj^>2cRydf|MmLyuQzXgy?y)Z)w@5h-h$AZ zcYofzfwEt}`wKyD-u!+27K+}y`wK#E{=Nbuu=wxSZ-2jf10o^l&D-A~1T+(f-u!v} z7KXs=H$Yp!2x#5wcQ6D~1C)ZQ2TFmR1mXf+0(Ah;3XnKL8C*SXhR`aj3&4;{ED7=p zW?*DuX64}K6%Z5_laP{@kyp{sF*Gr=@C*%$iA_vSOV7wIEG{XpsI01~ZEWi3>h7N~ zanj_eGiS|Sx_s5@HS5-I*tliuwjI0o>^peu)Y<bFZ`{3i|KZbT&)<Lf`tAF#-+%tC zblPkUw2U#y+ueonKa=h~Ap4}Ji(^Q|t+#iM2QfK{v_8ycGkm^A!r{!Kq$3SYf}3B= znDP6c{=-APXSmXKE%%%H{Qmt_>+|04+7;#EvLrL(?}t0(I}<mC{0;GJp1OrO`();W zH5a7LU2)(ROYzQ9`5c{HA080p<eU1-VSUfZl6!039G&B%FD_g+TUvU>_Y<eOf-*Pm zbXw+M`+ec5E0Qi#UuH|M^4Xr4dfzZ)rr&{6MjJK>M?^Lnozhs`gG!v~dXt@gG+*-g zsvPA5f9p=I(h+qq^OH=S66gjc{`-7m)INRal#=<1O}8=@p2}L(s=c~ZY||RHs2iJJ zWiC9e66G>6w&J*zjKIz4Gxwzfe;et#*%q^k%)Ga4(WyNq3Nzc=R8}u>JgJotv1z}F z!OUlgsd{UCG?85LX8y@*OedDDJvHa4=YCc1uvA5u<p^g?2@G5MMkH(-xAyGTsilWc zsqkyR{_8UJ<ce;s$rH;%W`2>`y})SVxr(a)2lCzh*%DI?BOgz*ytz1V=9Q(rC$}9j z$UQ7@=B;?Zt$7@3Z|#)CGG-r4ERR*{*mC}A+Q#6!J|7R3U%&a|{r!dZ<w{|Un_0H+ Q0md+cr>mdKI;Vst0RBxs4FCWD literal 0 HcmV?d00001 diff --git a/src/components/WalletCompare.js b/src/components/WalletCompare.js deleted file mode 100644 index 43ec48574a0..00000000000 --- a/src/components/WalletCompare.js +++ /dev/null @@ -1,428 +0,0 @@ -import React, { useState, useEffect } from "react" -import { useStaticQuery, graphql } from "gatsby" -import { useIntl, navigate } from "gatsby-plugin-intl" -import styled from "styled-components" -import { shuffle } from "lodash" - -import ButtonLink from "./ButtonLink" -import Emoji from "./Emoji" -import Link from "./Link" -import SelectableCard from "./SelectableCard" -import Translation from "../components/Translation" -import Tag from "./Tag" -import WalletCard from "./WalletCard" -import { Content } from "./SharedStyledComponents" - -import { getLocaleTimestamp } from "../utils/time" -import { trackCustomEvent } from "../utils/matomo" -import { translateMessageId } from "../utils/translations" - -const Container = styled.div` - margin-top: 2rem; -` - -const ButtonContainer = styled.div` - display: flex; - justify-content: center; - margin-top: 2rem; - margin-bottom: 2rem; -` - -const Subtitle = styled.div` - font-size: 1.25rem; - line-height: 140%; - margin-bottom: 2rem; - color: ${(props) => props.theme.colors.text200}; -` - -const GradientContainer = styled.div` - width: 100%; - background: ${(props) => props.theme.colors.cardGradient}; - padding: 3rem 2rem; - border-top: 1px solid ${(props) => props.theme.colors.tableItemBoxShadow}; - border-bottom: 1px solid ${(props) => props.theme.colors.tableItemBoxShadow}; -` - -const WalletFeaturesGrid = styled.div` - display: grid; - grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); - gap: 2rem; -` - -const FilterContainer = styled.div` - min-height: 82px; -` - -const TagsContainer = styled.div` - display: flex; - justify-content: space-between; - align-items: flex-start; - margin-bottom: 2rem; - @media (max-width: ${(props) => props.theme.breakpoints.s}) { - flex-direction: column; - } -` - -const TagContainer = styled.div` - display: flex; - flex-wrap: wrap; - max-width: 80%; - @media (max-width: ${(props) => props.theme.breakpoints.s}) { - max-width: 100%; - margin-bottom: 1rem; - } -` - -const ClearLink = styled.button` - color: ${(props) => props.theme.colors.primary}; - text-decoration: underline; - background: none; - border: none; - padding: 0; - cursor: pointer; -` - -export const walletCardImage = graphql` - fragment walletCardImage on File { - childImageSharp { - gatsbyImageData( - width: 64 - layout: CONSTRAINED - placeholder: BLURRED - quality: 100 - ) - } - } -` - -const ResultsContainer = styled.div` - margin-top: 0rem; -` - -const ResultsGrid = styled.div` - display: grid; - grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); - gap: 2rem; -` - -const Disclaimer = styled.div` - margin-top: 2rem; -` - -// `id` fields must match src/data/wallets.csv column headers -const walletFeatures = [ - { - id: "has_card_deposits", - emoji: ":credit_card:", - title: "page-find-wallet-buy-card", - description: "page-find-wallet-buy-card-desc", - }, - { - id: "has_explore_dapps", - emoji: ":world_map:", - title: "page-find-wallet-explore-dapps", - description: "page-find-wallet-explore-dapps-desc", - }, - { - id: "has_defi_integrations", - emoji: ":money_with_wings:", - title: "page-find-wallet-fi-tools", - description: "page-find-wallet-fi-tools-desc", - }, - { - id: "has_bank_withdrawals", - emoji: ":bank:", - title: "page-find-wallet-withdraw", - description: "page-find-wallet-withdraw-desc", - }, - { - id: "has_limits_protection", - emoji: ":shield:", - title: "page-find-wallet-limits", - description: "page-find-wallet-limits-desc", - }, - { - id: "has_high_volume_purchases", - emoji: ":whale:", - title: "page-find-wallet-volume", - description: "page-find-wallet-voluem-desc", - }, - { - id: "has_dex_integrations", - emoji: ":repeat:", - title: "page-find-wallet-swaps", - description: "page-find-wallet-swaps-desc", - }, - { - id: "has_multisig", - emoji: ":busts_in_silhouette:", - title: "page-find-wallet-multisig", - description: "page-find-wallet-multisig-desc", - }, -] - -const WalletCompare = ({ location }) => { - const [state, setState] = useState({ - selectedFeatureIds: [], - wallets: [], - }) - // image variables must match `id` column in src/data/wallets.csv - const data = useStaticQuery(graphql` - query { - allWallets: allWalletsCsv { - nodes { - id - name - url - brand_color - has_mobile - has_desktop - has_web - has_hardware - has_card_deposits - has_explore_dapps - has_defi_integrations - has_bank_withdrawals - has_limits_protection - has_high_volume_purchases - has_dex_integrations - has_multisig - image { - ...walletCardImage - } - } - } - timestamp: walletsCsv { - parent { - ... on File { - id - name - fields { - gitLogLatestDate - } - } - } - } - } - `) - - const intl = useIntl() - - useEffect(() => { - // Fetch filters on load - const queryParamFilters = new URLSearchParams(location.search || "").get( - "filters" - ) // Comma separated string - const selectedFeatureIds = queryParamFilters - ? queryParamFilters.split(",") - : [] - - const nodes = data.allWallets.nodes - const wallets = shuffle( - nodes.map((node) => { - node.alt = translateMessageId( - `page-find-wallet-${node.id}-logo-alt`, - intl - ) - node.description = translateMessageId( - `page-find-wallet-description-${node.id}`, - intl - ) - return node - }) - ) - setState({ selectedFeatureIds, wallets }) - }, [data, intl, location.search]) - - let lastUpdated - // TODO remove conditionals once file is registered in git - if (data.timestamp.parent.fields) { - lastUpdated = getLocaleTimestamp( - intl.locale, - data.timestamp.parent.fields.gitLogLatestDate - ) - } - - const updatePath = (selectedFeatureIds) => { - // Update URL path with new filter query params - let newPath = "/wallets/find-wallet/" - if (selectedFeatureIds.length > 0) { - newPath += "?filters=" - for (const id of selectedFeatureIds) { - newPath += `${id},` - } - newPath = newPath.substr(0, newPath.length - 1) - } - // Apply new path without refresh if within `window` - if (window) { - newPath = `/${intl.locale}` + newPath - window.history.pushState(null, "", newPath) - } else { - navigate(newPath) - } - } - - const clearFilters = () => { - setState({ ...state, selectedFeatureIds: [] }) - updatePath([]) - } - - // Add feature filter (or remove if already selected) - const handleSelect = (featureId) => { - const selectedFeatureIds = state.selectedFeatureIds - - const index = selectedFeatureIds.indexOf(featureId) - if (index > -1) { - selectedFeatureIds.splice(index, 1) - } else { - selectedFeatureIds.push(featureId) - - trackCustomEvent({ - eventCategory: `Wallet feature`, - eventAction: `Selected`, - eventName: featureId, - }) - } - setState({ selectedFeatureIds, wallets: state.wallets }) - updatePath(selectedFeatureIds) - } - - let filteredWallets = state.wallets.filter((wallet) => { - for (const featureId of state.selectedFeatureIds) { - if (wallet[featureId] !== "TRUE") { - return false - } - } - return true - }) - - const hasSelectedFeatures = state.selectedFeatureIds.length > 0 - const selectedFeatures = walletFeatures.filter((feature) => - state.selectedFeatureIds.includes(feature.id) - ) - const remainingFeatures = walletFeatures.filter( - (feature) => !state.selectedFeatureIds.includes(feature.id) - ) - - return ( - <Container> - <Content> - <h2> - <Translation id="page-find-wallet-feature-h2" /> - </h2> - <WalletFeaturesGrid> - {walletFeatures.map((card, idx) => { - const isSelected = state.selectedFeatureIds.includes(card.id) - return ( - <SelectableCard - key={idx} - emoji={card.emoji} - title={translateMessageId(card.title, intl)} - description={translateMessageId(card.description, intl)} - isSelected={isSelected} - onSelect={handleSelect} - value={card.id} - /> - ) - })} - </WalletFeaturesGrid> - - <ButtonContainer id="results"> - <ButtonLink to="/wallets/find-wallet/#results"> - <Translation id="page-find-wallet-search-btn" /> - </ButtonLink> - </ButtonContainer> - </Content> - - <GradientContainer> - <h2> - <Translation id="page-find-wallet-Ethereum-wallets" /> - </h2> - <FilterContainer> - {hasSelectedFeatures && ( - <Subtitle> - <Translation id="page-find-wallet-we-found" />{" "} - {filteredWallets.length}{" "} - {filteredWallets.length === 1 ? "wallet" : "wallets"}{" "} - <Translation id="page-find-wallet-following-features" /> - </Subtitle> - )} - {!hasSelectedFeatures && ( - <Subtitle> - <Translation id="page-find-wallet-showing" /> - {filteredWallets.length}{" "} - <Translation id="page-find-wallet-overwhelmed" /> - </Subtitle> - )} - <TagsContainer> - <TagContainer> - {selectedFeatures.map((feature) => ( - <Tag - key={feature.id} - name={translateMessageId(feature.title, intl)} - onSelect={handleSelect} - value={feature.id} - /> - ))} - {remainingFeatures.map((feature) => ( - <Tag - key={feature.id} - name={translateMessageId(feature.title, intl)} - onSelect={handleSelect} - value={feature.id} - isActive={false} - /> - ))} - </TagContainer> - {hasSelectedFeatures && ( - <ClearLink onClick={clearFilters}> - <Translation id="page-find-wallet-clear" /> - </ClearLink> - )} - </TagsContainer> - </FilterContainer> - {filteredWallets.length === 0 && ( - <ResultsContainer> - <Emoji text=":crying_face:" size={3} mb={`2em`} mt={`2em`} /> - <h2> - <Translation id="page-find-wallet-not-all-features" /> - </h2> - <p> - <Translation id="page-find-wallet-try-removing" /> - </p> - </ResultsContainer> - )} - <ResultsContainer> - <ResultsGrid> - {filteredWallets.map((wallet) => ( - <WalletCard wallet={wallet} key={wallet.id} /> - ))} - </ResultsGrid> - </ResultsContainer> - <Disclaimer> - <p> - <em> - <Translation id="page-find-wallet-not-endorsements" />{" "} - <Link to="/contributing/adding-products/"> - <Translation id="page-find-wallet-listing-policy" /> - </Link> - <Translation id="page-find-wallet-add-wallet" />{" "} - <Link to="https://github.com/ethereum/ethereum-org-website/issues/new/choose"> - <Translation id="page-find-wallet-raise-an-issue" /> - </Link> - .{" "} - {lastUpdated && ( - <span> - <Translation id="page-find-wallet-last-updated" />{" "} - <strong>{lastUpdated}</strong>. - </span> - )} - </em> - </p> - </Disclaimer> - </GradientContainer> - </Container> - ) -} - -export default WalletCompare diff --git a/src/data/find-wallet/wallet-data.ts b/src/data/find-wallet/wallet-data.ts deleted file mode 100644 index ebd9e4e290c..00000000000 --- a/src/data/find-wallet/wallet-data.ts +++ /dev/null @@ -1,219 +0,0 @@ -const walletData = [ - { - name: "MetaMask", - image_name: "metamask", - url: "https://metamask.io", - repo_url: "https://metamask.io", - documentation: "https://metamask.io", - onboard_documentation: "https://metamask.io", - discord: "", - twitter: "https://twitter.com/metamask/", - security_audit: "", - wallet_live_date: "", - active_development_team: "", - languages_supported: [], - social_links: "", - brand_color: "#f68420", - android: true, - ios: true, - linux: false, - windows: false, - macOS: false, - firefox: true, - chromium: true, - hardware: false, - open_source: true, - non_custodial: true, - spam_protection: false, - hardware_support: true, - walletconnect: true, - rpc_importing: true, - nft_support: true, - connect_to_dapps: true, - staking: false, - swaps: true, - layer_2: true, - gas_fee_customization: true, - ens_support: true, - erc_20_support: true, - eip_1559_support: true, - buy_crypto: true, - withdraw_crypto: false, - multisig: false, - social_recovery: false, - }, - { - name: "Argent", - image_name: "argent", - url: "https://www.argent.xyz", - repo_url: "https://www.argent.xyz", - documentation: "https://www.argent.xyz", - onboard_documentation: "https://www.argent.xyz", - discord: "https://discord.com/invite/GWSyrHg", - twitter: "https://twitter.com/argentHQ", - security_audit: "", - wallet_live_date: "", - active_development_team: "", - languages_supported: [], - social_links: "", - brand_color: "#FF875B", - android: true, - ios: true, - linux: false, - windows: false, - macOS: false, - firefox: true, - chromium: true, - hardware: false, - open_source: false, - non_custodial: true, - spam_protection: false, - hardware_support: false, - walletconnect: false, - rpc_importing: false, - nft_support: false, - connect_to_dapps: false, - staking: true, - swaps: false, - layer_2: true, - gas_fee_customization: true, - ens_support: false, - erc_20_support: true, - eip_1559_support: true, - buy_crypto: false, - withdraw_crypto: false, - multisig: false, - social_recovery: true, - }, - { - name: "Rainbow", - image_name: "rainbow", - url: "https://rainbow.me", - repo_url: "https://rainbow.me", - documentation: "https://rainbow.me", - onboard_documentation: "https://rainbow.me", - discord: "", - twitter: "https://twitter.com/rainbowdotme", - security_audit: "", - wallet_live_date: "", - active_development_team: "", - languages_supported: [], - social_links: "", - brand_color: "#994fa9", - android: true, - ios: true, - linux: false, - windows: false, - macOS: false, - firefox: false, - chromium: false, - hardware: false, - open_source: true, - non_custodial: true, - spam_protection: false, - hardware_support: false, - walletconnect: true, - rpc_importing: false, - nft_support: true, - connect_to_dapps: true, - staking: false, - swaps: false, - layer_2: true, - gas_fee_customization: true, - ens_support: true, - erc_20_support: true, - eip_1559_support: true, - buy_crypto: true, - withdraw_crypto: false, - multisig: false, - social_recovery: false, - }, - { - name: "Ledger", - image_name: "ledger", - url: "https://www.ledger.com", - repo_url: "https://www.ledger.com", - documentation: "https://www.ledger.com", - onboard_documentation: "https://www.ledger.com", - discord: "", - twitter: "https://twitter.com/Ledger", - security_audit: "", - wallet_live_date: "", - active_development_team: "", - languages_supported: [], - social_links: "", - brand_color: "#FFF", - android: true, - ios: true, - linux: true, - windows: true, - macOS: true, - firefox: false, - chromium: false, - hardware: true, - open_source: false, - non_custodial: true, - spam_protection: false, - hardware_support: false, - walletconnect: true, - rpc_importing: false, - nft_support: false, - connect_to_dapps: false, - staking: false, - swaps: true, - layer_2: false, - gas_fee_customization: true, - ens_support: false, - erc_20_support: false, - eip_1559_support: true, - buy_crypto: false, - withdraw_crypto: false, - multisig: false, - social_recovery: false, - }, - { - name: "Trezor", - image_name: "trezor", - url: "https://trezor.io", - repo_url: "https://trezor.io", - documentation: "https://trezor.io", - onboard_documentation: "https://trezor.io", - discord: "", - twitter: "https://twitter.com/trezor", - security_audit: "", - wallet_live_date: "", - active_development_team: "", - languages_supported: [], - social_links: "", - brand_color: "#FFF", - android: false, - ios: false, - linux: false, - windows: false, - macOS: false, - firefox: false, - chromium: false, - hardware: true, - open_source: true, - non_custodial: true, - spam_protection: false, - hardware_support: false, - walletconnect: false, - rpc_importing: false, - nft_support: false, - connect_to_dapps: false, - staking: false, - swaps: false, - layer_2: false, - gas_fee_customization: true, - ens_support: false, - erc_20_support: true, - eip_1559_support: false, - buy_crypto: false, - withdraw_crypto: false, - multisig: false, - social_recovery: false, - }, -] - -export default walletData diff --git a/src/data/find-wallet/real-wallet-data.ts b/src/data/wallets/wallet-data.ts similarity index 99% rename from src/data/find-wallet/real-wallet-data.ts rename to src/data/wallets/wallet-data.ts index 775b07e3be6..cb3f964d67b 100644 --- a/src/data/find-wallet/real-wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -332,50 +332,6 @@ const walletData = [ onboard_documentation: "https://docs.portis.io/", documentation: "", }, - { - name: "Frame", - image_name: "frame", - brand_color: "#222021", - url: "https://metamask.io", - wallet_live_date: "2016", - active_development_team: "Yes", - languages_supported: ["TODO: 30 languages!"], - twitter: "https://twitter.com/metamask", - discord: "", - telegram: "", - ios: true, - android: true, - linux: false, - windows: false, - macOS: false, - firefox: true, - chromium: true, - hardware: false, - open_source: false, - repo_url: "https://github.com/MetaMask", - non_custodial: true, - security_audit: [], - spam_protection: false, - hardware_support: true, - walletconnect: true, - rpc_importing: true, - nft_support: true, - connect_to_dapps: true, - staking: false, - swaps: true, - layer_2: true, - gas_fee_customization: true, - ens_support: true, - erc_20_support: true, - eip_1559_support: true, - buy_crypto: true, - withdraw_crypto: false, - multisig: false, - social_recovery: false, - dedicated_support: true, - onboard_documentation: "https://support.metamask.io", - documentation: "", - }, { name: "Coinbase wallet", image_name: "coinbase", @@ -562,6 +518,50 @@ const walletData = [ documentation: "https://docs.tally.cash/tally/, https://gov.tally.cash/, https://blog.tally.cash/", }, + { + name: "MetaMask", + image_name: "metamask", + brand_color: "#ffffff", + url: "https://metamask.io", + wallet_live_date: "2016", + active_development_team: "Yes", + languages_supported: ["TODO: 30 languages!"], + twitter: "https://twitter.com/metamask", + discord: "", + telegram: "", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: true, + chromium: true, + hardware: false, + open_source: false, + repo_url: "https://github.com/MetaMask", + non_custodial: true, + security_audit: [], + spam_protection: false, + hardware_support: true, + walletconnect: true, + rpc_importing: true, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: true, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + dedicated_support: true, + onboard_documentation: "https://support.metamask.io", + documentation: "", + }, ] export default walletData diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 4c167f6b0e4..08c634e90d7 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -17,7 +17,7 @@ import WalletPersonasSidebar from "../../components/FindWallet/WalletPersonasSid import WalletTable from "../../components/FindWallet/WalletTable" // Data -import walletData from "../../data/find-wallet/wallet-data" +import walletData from "../../data/wallets/wallet-data" // Icons import FilterBurger from "../../assets/wallets/filter_burger.svg" @@ -155,13 +155,15 @@ const FilterTab = styled.div<{ border-radius: 8px 0px 0px 0px; padding: 10px; vertical-align: middle; - + color: ${(props) => - props.active === true ? props.theme.colors.background : props.theme.colors.text}; + props.active === true + ? props.theme.colors.background + : props.theme.colors.text}; :last-child { border-radius: 0px 8px 0px 0px; - } + } :hover { background: ${(props) => @@ -206,15 +208,15 @@ const ResetContainer = styled.div` width: 140px; margin: 0 auto; gap: 0.25rem; - font-size:0.75rem; + font-size: 0.75rem; cursor: pointer; - :hover{ + :hover { border: 1px solid ${(props) => props.theme.colors.primary}; - p{ + p { color: ${(props) => props.theme.colors.primary}; } - svg{ - fill: ${(props) => props.theme.colors.primary}; + svg { + fill: ${(props) => props.theme.colors.primary}; } } @@ -222,7 +224,7 @@ const ResetContainer = styled.div` margin: 0; color: ${(props) => props.theme.colors.selectHover}; } - svg{ + svg { fill: ${(props) => props.theme.colors.selectHover}; } ` @@ -418,7 +420,7 @@ export const query = graphql` gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } - metamask: file(relativePath: { eq: "wallets/metamask.png" }) { + airgap: file(relativePath: { eq: "wallets/airgap.png" }) { childImageSharp { gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } @@ -428,17 +430,52 @@ export const query = graphql` gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } - rainbow: file(relativePath: { eq: "wallets/rainbow.png" }) { + brave: file(relativePath: { eq: "wallets/brave.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + coin98: file(relativePath: { eq: "wallets/coin98.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + coinbase: file(relativePath: { eq: "wallets/coinbase.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + frame: file(relativePath: { eq: "wallets/frame.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + keystone: file(relativePath: { eq: "wallets/keystone.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + loopring: file(relativePath: { eq: "wallets/loopring.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + metamask: file(relativePath: { eq: "wallets/metamask.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + numio: file(relativePath: { eq: "wallets/numio.png" }) { childImageSharp { gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } - ledger: file(relativePath: { eq: "wallets/ledger.png" }) { + portis: file(relativePath: { eq: "wallets/portis.png" }) { childImageSharp { gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } - trezor: file(relativePath: { eq: "wallets/trezor.png" }) { + tallyho: file(relativePath: { eq: "wallets/tallyho.png" }) { childImageSharp { gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } From ecdb08fef9f8c1185d62995a5b6a378d6fb6c17b Mon Sep 17 00:00:00 2001 From: Corwin Smith <cssmittys@gmail.com> Date: Tue, 21 Jun 2022 11:19:45 -0600 Subject: [PATCH 094/310] add typing to wallet-data.ts --- src/data/wallets/wallet-data.ts | 82 +++++++++++++++++++++++++++------ 1 file changed, 69 insertions(+), 13 deletions(-) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index cb3f964d67b..eb96e8f4f0b 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -1,14 +1,61 @@ -const walletData = [ +interface WalletData { + name: string + image_name: string + brand_color: string + url: string + wallet_live_date: string + active_development_team: boolean + languages_supported: string[] + twitter: string + discord: string + reddit: string + telegram: string + ios: boolean + android: boolean + linux: boolean + windows: boolean + macOS: boolean + firefox: boolean + chromium: boolean + hardware: boolean + open_source: boolean + repo_url: string + non_custodial: boolean + security_audit: string[] + spam_protection: boolean + hardware_support: boolean + walletconnect: boolean + rpc_importing: boolean + nft_support: boolean + connect_to_dapps: boolean + staking: boolean + swaps: boolean + layer_2: boolean + gas_fee_customization: boolean + ens_support: boolean + erc_20_support: boolean + eip_1559_support: boolean + buy_crypto: boolean + withdraw_crypto: boolean + multisig: boolean + social_recovery: boolean + dedicated_support: boolean + onboard_documentation: string + documentation: string +} + +const walletData: WalletData[] = [ { name: "Keystone", image_name: "keystone", brand_color: "#ffffff", url: "https://keyst.one/", wallet_live_date: "Dec 2018", - active_development_team: "Yes", + active_development_team: true, languages_supported: ["en", "zh", "es", "ko"], twitter: "https://twitter.com/KeystoneWallet", discord: "https://keyst.one/discord", + reddit: "", telegram: "https://t.me/KeystoneWallet", ios: true, android: true, @@ -52,10 +99,11 @@ const walletData = [ brand_color: "#3F3F3F", url: "https://www.numio.one/", wallet_live_date: "December 2020", - active_development_team: "Yes", + active_development_team: true, languages_supported: ["en"], twitter: "https://twitter.com/GetNumio/", discord: "", + reddit: "", telegram: "", ios: true, android: true, @@ -96,7 +144,7 @@ const walletData = [ brand_color: "#ffffff", url: "https://coin98.com/wallet", wallet_live_date: "2018", - active_development_team: "Yes", + active_development_team: true, languages_supported: [ "vi", "en", @@ -113,6 +161,7 @@ const walletData = [ ], twitter: "https://twitter.com/coin98_wallet", discord: "https://c98.link/discord", + reddit: "", telegram: "https://t.me/coin98wallet", ios: true, android: true, @@ -153,10 +202,11 @@ const walletData = [ brand_color: "#ffffff", url: "https://loopring.io/#/wallet", wallet_live_date: "Nov 25, 2020", - active_development_team: "Yes", + active_development_team: true, languages_supported: ["en", "zh"], twitter: "https://twitter.com/loopringorg", discord: "http://discord.gg/KkYccYp", + reddit: "", telegram: "", ios: true, android: true, @@ -201,10 +251,11 @@ const walletData = [ brand_color: "#50249F", url: "https://airgap.it/", wallet_live_date: "July 2017", - active_development_team: "Yes", + active_development_team: true, languages_supported: ["en", "de", "zh"], twitter: "https://twitter.com/AirGap_it/", discord: "https://discord.gg/gnWqCQsteh", + reddit: "", telegram: "https://t.me/AirGap", ios: true, android: true, @@ -247,10 +298,11 @@ const walletData = [ brand_color: "#ffffff", url: "https://www.argent.xyz/", wallet_live_date: "2018", - active_development_team: "Yes", + active_development_team: true, languages_supported: ["en"], twitter: "https://twitter.com/argenthq", discord: "https://discord.com/invite/GWSyrHg", + reddit: "", telegram: "", ios: true, android: true, @@ -294,10 +346,11 @@ const walletData = [ brand_color: "#ffffff", url: "https://portis.io", wallet_live_date: "Nov, 2018", - active_development_team: "Yes", + active_development_team: true, languages_supported: ["en"], twitter: "https://twitter.com/portis_io", discord: "", + reddit: "", telegram: "https://t.me/PortisHQ", ios: false, android: false, @@ -338,10 +391,11 @@ const walletData = [ brand_color: "#0052FF", url: "https://www.coinbase.com/wallet/developers", wallet_live_date: "2018", - active_development_team: "Yes", + active_development_team: true, languages_supported: ["no response.."], twitter: "https://twitter.com/CoinbaseWallet", discord: "", + reddit: "", telegram: "", ios: true, android: true, @@ -383,10 +437,11 @@ const walletData = [ brand_color: "#222021", url: "https://frame.sh", wallet_live_date: "April 2019", - active_development_team: "Yes", + active_development_team: true, languages_supported: ["en"], twitter: "https://twitter.com/0xFrame", discord: "https://discord.gg/rr4Yr3JkPq", + reddit: "", telegram: "", ios: false, android: false, @@ -428,7 +483,7 @@ const walletData = [ brand_color: "##fe1f02", url: "https://brave.com/wallet", wallet_live_date: "November 2021", - active_development_team: "Yes", + active_development_team: true, languages_supported: ["en"], twitter: "https://twitter.com/brave", discord: "", @@ -475,7 +530,7 @@ const walletData = [ brand_color: "##0D2321", url: "https://tally.cash/", wallet_live_date: "December 2021", - active_development_team: "Yes", + active_development_team: true, languages_supported: ["en"], twitter: "https://twitter.com/TallyCash", discord: "chat.tally.cash", @@ -524,10 +579,11 @@ const walletData = [ brand_color: "#ffffff", url: "https://metamask.io", wallet_live_date: "2016", - active_development_team: "Yes", + active_development_team: true, languages_supported: ["TODO: 30 languages!"], twitter: "https://twitter.com/metamask", discord: "", + reddit: "", telegram: "", ios: true, android: true, From 943eaf40364ec4417338d00f2b943fa6a5389782 Mon Sep 17 00:00:00 2001 From: Corwin Smith <cssmittys@gmail.com> Date: Tue, 21 Jun 2022 11:58:02 -0600 Subject: [PATCH 095/310] add hover effect for user profiles --- src/components/FindWallet/WalletPersonasSidebar.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 2ab3eeb8b51..e172f7b3cf1 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -46,6 +46,10 @@ const Persona = styled.div<{ border: 1px solid #3d3d3d; border-radius: 4px; cursor: pointer; + + &:hover { + background: ${(props) => props.theme.colors.primary100}; + } ` const Title = styled.div` From 38bf88a471f21962e14c8ba01d531270737ac8d1 Mon Sep 17 00:00:00 2001 From: Corwin Smith <cssmittys@gmail.com> Date: Tue, 21 Jun 2022 12:41:31 -0600 Subject: [PATCH 096/310] color styles for selected and hover user profile --- .../FindWallet/WalletPersonasSidebar.tsx | 91 +++++++++++++------ 1 file changed, 62 insertions(+), 29 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index e172f7b3cf1..b595d84046b 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -32,6 +32,39 @@ const Container = styled.div` gap: 16px; ` +const PersonaFeature = styled.div<{ + selected: boolean +}>` + display: flex; + gap: 0.2rem; + font-size: 0.85rem; + line-height: 0.95rem; + margin: 0.1rem; + align-items: center; + p { + margin-bottom: 0; + color: ${(props) => + props.selected === true + ? props.theme.colors.black + : props.theme.colors.text}; + } + + svg { + width: 28px; + height: 28px; + path { + fill: ${(props) => + props.selected === true + ? props.theme.colors.black + : props.theme.colors.text}; + stroke: ${(props) => + props.selected === true + ? props.theme.colors.black + : props.theme.colors.text}; + } + } +` + const Persona = styled.div<{ selected: boolean }>` @@ -47,8 +80,35 @@ const Persona = styled.div<{ border-radius: 4px; cursor: pointer; + h4 { + margin: 0 0 0.5rem 0; + color: ${(props) => + props.selected === true + ? props.theme.colors.black + : props.theme.colors.text}; + font-size: 0.9rem; + font-weight: normal; + } + &:hover { background: ${(props) => props.theme.colors.primary100}; + + h4 { + color: ${(props) => props.theme.colors.black}; + } + + p { + color: ${(props) => props.theme.colors.black}; + } + + ${PersonaFeature} { + svg { + path { + fill: ${(props) => props.theme.colors.black}; + stroke: ${(props) => props.theme.colors.black}; + } + } + } } ` @@ -67,13 +127,6 @@ const H3 = styled.h3` font-size: 1.25rem; ` -const H4 = styled.h4` - margin: 0 0 0.5rem 0; - color: ${(props) => props.theme.colors.secondary}; - font-size: 0.9rem; - font-weight: normal; -` - const Grid = styled.div` display: grid; grid-template-columns: 50% 50%; @@ -89,26 +142,6 @@ const StyledIcon = styled(Icon)<{ selected: boolean }>` : props.theme.colors.secondary}; ` -const PersonaFeature = styled.div` - display: flex; - gap: 0.2rem; - font-size: 0.85rem; - line-height: 0.95rem; - margin: 0.1rem; - align-items: center; - p { - margin-bottom: 0; - } - svg { - width: 28px; - height: 28px; - path { - fill: ${(props) => props.theme.colors.text}; - stroke: ${(props) => props.theme.colors.text}; - } - } -` - // Types interface Personas { title: string @@ -477,10 +510,10 @@ const WalletPersonasSidebar = ({ /> <H3>{persona.title}</H3> -

{persona.description}

+

{persona.description}

{persona.featureHighlight.map((feature) => ( - + {feature.icon}

{feature.label}

From f05ea52e583ba3cf921f4a92fc0c823b9f166f3f Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 21 Jun 2022 12:45:14 -0600 Subject: [PATCH 097/310] show wallet text bold, color change, and copy change --- src/components/FindWallet/WalletTable.tsx | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 63e57a820bc..287c6223f0e 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -53,7 +53,6 @@ const Grid = styled.div` margin: 0; } - @media (max-width: ${(props) => props.theme.breakpoints.m}) { grid-template-columns: 40% auto auto 0% 5%; } @@ -70,10 +69,6 @@ const WalletContentHeader = styled(Grid)` background: ${(props) => props.theme.colors.background}; z-index: 1; - span { - color: ${(props) => props.theme.colors.primary}; - } - @media (max-width: ${(props) => props.theme.breakpoints.s}) { gap: 0.5rem; align-items: center; @@ -90,8 +85,8 @@ const StyledSelect = styled(Select)` font-size: 0.9rem; padding-right: 0.3rem; transition: 0.5s all; - svg{ - fill:${(props) => props.theme.colors.text}; + svg { + fill: ${(props) => props.theme.colors.text}; transition: 0.5s all; } @@ -117,7 +112,7 @@ const StyledSelect = styled(Select)` border: 1px solid ${(props) => props.theme.colors.primary}; color: ${(props) => props.theme.colors.background}; transition: 0.5s all; - svg{ + svg { fill: ${(props) => props.theme.colors.background}; transition: 0.5s all; } @@ -125,7 +120,6 @@ const StyledSelect = styled(Select)` .react-select__value-container { .react-select__single-value { color: ${(props) => props.theme.colors.background}; - } } @@ -215,10 +209,10 @@ const FlexInfo = styled.div` border-radius: 4px; text-decoration: none; transition: 0.5s all; - :after{ - display:none; + :after { + display: none; } - :hover{ + :hover { background: ${(props) => props.theme.colors.primary}; color: ${(props) => props.theme.colors.background}; transition: 0.5s all; @@ -497,7 +491,7 @@ const WalletTable = ({ data, filters, walletData }) => {

- {filteredWallets.length} wallets out of{" "} + Showing {filteredWallets.length} wallets out of{" "} {walletCardData.length}

Date: Tue, 21 Jun 2022 22:16:23 +0200 Subject: [PATCH 098/310] Convert ImageCard file to TS --- src/components/{ImageCard.js => ImageCard.tsx} | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) rename src/components/{ImageCard.js => ImageCard.tsx} (77%) diff --git a/src/components/ImageCard.js b/src/components/ImageCard.tsx similarity index 77% rename from src/components/ImageCard.js rename to src/components/ImageCard.tsx index 8e68830ccd3..1bd98243394 100644 --- a/src/components/ImageCard.js +++ b/src/components/ImageCard.tsx @@ -21,7 +21,20 @@ const Description = styled.p` opacity: 0.8; ` -const ImageCard = ({ image, title, description, children, className }) => ( +export interface IProps { + image: string + title: string + description: string + className?: string +} + +const ImageCard: React.FC = ({ + image, + title, + description, + children, + className, +}) => (

{title}

From b4a2cf8e5cd6c7a41f6d37683f89c0350091b17e Mon Sep 17 00:00:00 2001 From: vdusart Date: Tue, 21 Jun 2022 22:20:35 +0200 Subject: [PATCH 099/310] Convert InfoBanner file to TS --- .../{InfoBanner.js => InfoBanner.tsx} | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) rename src/components/{InfoBanner.js => InfoBanner.tsx} (86%) diff --git a/src/components/InfoBanner.js b/src/components/InfoBanner.tsx similarity index 86% rename from src/components/InfoBanner.js rename to src/components/InfoBanner.tsx index 6f676035b5f..c7c52a6a201 100644 --- a/src/components/InfoBanner.js +++ b/src/components/InfoBanner.tsx @@ -8,7 +8,10 @@ const Container = styled.div` justify-content: center; ` -const Banner = styled.div` +const Banner = styled.div<{ + shouldCenter: boolean + isWarning: boolean +}>` position: relative; z-index: 1; display: flex; @@ -52,7 +55,9 @@ const StyledEmoji = styled(Emoji)` } ` -const Content = styled.div` +const Content = styled.div<{ + shouldSpaceBetween: boolean +}>` display: ${(props) => (props.shouldSpaceBetween ? `flex` : `block`)}; align-items: ${(props) => (props.shouldSpaceBetween ? `center` : `auto`)}; width: ${(props) => (props.shouldSpaceBetween ? `100%` : `auto`)}; @@ -63,7 +68,15 @@ const Content = styled.div` } ` -const InfoBanner = ({ +export interface IProps { + className?: string + emoji?: string + isWarning?: boolean + shouldCenter?: boolean + shouldSpaceBetween?: boolean +} + +const InfoBanner: React.FC = ({ children, className, emoji, From 90c01b6f93133aa317a691ec36b784f61c6c439e Mon Sep 17 00:00:00 2001 From: vdusart Date: Tue, 21 Jun 2022 22:22:13 +0200 Subject: [PATCH 100/310] Convert Logo file to TS --- src/components/{Logo.js => Logo.tsx} | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) rename src/components/{Logo.js => Logo.tsx} (94%) diff --git a/src/components/Logo.js b/src/components/Logo.tsx similarity index 94% rename from src/components/Logo.js rename to src/components/Logo.tsx index ac333c710ab..66293b918b0 100644 --- a/src/components/Logo.js +++ b/src/components/Logo.tsx @@ -5,7 +5,9 @@ import { GatsbyImage, getImage } from "gatsby-plugin-image" import { useIntl } from "gatsby-plugin-intl" import { translateMessageId } from "../utils/translations" -const Logo = () => { +export interface IProps {} + +const Logo: React.FC = () => { const intl = useIntl() const themeContext = useContext(ThemeContext) const isDarkTheme = themeContext.isDark From 6ffb94d75c7ef69f355013eeac892536bebb79a8 Mon Sep 17 00:00:00 2001 From: vdusart Date: Tue, 21 Jun 2022 22:27:17 +0200 Subject: [PATCH 101/310] Convert Layer2ProductCard file to TS --- ...r2ProductCard.js => Layer2ProductCard.tsx} | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) rename src/components/{Layer2ProductCard.js => Layer2ProductCard.tsx} (90%) diff --git a/src/components/Layer2ProductCard.js b/src/components/Layer2ProductCard.tsx similarity index 90% rename from src/components/Layer2ProductCard.js rename to src/components/Layer2ProductCard.tsx index 3a8baf54284..5c380c55d43 100644 --- a/src/components/Layer2ProductCard.js +++ b/src/components/Layer2ProductCard.tsx @@ -12,7 +12,9 @@ import Link from "./Link" import { translateMessageId } from "../utils/translations" // Styles -const ImageWrapper = styled.div` +const ImageWrapper = styled.div<{ + background: string +}>` display: flex; flex-direction: row; justify-content: center; @@ -78,7 +80,20 @@ const Children = styled.div` margin-bottom: 1rem; ` -const Layer2ProductCard = ({ +export interface IProps { + url?: string + background: string + image: string + name: string + description: string + note?: string + alt?: string + bridge?: string + tokenLists?: string + ecosystemPortal?: string +} + +const Layer2ProductCard: React.FC = ({ url, background, image, From b60f74e69a9f333e1de6cb709010badd1a1f0285 Mon Sep 17 00:00:00 2001 From: vdusart Date: Tue, 21 Jun 2022 22:34:41 +0200 Subject: [PATCH 102/310] Convert Leaderboard file to TS --- .../{Leaderboard.js => Leaderboard.tsx} | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) rename src/components/{Leaderboard.js => Leaderboard.tsx} (89%) diff --git a/src/components/Leaderboard.js b/src/components/Leaderboard.tsx similarity index 89% rename from src/components/Leaderboard.js rename to src/components/Leaderboard.tsx index c79cf3b0cd1..0e0a878bec3 100644 --- a/src/components/Leaderboard.js +++ b/src/components/Leaderboard.tsx @@ -3,7 +3,7 @@ import styled from "styled-components" import Emoji from "./Emoji" import Link from "./Link" -import Translation from "../components/Translation" +import Translation from "./Translation" const Table = styled.div` background-color: ${(props) => props.theme.colors.background}; @@ -62,7 +62,18 @@ const ItemNumber = styled.div` const githubUrl = `https://github.com/` -const Leaderboard = ({ content, limit = 100 }) => ( +export interface Person { + name: string + username: string + score: number +} + +export interface IProps { + content: Array + limit?: number +} + +const Leaderboard: React.FC = ({ content, limit = 100 }) => ( {content .filter((_, idx) => idx < limit) @@ -73,7 +84,7 @@ const Leaderboard = ({ content, limit = 100 }) => ( ? `${githubUrl}${username}.png?size=40` : "https://github.com/random.png?size=40" const avatarAlt = hasGitHub ? `${username} GitHub avatar` : "" - let emoji = null + let emoji: string | null = null if (idx === 0) { emoji = ":trophy:" } else if (idx === 1) { From 27fedaf8e4d3028b3640a365885bd7ba919dc7cc Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 21 Jun 2022 15:23:24 -0600 Subject: [PATCH 103/310] untoggle if all checkboxes become unchecked --- .../FindWallet/WalletFilterSidebar.tsx | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index ff5a402aa54..0722e0ab656 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -28,6 +28,7 @@ import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" import Multisig from "../../assets/wallets/multisig.svg" import SocialRecover from "../../assets/wallets/social_recover.svg" import Swap from "../../assets/wallets/swap.svg" +import { filter } from "lodash" // Styles const Container = styled.div` @@ -432,7 +433,9 @@ const WalletFilterSidebar = ({ } } > - +

{item.title}

{item.filterKey && ( @@ -472,6 +475,29 @@ const WalletFilterSidebar = ({ return ( { + let closeShowOptions = true + for (let filterOption of item.options) { + if (filterOption.name === option.name) { + if (!filters[filterOption.filterKey]) { + closeShowOptions = false + break + } + } else { + if (filters[filterOption.filterKey]) { + closeShowOptions = false + break + } + } + } + + if (closeShowOptions) { + setShowOptions( + idx, + itemidx, + !item.showOptions + ) + } + updateFilterOption(option.filterKey) }} > From f0f3b98425a1421b7c1140748ab58354f8521408 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 21 Jun 2022 15:31:49 -0600 Subject: [PATCH 104/310] update compare icons --- src/components/FindWallet/WalletTable.tsx | 36 +++++++++++------------ 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 287c6223f0e..f605bf0aa5d 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -2,8 +2,6 @@ import React, { useState } from "react" import { getImage, GatsbyImage } from "gatsby-plugin-image" import styled from "styled-components" -import { components } from "react-select" -const { Control, Option } = components // Components import Icon from "../Icon" @@ -28,6 +26,8 @@ import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" import Multisig from "../../assets/wallets/multisig.svg" import SocialRecover from "../../assets/wallets/social_recover.svg" import Swap from "../../assets/wallets/swap.svg" +import Warning from "../../assets/staking/warning-product-glyph.svg" +import GreenCheck from "../../assets/staking/green-check-product-glyph.svg" // Styles const Container = styled.div` @@ -236,11 +236,6 @@ const SecondaryText = styled.p` color: ${(props) => props.theme.colors.text200}; ` -const WalletFeatureCircle = styled(Icon)<{ hasFeature: boolean }>` - fill: ${(props) => - props.hasFeature ? props.theme.colors.primary : props.theme.colors.text200}; -` - const WalletMoreInfoArrow = styled(Icon)` fill: ${(props) => props.theme.colors.primary}; ` @@ -554,22 +549,25 @@ const WalletTable = ({ data, filters, walletData }) => {
updateMoreInfo(idx)}> - + {wallet[firstFeatureSelect.filterKey] ? ( + + ) : ( + + )} updateMoreInfo(idx)}> - + {wallet[secondFeatureSelect.filterKey] ? ( + + ) : ( + + )} updateMoreInfo(idx)}> - + {wallet[thirdFeatureSelect.filterKey] ? ( + + ) : ( + + )}
Date: Tue, 21 Jun 2022 15:37:49 -0600 Subject: [PATCH 105/310] toggle persistence --- src/components/FindWallet/WalletFilterSidebar.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 0722e0ab656..f0f6f9b1306 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -147,7 +147,7 @@ const WalletFilterSidebar = ({ icon: , description: "Phone or mobile based wallets.", filterKey: undefined, - showOptions: false, + showOptions: filters.android || filters.ios ? true : false, options: [ { name: "Android", @@ -166,7 +166,8 @@ const WalletFilterSidebar = ({ icon: , description: "Desktop based wallets.", filterKey: undefined, - showOptions: false, + showOptions: + filters.linux || filters.windows || filters.macOS ? true : false, options: [ { name: "Linux", @@ -190,7 +191,7 @@ const WalletFilterSidebar = ({ icon: , description: "Browser extension wallets.", filterKey: undefined, - showOptions: false, + showOptions: filters.firefox || filters.chrome ? true : false, options: [ { name: "Firefox", @@ -476,6 +477,7 @@ const WalletFilterSidebar = ({ { let closeShowOptions = true + for (let filterOption of item.options) { if (filterOption.name === option.name) { if (!filters[filterOption.filterKey]) { From a3c824891fdc98852d5638c9bbaa932df3c35f20 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 21 Jun 2022 15:44:03 -0600 Subject: [PATCH 106/310] border bottom headers filter panels --- src/components/FindWallet/WalletFilterSidebar.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index f0f6f9b1306..158d6cc85b1 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -47,14 +47,15 @@ const FilterPanel = styled.div` border-radius: 4px; ` -const Header = styled.div` +const Header = styled.div<{ isOpen: boolean }>` display: flex; align-items: center; justify-content: space-between; - padding: 0 1rem 12px 1rem; + padding: ${(props) => (props.isOpen ? `0 1rem 12px 1rem` : "0 1rem")}; cursor: pointer; width: 100%; - border-bottom: 1px solid ${(props) => props.theme.colors.primary}; + border-bottom: ${(props) => + props.isOpen ? `1px solid ${props.theme.colors.primary}` : "none"}; h3 { color: ${(props) => props.theme.colors.primary}; @@ -410,6 +411,7 @@ const WalletFilterSidebar = ({ onClick={() => { setOpen(idx) }} + isOpen={filterOption.open} role="button" aria-expanded={filterOption.open ? "true" : "false"} > From 850529e93540e5328a16fc78a9a5490403e93285 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 21 Jun 2022 16:15:14 -0600 Subject: [PATCH 107/310] fix brand color data --- src/data/wallets/wallet-data.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index eb96e8f4f0b..d243bf39340 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -480,7 +480,7 @@ const walletData: WalletData[] = [ { name: "Brave Wallet", image_name: "brave", - brand_color: "##fe1f02", + brand_color: "#fe1f02", url: "https://brave.com/wallet", wallet_live_date: "November 2021", active_development_team: true, @@ -527,7 +527,7 @@ const walletData: WalletData[] = [ { name: "Tally Ho!", image_name: "tallyho", - brand_color: "##0D2321", + brand_color: "#0D2321", url: "https://tally.cash/", wallet_live_date: "December 2021", active_development_team: true, From f5765eadf30d71f85bc05483103324f9d4b2f649 Mon Sep 17 00:00:00 2001 From: vdusart Date: Wed, 22 Jun 2022 00:16:40 +0200 Subject: [PATCH 108/310] Convert Layout file to TS --- src/components/{Layout.js => Layout.tsx} | 72 ++++++++++++++++-------- 1 file changed, 49 insertions(+), 23 deletions(-) rename src/components/{Layout.js => Layout.tsx} (79%) diff --git a/src/components/Layout.js b/src/components/Layout.tsx similarity index 79% rename from src/components/Layout.js rename to src/components/Layout.tsx index c1713ca53f3..f984c66498d 100644 --- a/src/components/Layout.js +++ b/src/components/Layout.tsx @@ -60,10 +60,39 @@ const Main = styled.main` flex-grow: 1; ` -const Layout = (props) => { - const [isDarkTheme, setIsDarkTheme] = useState(false) - const [isZenMode, setIsZenMode] = useState(false) - const [shouldShowSideNav, setShouldShowSideNav] = useState(false) +interface PageContext { + intl: any + isContentEnglish: boolean + isLegal: boolean + isOutdated: boolean + ignoreTranslationBanner: boolean +} + +export interface IProps { + data?: { + pageData?: { + frontmatter?: { + isOutdated: boolean + } + } + } + location: { + hash: string + } + path: string + pageContext: PageContext +} + +const Layout: React.FC = ({ + data, + location, + path, + pageContext, + children, +}) => { + const [isDarkTheme, setIsDarkTheme] = useState(false) + const [isZenMode, setIsZenMode] = useState(false) + const [shouldShowSideNav, setShouldShowSideNav] = useState(false) // Exit Zen Mode on 'esc' click useKeyPress(`Escape`, () => handleZenModeChange(false)) @@ -78,7 +107,7 @@ const Layout = (props) => { }, []) useEffect(() => { - if (props.path.includes("/docs/")) { + if (path.includes("/docs/")) { setShouldShowSideNav(true) if (localStorage.getItem("zen-mode") !== null) { @@ -90,42 +119,41 @@ const Layout = (props) => { setShouldShowSideNav(false) } - if (props.location.hash && !props.location.hash.includes("gatsby")) { - const idTag = props.location.hash.split("#") + if (location.hash && !location.hash.includes("gatsby")) { + const idTag = location.hash.split("#") scrollIntoView(idTag[1]) } - }, [props.path, props.location]) + }, [path, location]) - const handleThemeChange = () => { + const handleThemeChange = (): void => { setIsDarkTheme(!isDarkTheme) if (localStorage) { - localStorage.setItem("dark-theme", !isDarkTheme) + localStorage.setItem("dark-theme", String(!isDarkTheme)) } } - const handleZenModeChange = (val) => { + const handleZenModeChange = (val?: boolean): void => { // Use 'val' param if provided. Otherwise toggle const newVal = val !== undefined ? val : !isZenMode setIsZenMode(newVal) if (localStorage) { - localStorage.setItem("zen-mode", newVal) + localStorage.setItem("zen-mode", String(newVal)) } } // IntlProvider & IntlContextProvider appear to be necessary in order to pass context // into components that live outside page components (e.g. Nav & Footer). // https://github.com/wiziple/gatsby-plugin-intl/issues/116 - const intl = props.pageContext.intl + const intl = pageContext.intl const theme = isDarkTheme ? darkTheme : lightTheme const isPageLanguageEnglish = intl.language === intl.defaultLanguage - const isPageContentEnglish = !!props.pageContext.isContentEnglish - const isLegal = !!props.pageContext.isLegal - const isTranslationBannerIgnored = !!props.pageContext.ignoreTranslationBanner + const isPageContentEnglish = !!pageContext.isContentEnglish + const isLegal = !!pageContext.isLegal + const isTranslationBannerIgnored = !!pageContext.ignoreTranslationBanner const isPageTranslationOutdated = - !!props.pageContext.isOutdated || - !!props.data?.pageData?.frontmatter?.isOutdated + !!pageContext.isOutdated || !!data?.pageData?.frontmatter?.isOutdated const isPageRightToLeft = isLangRightToLeft(intl.language) const shouldShowTranslationBanner = @@ -133,8 +161,6 @@ const Layout = (props) => { (isPageContentEnglish && !isPageLanguageEnglish)) && !isTranslationBannerIgnored - const path = props.path - return ( { > - + { isPageRightToLeft={isPageRightToLeft} originalPagePath={intl.originalPath} /> - +
- - -

{wallet.name} links

- - - - {wallet.twitter && ( - - - - )} - {wallet.discord && ( - - - - )} -
-
)} diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index 495733a839c..bea5797821b 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -1,4 +1,5 @@ interface WalletData { + last_updated: string name: string image_name: string brand_color: string @@ -45,6 +46,7 @@ interface WalletData { const walletData: WalletData[] = [ { + last_updated: "June 22, 2022", name: "Keystone", image_name: "keystone", brand_color: "#ffffff", @@ -92,6 +94,7 @@ const walletData: WalletData[] = [ documentation: "", }, { + last_updated: "June 22, 2022", name: "Numio", image_name: "numio", brand_color: "#3F3F3F", @@ -136,6 +139,7 @@ const walletData: WalletData[] = [ documentation: "", }, { + last_updated: "June 22, 2022", name: "Coin98", image_name: "coin98", brand_color: "#ffffff", @@ -193,6 +197,7 @@ const walletData: WalletData[] = [ documentation: "", }, { + last_updated: "June 22, 2022", name: "Loopring wallet", image_name: "loopring", brand_color: "#ffffff", @@ -241,6 +246,7 @@ const walletData: WalletData[] = [ documentation: "", }, { + last_updated: "June 22, 2022", name: "AirGap wallet", image_name: "airgap", brand_color: "#50249F", @@ -287,6 +293,7 @@ const walletData: WalletData[] = [ documentation: "", }, { + last_updated: "June 22, 2022", name: "Argent", image_name: "argent", brand_color: "#ffffff", @@ -334,6 +341,7 @@ const walletData: WalletData[] = [ documentation: "", }, { + last_updated: "June 22, 2022", name: "Portis", image_name: "portis", brand_color: "#ffffff", @@ -378,6 +386,7 @@ const walletData: WalletData[] = [ documentation: "", }, { + last_updated: "June 22, 2022", name: "Coinbase wallet", image_name: "coinbase", brand_color: "#0052FF", @@ -423,6 +432,7 @@ const walletData: WalletData[] = [ // note: "Community contribution, let's follow up with Coinbase", }, { + last_updated: "June 22, 2022", name: "Frame", image_name: "frame", brand_color: "#222021", @@ -468,6 +478,7 @@ const walletData: WalletData[] = [ documentation: "", }, { + last_updated: "June 22, 2022", name: "Brave Wallet", image_name: "brave", brand_color: "#fe1f02", @@ -514,6 +525,7 @@ const walletData: WalletData[] = [ "https://wallet-docs.brave.com/, https://support.brave.com/hc/en-us/articles/4415497656461-Brave-Wallet-FAQ", }, { + last_updated: "June 22, 2022", name: "Tally Ho!", image_name: "tallyho", brand_color: "#0D2321", @@ -562,6 +574,7 @@ const walletData: WalletData[] = [ "https://docs.tally.cash/tally/, https://gov.tally.cash/, https://blog.tally.cash/", }, { + last_updated: "June 22, 2022", name: "MetaMask", image_name: "metamask", brand_color: "#ffffff", @@ -606,6 +619,7 @@ const walletData: WalletData[] = [ documentation: "", }, { + last_updated: "June 22, 2022", name: "Gnosis Safe", image_name: "gnosis", brand_color: "#ffffff", @@ -651,6 +665,7 @@ const walletData: WalletData[] = [ documentation: "https://docs.gnosis-safe.io/", }, { + last_updated: "June 22, 2022", name: "Coin wallet", image_name: "coinwallet", brand_color: "#ffffff", @@ -722,6 +737,7 @@ const walletData: WalletData[] = [ documentation: "", }, { + last_updated: "June 22, 2022", name: "Ambire", image_name: "ambire", brand_color: "#aa6aff", From 4df4b1e3f9bace4446136c6340b26335cf28440f Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 22 Jun 2022 15:47:40 -0600 Subject: [PATCH 134/310] randomize list order on page load --- src/pages/wallets/find-wallet.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 38b733bb183..6fce68e9471 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -4,6 +4,7 @@ import { graphql } from "gatsby" import { getImage, GatsbyImage } from "gatsby-plugin-image" import { useIntl } from "gatsby-plugin-intl" import styled from "styled-components" +import { shuffle } from "lodash" // Components import Breadcrumbs from "../../components/Breadcrumbs" @@ -265,6 +266,8 @@ const filterDefault = { social_recovery: false, } +const randomizedWalletData = shuffle(walletData) + const FindWalletPage = ({ data, location }) => { const intl = useIntl() @@ -383,7 +386,11 @@ const FindWalletPage = ({ data, location }) => { - + From 30a44d8ed7546c8dd6d67babeb91ceca34bfb3ca Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Wed, 22 Jun 2022 15:30:59 -0700 Subject: [PATCH 135/310] npx browserslist@latest --update-db --- package.json | 1 + yarn.lock | 46 ++++++++++++++++++++++++++++++++-------------- 2 files changed, 33 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 2e2ef4b8c9c..d09f678c665 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "algoliasearch": "^4.3.0", "axios": "^0.21.2", "babel-plugin-styled-components": "^1.10.7", + "browserslist": "^4.21.0", "clipboard": "^2.0.6", "cross-fetch": "^3.1.5", "dotenv": "^8.2.0", diff --git a/yarn.lock b/yarn.lock index f1e199cf220..b921bc36999 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5184,6 +5184,16 @@ browserslist@^4.18.1, browserslist@^4.20.2: node-releases "^2.0.3" picocolors "^1.0.0" +browserslist@^4.21.0: + version "4.21.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.0.tgz#7ab19572361a140ecd1e023e2c1ed95edda0cefe" + integrity sha512-UQxE0DIhRB5z/zDz9iA03BOfxaN2+GQdBYH/2WrSIWEUrnpzTPJbhqt+umq6r3acaPRTW1FNTkrcp0PXgtFkvA== + dependencies: + caniuse-lite "^1.0.30001358" + electron-to-chromium "^1.4.164" + node-releases "^2.0.5" + update-browserslist-db "^1.0.0" + browserslist@^4.6.6: version "4.20.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" @@ -5402,20 +5412,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001272, caniuse-lite@^1.0.30001286: - version "1.0.30001286" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001286.tgz#3e9debad420419618cfdf52dc9b6572b28a8fff6" - integrity sha512-zaEMRH6xg8ESMi2eQ3R4eZ5qw/hJiVsO/HlLwniIwErij0JDr9P+8V4dtx1l+kLq6j3yy8l8W4fst1lBnat5wQ== - -caniuse-lite@^1.0.30001317: - version "1.0.30001323" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001323.tgz#a451ff80dec7033016843f532efda18f02eec011" - integrity sha512-e4BF2RlCVELKx8+RmklSEIVub1TWrmdhvA5kEUueummz1XyySW0DVk+3x9HyhU9MuWTa2BhqLgEuEmUwASAdCA== - -caniuse-lite@^1.0.30001332: - version "1.0.30001341" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001341.tgz#59590c8ffa8b5939cf4161f00827b8873ad72498" - integrity sha512-2SodVrFFtvGENGCv0ChVJIDQ0KPaS1cg7/qtfMaICgeMolDdo/Z2OD32F0Aq9yl6F4YFwGPBS5AaPqNYiW4PoA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001272, caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001317, caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001358: + version "1.0.30001358" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001358.tgz#473d35dabf5e448b463095cab7924e96ccfb8c00" + integrity sha512-hvp8PSRymk85R20bsDra7ZTCpSVGN/PAz9pSAjPSjKC+rNmnUk5vCRgJwiTT/O4feQ/yu/drvZYpKxxhbFuChw== capital-case@^1.0.4: version "1.0.4" @@ -6948,6 +6948,11 @@ electron-to-chromium@^1.4.118: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== +electron-to-chromium@^1.4.164: + version "1.4.166" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.166.tgz#83cd596e59c1a192425b99e6ecc64d9ffff50aff" + integrity sha512-ZPLdq3kcATkD6dwne5M4SgJBHw21t90BqTGzf3AceJwj3cE/ICv6jyDwHYyJoF4JNuXM3pzRxlaRmpO7pdwmcg== + electron-to-chromium@^1.4.17: version "1.4.19" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.19.tgz#b02bfdc6a5f1c683849a462cd54258288c087433" @@ -11955,6 +11960,11 @@ node-releases@^2.0.3: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" integrity sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ== +node-releases@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" + integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== + normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -16097,6 +16107,14 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== +update-browserslist-db@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.3.tgz#6c47cb996f34afb363e924748e2f6e4d983c6fc1" + integrity sha512-ufSazemeh9Gty0qiWtoRpJ9F5Q5W3xdIPm1UZQqYQv/q0Nyb9EMHUB2lu+O9x1re9WsorpMAUu4Y6Lxcs5n+XQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + update-notifier@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" From 215bcad9931b5a6bff834979d2a1a5e42243b071 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Thu, 23 Jun 2022 01:15:44 +0200 Subject: [PATCH 136/310] Fix typo in execution-bounty-hunters.csv --- src/data/execution-bounty-hunters.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/execution-bounty-hunters.csv b/src/data/execution-bounty-hunters.csv index f63ca1b1091..ee45ffc893e 100644 --- a/src/data/execution-bounty-hunters.csv +++ b/src/data/execution-bounty-hunters.csv @@ -48,6 +48,6 @@ daenamkim, "Daenam Kim", 750 , "jazzybedi", 500 feeker, "Feeker - 360 ESG Codesafe Team", 500 ethernomad, "Jonathan Brown", 500 -davidmurdoch, "David Murdoch, 500 +davidmurdoch, "David Murdoch", 500 wadeAlexC, "Alexander Wade", 500 gitpusha, "Luis Schliesske", 200 From f015340a0556ed6e39f7f82635b892beac3cf91a Mon Sep 17 00:00:00 2001 From: Hursit Tarcan <75273616+hursittarcan@users.noreply.github.com> Date: Thu, 23 Jun 2022 01:38:38 +0200 Subject: [PATCH 137/310] Update page-developers-learning-tools.json --- src/intl/en/page-developers-learning-tools.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/intl/en/page-developers-learning-tools.json b/src/intl/en/page-developers-learning-tools.json index c2b00324ceb..d5dc4700204 100644 --- a/src/intl/en/page-developers-learning-tools.json +++ b/src/intl/en/page-developers-learning-tools.json @@ -13,7 +13,7 @@ "page-learning-tools-consensys-academy-description": "Online Ethereum developer bootcamp.", "page-learning-tools-consensys-academy-logo-alt": "ConsenSys Academy logo", "page-learning-tools-buildspace-description": "Learn about crypto by building cool projects.", - "page-learning-tools-buildspace-logo-alt": "_buildspace Logo", + "page-learning-tools-buildspace-logo-alt": "_buildspace logo", "page-learning-tools-cryptozombies-description": "Learn Solidity building your own Zombie game.", "page-learning-tools-cryptozombies-logo-alt": "CryptoZombies logo", "page-learning-tools-documentation": "Learn with documentation", @@ -27,7 +27,7 @@ "page-learning-tools-meta-desc": "Web-based coding tools and interactive learning experiences to help you experiment with Ethereum development.", "page-learning-tools-meta-title": "Developer learning tools", "page-learning-tools-questbook-description": "Self paced tutorials to learn Web 3.0 by building", - "page-learning-tools-questbook-logo-alt": "Questbook Logo", + "page-learning-tools-questbook-logo-alt": "Questbook logo", "page-learning-tools-remix-description": "Develop, deploy and administer smart contracts for Ethereum. Follow tutorials with the Learneth plugin.", "page-learning-tools-remix-description-2": "Remix and Replit aren't just sandboxes—developers can write, compile and deploy their smart contracts using them.", "page-learning-tools-replit-description": "A customizable development environment for Ethereum with hot reloading, error checking, and first-class testnet support.", @@ -39,7 +39,7 @@ "page-learning-tools-vyperfun-description": "Learn Vyper building your own Pokémon game.", "page-learning-tools-vyperfun-logo-alt": "Vyper.fun logo", "page-learning-tools-nftschool-description": "Explore what's going on with non-fungible tokens, or NFTs from the technical side.", - "page-learning-tools-nftschool-logo-alt": "NFT school Logo", + "page-learning-tools-nftschool-logo-alt": "NFT school logo", "page-learning-tools-pointer-description": "Learn web3 dev skills with fun interactive tutorials. Earn crypto rewards along the way", - "page-learning-tools-pointer-logo-alt": "Pointer Logo" + "page-learning-tools-pointer-logo-alt": "Pointer logo" } From 7a950eb9765b61de60bfe6efacd27b3094ae02fa Mon Sep 17 00:00:00 2001 From: byhow Date: Wed, 22 Jun 2022 21:09:31 -0700 Subject: [PATCH 138/310] refactor: remove unused prop and widen types --- src/components/DocLink.tsx | 2 +- src/components/OrderedList.tsx | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/DocLink.tsx b/src/components/DocLink.tsx index ce5f271da79..fd7c3b0618e 100644 --- a/src/components/DocLink.tsx +++ b/src/components/DocLink.tsx @@ -57,7 +57,7 @@ const EmojiCell = styled.div` ` const DocLink: React.FC = ({ to, children, className }) => ( - + diff --git a/src/components/OrderedList.tsx b/src/components/OrderedList.tsx index 1982f4023f9..f385c3c3ce6 100644 --- a/src/components/OrderedList.tsx +++ b/src/components/OrderedList.tsx @@ -3,12 +3,12 @@ import React from "react" import styled from "styled-components" export interface IProps { - listData: (string | HTMLParagraphElement)[] + listData: Array className?: string } // Styles -const Content = styled.div<{ size?: `${string}px` }>` +const Content = styled.div` margin-bottom: 1.45rem; ol { @@ -27,7 +27,7 @@ const Content = styled.div<{ size?: `${string}px` }>` position: absolute; top: -2px; /* adjusts circle + number up and down */ left: -3rem; - width: ${({ size }) => (size ? size : "35px")}; + width: "35px"; aspect-ratio: 1; height: 2rem; padding-top: 7px; /* adjusts number up and down */ @@ -42,7 +42,7 @@ const Content = styled.div<{ size?: `${string}px` }>` // ex: [

string

] or ['string'] const OrderedList: React.FC = ({ listData, className }) => { return ( - +

    {listData.map((data, idx) => { return
  1. {data}
  2. From 70b0edf082901cf00e6533daaff8e4c032eb0d7c Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 23 Jun 2022 10:39:59 +0100 Subject: [PATCH 139/310] add consensus layer to run-a-node page --- .../nodes-and-clients/run-a-node/index.md | 81 +++++++++++++++---- 1 file changed, 64 insertions(+), 17 deletions(-) diff --git a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md index 5dc2877a1ad..1e2d43ffe0b 100644 --- a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md +++ b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md @@ -8,6 +8,8 @@ sidebarDepth: 2 Running your own node provides you various benefits, opens new possibilities, and helps to support the ecosystem. This page will guide you through spinning up your own node and taking part in validating Ethereum transactions. +Note that after [The Merge](/upgrades/merge) a minimum of two clients are required to run an Ethereum node. These are an execution client and a consensus client. This page will show how to install, configure and connect these two clients to form an Ethereum node. + ## Prerequisites {#prerequisites} You should understand what an Ethereum node is and why you might want to run a client. This is covered in [Nodes and clients](/developers/docs/nodes-and-clients/). @@ -17,11 +19,11 @@ If you're new to the topic of running a node, or looking for a less technical pa ## Choosing an approach {#choosing-approach} The first step in spinning up your node is choosing your approach. You have to choose the client (the software), the environment, and the parameters you want to start with. -See all the available [Mainnet clients](/developers/docs/nodes-and-clients/#advantages-of-different-implementations). +This includes the hardware (NUC, laptop, virtual machine, etc), operating system (Windows, Linux, MacOS, FreeBSD etc), client implementation and configuration. Users will have their own individual preferences for each option. #### Client settings {#client-settings} -Client implementations enable different sync modes and various other options. [Sync modes](/developers/docs/nodes-and-clients/#sync-modes) represent different methods of downloading and validating blockchain data. Before starting the node, you should decide what network and sync mode to use. The most important things to consider is the disk space and sync time client will need. +Client implementations enable different sync modes and various other options. [Sync modes](/developers/docs/nodes-and-clients/#sync-modes) represent different methods of downloading and validating blockchain data. Before starting the node, you should decide what network and sync mode to use. The most important things to consider is the disk space and sync time client will need. Note that after [The Merge](/upgrades/merge) a light execution client will no longer work - a full node will be required. All features and options can be found in the client's documentation. Various client configurations can be set by executing the client with the corresponding flags. You can get more information on flags from [EthHub](https://docs.ethhub.io/using-ethereum/running-an-ethereum-node/#client-settings) or the client documentation. For testing purposes, you might prefer running a client on one of testnet networks. [See overview of supported networks](/developers/docs/nodes-and-clients/#execution-clients). @@ -70,7 +72,7 @@ All clients support major operating systems - Linux, MacOS, Windows. This means ## Spinning up the node {#spinning-up-node} -### Getting the client software {#getting-the-client} +### Getting the execution client software {#getting-the-execution-client} First, download your preferred [client software](/developers/docs/nodes-and-clients/#execution-clients) @@ -85,9 +87,13 @@ Executable binaries for stable Mainnet client implementations can be downloaded - [Besu](https://pegasys.tech/solutions/hyperledger-besu/) - [Erigon](https://github.com/ledgerwatch/erigon) +It is also worth noting that client diversity is an [issue on the execution layer](https://clientdiversity.org/), +with Geth being run on about 85% of all Ethereum nodes. It is recommended that readers on this page at least consider +running a minority execution client. + **Note that OpenEthereum [has been deprecated](https://medium.com/openethereum/gnosis-joins-erigon-formerly-turbo-geth-to-release-next-gen-ethereum-client-c6708dd06dd) and is no longer being maintained.** Use it with caution and preferably switch to another client implementation. -### Starting the client {#starting-the-client} +### Starting the execution client {#starting-the-execution-client} Before starting Ethereum client software, perform a last check that your environment is ready. For example, make sure: @@ -97,28 +103,69 @@ Before starting Ethereum client software, perform a last check that your environ - System has correct time and date. - Your router and firewall accept connections on listening ports. By default Ethereum clients use a listener (TCP) port and a discovery (UDP) port, both on 30303 by default. -Run your client on a testnet first to help make sure everything is working correctly. [Running a Geth light node](/developers/tutorials/run-light-node-geth/) should help. -You need to declare any client settings that aren't default at the start. You can use flags or the config file to declare your preferred configuration. Check out your client's documentation for the specifics +Run your client on a testnet first to help make sure everything is working correctly. You need to declare any client settings that aren't default at the start. +In order to connect to a consensus client the execution client must generate a `jwtsecret` at a known path. This path must be known by both clients as it is used +to authenticate a local RPC connection between them. The execution client must also define a listening port for authenticated APIs. + +There are many ways to configure the execution client. You can use flags or the config file to declare your preferred configuration. Check out your client's documentation for the specific details. + Client execution will initiate its core functions, chosen endpoints, and start looking for peers. After successfully discovering peers, the client starts synchronization. Current blockchain data will be available once the client is successfully synced to the current state. -### Using the client {#using-the-client} +### Getting the consensus client {#getting-the-consensus-client} + +There are currently five consensus clients to choose from. These are: + +[Lighthouse](https://lighthouse-book.sigmaprime.io/): written in Rust + +[Nimbus](https://nimbus.team/): written in Nim + +[Prysm](https://docs.prylabs.network/docs/getting-started/): written in Go + +[Teku](https://pegasys.tech/teku): written in Java -Clients offer RPC API endpoints that you can use to control the client and interact with the Ethereum network in various ways: +There is currently a [client diversity][client-div-link] issue where a large dominance of Prysm clients poses a risk +to the health of the network. In response to the initial drive to even out the client diversity many Prysm nodes switched +to Lighthouse to the extent that it now also has a problematic market share. It is therefore recommended to consider choosing +a minority client. + +There are several ways to download and install the consensus clients including prebuilt binaries, docker containers +or building from source. Instructions for each client are provided in the documentation linked in the client list above. +Users can choose the method that is right for them. + +### Starting the consensus client {#starting-the-consensus-client} + +The consensus client must be started with the right port configuration to establish a local RPC connection to the execution +client. The consensus clients all have a command similar to `--http-webprovider` that takes the exposed execution +client port as an argument. + +The consensus client also needs the path to the execution client's `jwt-secret` in order to authenticate the RPC +connection between them. Each consensus client has a command similar to `--jwt-secret` that takes the file +path as an argument. This must be consistent with the `jwtsecret` path provided to the execution client. + +### Adding Validators {#adding-validators} + +Each of the consensus clients have their own validator software that is described in detail in their respective documentation. The easiest way to handle +staking and validator key generation is to use the [Staking Launchpad](https://launchpad.ethereum.org/). + +### Using the node {#using-the-node} + +Execution clients offer RPC API endpoints that you can use to submit transactions, interact with or deploy smart contracts on the Ethereum network in various ways: - Manually calling them with a suitable protocol (e.g. using `curl`) - Attaching a provided console (e.g. `geth attach`) - Implementing them in applications -Different clients have different implementations of the RPC endpoints. But there is a standard JSON-RPC which you can use with every client. For an overview [read the JSON-RPC docs](https://eth.wiki/json-rpc/API). -Applications that need information from the Ethereum network can use this RPC. For example, popular wallet MetaMask lets you [run a local blockchain instance and connect to it](https://metamask.zendesk.com/hc/en-us/articles/360015290012-Using-a-Local-Node). +Different clients have different implementations of the RPC endpoints. But there is a standard JSON-RPC which you can use with every client. For an overview [read the JSON-RPC docs](https://eth.wiki/json-rpc/API). Applications that need information from the Ethereum network can use this RPC. For example, popular wallet MetaMask lets you [run a local blockchain instance and connect to it](https://metamask.zendesk.com/hc/en-us/articles/360015290012-Using-a-Local-Node). + +The consensus clients all expose a [Beacon API](https://ethereum.github.io/beacon-APIs) that can be used to check the status of the consensus client or download blocks and consensus data by sending requests using tools such as [Curl](https://curl.se). More information on this can be found in the documentation for each consensus client. #### Reaching RPC {#reaching-rpc} -The default port of JSON-RPC is `8545` but you can modify the ports of local endpoints in the config file. By default, the RPC interface is only reachable on the localhost of your computer. To make it remotely accessible, you might want to expose it to the public by changing the address to `0.0.0.0`. This will make it reachable over local and public IP addresses. In most cases you'll also need to set up port forwarding on your router. +The default port for the execution client JSON-RPC is `8545` but you can modify the ports of local endpoints in the config file. By default, the RPC interface is only reachable on the localhost of your computer. To make it remotely accessible, you might want to expose it to the public by changing the address to `0.0.0.0`. This will make it reachable over local and public IP addresses. In most cases you'll also need to set up port forwarding on your router. You should do this with caution as this will let anyone on the internet control your node. Malicious actors could access your node to bring down your system or steal your funds if you're using your client as a wallet. -A way around this is to prevent potentially harmful RPC methods from being modifiable. For example, with `geth`, you can declare modifiable methods with a flag: `--http.api web3,eth,txpool`. +A way around this is to prevent potentially harmful RPC methods from being modifiable. For example, with Geth, you can declare modifiable methods with a flag: `--http.api web3,eth,txpool`. You can also host access to your RPC interface by pointing service of web server, like Nginx, to your client's local address and port. @@ -145,19 +192,19 @@ Your node doesn't have to be online nonstop but you should keep it online as muc _This doesn't apply on consensus layer validator nodes._ Taking your node offline will affect all services dependent on it. If you are running a node for _staking_ purposes you should try to minimize downtime as much as possible. -#### Creating client service {#creating-client-service} +#### Creating client services {#creating-client-services} -Consider creating a service to run your client automatically on startup. For example on Linux servers, good practice would be creating a service that executes the client with proper config, under user with limited privileges and automatically restarts. +Consider creating a service to run your clients automatically on startup. For example on Linux servers, good practice would be creating a service that executes the client with proper config, under user with limited privileges and automatically restarts. -#### Updating client {#updating-client} +#### Updating clients {#updating-clients} -You need to keep your client software up-to-date with the latest security patches, features, and [EIPs](/eips/). Especially before [hard forks](/history/), make sure you are running the correct client version. +You need to keep your client software up-to-date with the latest security patches, features, and [EIPs](/eips/). Especially before [hard forks](/history/), make sure you are running the correct client versions. Updating clients is very simple. Each client has specific instructions in their documentation but the process is generally just to stop the client, download the latest version and restart. The client should pick up where it left off but with the updates applied. Each client implementation has a human-readable version string used in the peer-to-peer protocol but is also accessible from the command line. This version string lets users check they are running the correct version and allows block explorers and other analytical tools interested in quantifying the distribution of specific clients over the network. Please refer to the individual client documentation for more information about version strings. #### Running additional services {#running-additional-services} -Running your own node lets you use services that require direct access to Ethereum client RPC. These are services built on top of Ethereum like [layer 2 solutions](/developers/docs/scaling/#layer-2-scaling), [consensus clients](/upgrades/get-involved/#clients), and other Ethereum infrastructure. +Running your own node lets you use services that require direct access to Ethereum client RPC. These are services built on top of Ethereum like [layer 2 solutions](/developers/docs/scaling/#layer-2-scaling) and other Ethereum infrastructure. #### Monitoring the node {#monitoring-the-node} From f24e770069ef37e91b27fc42110e0ede8c1270d0 Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 23 Jun 2022 14:11:57 +0100 Subject: [PATCH 140/310] update link --- .../developers/docs/nodes-and-clients/run-a-node/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md index 1e2d43ffe0b..625c9175873 100644 --- a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md +++ b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md @@ -25,7 +25,8 @@ This includes the hardware (NUC, laptop, virtual machine, etc), operating system Client implementations enable different sync modes and various other options. [Sync modes](/developers/docs/nodes-and-clients/#sync-modes) represent different methods of downloading and validating blockchain data. Before starting the node, you should decide what network and sync mode to use. The most important things to consider is the disk space and sync time client will need. Note that after [The Merge](/upgrades/merge) a light execution client will no longer work - a full node will be required. -All features and options can be found in the client's documentation. Various client configurations can be set by executing the client with the corresponding flags. You can get more information on flags from [EthHub](https://docs.ethhub.io/using-ethereum/running-an-ethereum-node/#client-settings) or the client documentation. +All features and options can be found in the client's documentation. Various client configurations can be set by executing the client with the corresponding flags. You can get more information on flags from the client documentation. + For testing purposes, you might prefer running a client on one of testnet networks. [See overview of supported networks](/developers/docs/nodes-and-clients/#execution-clients). ### Environment and hardware {#environment-and-hardware} From ff97171f6915fb6748341d7c3628c6ee150c8807 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 23 Jun 2022 14:22:30 +0100 Subject: [PATCH 141/310] Remove dedicated support --- src/data/wallets/wallet-data.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index bea5797821b..c1a1a7cdde4 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -660,7 +660,6 @@ const walletData: WalletData[] = [ withdraw_crypto: false, multisig: true, social_recovery: true, - dedicated_support: true, onboard_documentation: "https://help.gnosis-safe.io/en/", documentation: "https://docs.gnosis-safe.io/", }, @@ -732,7 +731,6 @@ const walletData: WalletData[] = [ withdraw_crypto: true, multisig: false, social_recovery: false, - dedicated_support: true, onboard_documentation: "https://support.coin.space/hc/en-us", documentation: "", }, @@ -778,7 +776,6 @@ const walletData: WalletData[] = [ withdraw_crypto: false, multisig: true, social_recovery: true, - dedicated_support: true, onboard_documentation: "https://help.ambire.com/hc/en-us/categories/4404980091538-Ambire-Wallet", documentation: "", From 222c8a9c38bd59d0fe3eef36456d10fe2e6bc34a Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 23 Jun 2022 14:32:57 +0100 Subject: [PATCH 142/310] Add zengo --- src/data/wallets/wallet-data.ts | 45 +++++++++++++++++++++++++++++++ src/pages/wallets/find-wallet.tsx | 5 ++++ 2 files changed, 50 insertions(+) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index c1a1a7cdde4..9c50c5dc98c 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -780,6 +780,51 @@ const walletData: WalletData[] = [ "https://help.ambire.com/hc/en-us/categories/4404980091538-Ambire-Wallet", documentation: "", }, + { + last_updated: "June 23, 2022", + name: "ZenGo", + image_name: "zengo", + brand_color: "#35C4BA", + url: "https://zengo.com/", + wallet_live_date: "Jan, 2020", + active_development_team: true, + languages_supported: ["en", "fr"], + twitter: "https://twitter.com/ZenGo", + discord: "https://twitter.com/zengo", + reddit: "", + telegram: "", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: false, + repo_url: "https://github.com/ZenGo-X", + non_custodial: false, + security_audit: ["https://zengo.com/security/"], + scam_protection: true, + hardware_support: true, + walletconnect: true, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: true, + swaps: true, + layer_2: false, + gas_fee_customization: false, + ens_support: false, + erc_20_support: false, + eip_1559_support: false, + buy_crypto: true, + withdraw_crypto: true, + multisig: false, + social_recovery: false, + onboard_documentation: "https://help.zengo.com/en/", + documentation: "", + }, ] export default walletData diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 6fce68e9471..7f5cd07fc14 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -506,5 +506,10 @@ export const query = graphql` gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } + zengo: file(relativePath: { eq: "wallets/zengo.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } } ` From 18c4bcf6571b191aebaae356172648a704892ebe Mon Sep 17 00:00:00 2001 From: btandowsky <96503989+btandowsky@users.noreply.github.com> Date: Thu, 23 Jun 2022 09:34:42 -0400 Subject: [PATCH 143/310] Adding Gwei Calculator to Page Adding this Gwei calculator to help Ethereum developers and Users easily convert different denominations of Ether. --- src/content/developers/docs/intro-to-ether/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/content/developers/docs/intro-to-ether/index.md b/src/content/developers/docs/intro-to-ether/index.md index 1fb4b77a22e..1620b3e87cf 100644 --- a/src/content/developers/docs/intro-to-ether/index.md +++ b/src/content/developers/docs/intro-to-ether/index.md @@ -75,5 +75,6 @@ Users can query the ether balance of any [account](/developers/docs/accounts/) b - [Defining Ether and Ethereum](https://www.cmegroup.com/education/courses/introduction-to-ether/defining-ether-and-ethereum.html) – _CME Group_ - [Ethereum Whitepaper](/whitepaper/): The original proposal for Ethereum. This document includes a description of ether and the motivations behind its creation. +- [Gwei Calculator](https://www.alchemy.com/gwei-calculator): Use this gwei calculator to easily convert wei, gwei, and ether. Simply plug in any amount of wei, gwei, or ETH and automatically calculate the conversion. _Know of a community resource that helped you? Edit this page and add it!_ From 9721f8660d59e0f1433f0558d95223c3747eeb14 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 23 Jun 2022 14:45:35 +0100 Subject: [PATCH 144/310] Add linen --- src/data/wallets/wallet-data.ts | 45 +++++++++++++++++++++++++++++++ src/pages/wallets/find-wallet.tsx | 5 ++++ 2 files changed, 50 insertions(+) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index 9c50c5dc98c..bcf68eb0544 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -825,6 +825,51 @@ const walletData: WalletData[] = [ onboard_documentation: "https://help.zengo.com/en/", documentation: "", }, + { + last_updated: "June 23, 2022", + name: "Linen wallet", + image_name: "linen", + brand_color: "#08CDC7", + url: "https://linen.app/", + wallet_live_date: "November, 2019", + active_development_team: true, + languages_supported: ["en"], + twitter: "https://twitter.com/GetLinen", + discord: "https://discord.com/invite/fbxHDCj", + reddit: "", + telegram: "", + ios: true, + android: false, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: false, + repo_url: "", + non_custodial: true, + security_audit: [""], + scam_protection: false, + hardware_support: false, + walletconnect: true, + rpc_importing: false, + nft_support: false, + connect_to_dapps: true, + staking: false, + swaps: true, + layer_2: true, + gas_fee_customization: false, + ens_support: false, + erc_20_support: true, + eip_1559_support: false, + buy_crypto: true, + withdraw_crypto: false, + multisig: true, + social_recovery: false, + onboard_documentation: "https://linen.app/articles/", + documentation: "https://support.linen.app/en/", + }, ] export default walletData diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 7f5cd07fc14..0ac53e46a2f 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -511,5 +511,10 @@ export const query = graphql` gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } + linen: file(relativePath: { eq: "wallets/linen.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } } ` From 93c9ca2129aced5e5d5a25e02a6344463008fa82 Mon Sep 17 00:00:00 2001 From: Pablo Pettinari Date: Thu, 23 Jun 2022 11:02:59 -0300 Subject: [PATCH 145/310] ts fixes & cleanup --- src/components/ExpandableCard.tsx | 10 +-- src/components/Staking/StakingComparison.tsx | 2 +- .../Staking/StakingConsiderations.tsx | 4 +- .../Staking/StakingHomeTableOfContents.tsx | 17 +++-- .../Staking/StakingProductsCardGrid.tsx | 74 +++++++++++-------- src/components/Staking/StakingStatsBox.tsx | 8 +- src/pages/staking/deposit-contract.tsx | 2 +- src/pages/staking/index.tsx | 21 ++---- src/utils/translations.ts | 2 +- 9 files changed, 76 insertions(+), 64 deletions(-) diff --git a/src/components/ExpandableCard.tsx b/src/components/ExpandableCard.tsx index 7274d7a0b0b..c7906a9ab82 100644 --- a/src/components/ExpandableCard.tsx +++ b/src/components/ExpandableCard.tsx @@ -90,11 +90,11 @@ const ButtonLink = styled.button` ` export interface IProps { - contentPreview: string + contentPreview?: string title: string svg?: ComponentType> - eventCategory: string - eventName: string + eventCategory?: string + eventName?: string } const ExpandableCard: React.FC = ({ @@ -102,8 +102,8 @@ const ExpandableCard: React.FC = ({ contentPreview, title, svg: Svg, - eventCategory, - eventName, + eventCategory = "", + eventName = "", }) => { const [isVisible, setIsVisible] = useState(false) diff --git a/src/components/Staking/StakingComparison.tsx b/src/components/Staking/StakingComparison.tsx index bd353ba48f2..011475e4b9c 100644 --- a/src/components/Staking/StakingComparison.tsx +++ b/src/components/Staking/StakingComparison.tsx @@ -5,11 +5,11 @@ import Link from "../Link" import Translation from "../Translation" import { EventOptions, trackCustomEvent } from "../../utils/matomo" +import { TranslationKey } from "../../utils/translations" import SoloGlyph from "../../assets/staking/staking-glyph-cpu.svg" import SaasGlyph from "../../assets/staking/staking-glyph-cloud.svg" import PoolGlyph from "../../assets/staking/staking-glyph-token-wallet.svg" -import { TranslationKey } from "../../utils/translations" const GradientContainer = styled.div` display: flex; diff --git a/src/components/Staking/StakingConsiderations.tsx b/src/components/Staking/StakingConsiderations.tsx index 57abb1af5bd..7a9e93c97ee 100644 --- a/src/components/Staking/StakingConsiderations.tsx +++ b/src/components/Staking/StakingConsiderations.tsx @@ -1,5 +1,5 @@ import React, { useState } from "react" -import styled, { DefaultTheme } from "styled-components" +import styled from "styled-components" // SVG imports import GreenCheck from "../../assets/staking/green-check-product-glyph.svg" import Caution from "../../assets/staking/caution-product-glyph.svg" @@ -468,7 +468,7 @@ const StakingConsiderations: React.FC = ({ page }) => { })), } - const handleSelection = (idx) => { + const handleSelection = (idx: number): void => { setActiveIndex(idx) } diff --git a/src/components/Staking/StakingHomeTableOfContents.tsx b/src/components/Staking/StakingHomeTableOfContents.tsx index e1868d4b916..61b321c7a99 100644 --- a/src/components/Staking/StakingHomeTableOfContents.tsx +++ b/src/components/Staking/StakingHomeTableOfContents.tsx @@ -2,7 +2,6 @@ import React from "react" import { motion } from "framer-motion" import { Link } from "gatsby" import styled from "styled-components" -import { TranslationKey } from "../../utils/translations" const StyledTableOfContentsLink = styled(Link)` position: relative; @@ -11,10 +10,17 @@ const StyledTableOfContentsLink = styled(Link)` margin-bottom: 0.5rem !important; ` -const TableOfContentsLink = ({ +interface Item { + id: string + title: string +} + +interface ITableOfContentsLinkProps { + item: Item +} + +const TableOfContentsLink: React.FC = ({ item: { id, title }, -}: { - item: { id: string; title: string } }) => { const url = `#${id}` let isActive = false @@ -62,8 +68,9 @@ const ListItem = styled.li` ` export interface IProps { - items: { id: string; title: string }[] + items: Array } + const StakingHomeTableOfContents: React.FC = ({ items }) => { if (!items) return null diff --git a/src/components/Staking/StakingProductsCardGrid.tsx b/src/components/Staking/StakingProductsCardGrid.tsx index 45d58e19714..aac3ea8b35e 100644 --- a/src/components/Staking/StakingProductsCardGrid.tsx +++ b/src/components/Staking/StakingProductsCardGrid.tsx @@ -1,5 +1,11 @@ -import React, { useContext, useEffect, useState } from "react" -import styled, { DefaultTheme, ThemeContext } from "styled-components" +import React, { + ComponentType, + SVGProps, + useContext, + useEffect, + useState, +} from "react" +import styled, { ThemeContext } from "styled-components" import { shuffle } from "lodash" // Data imports import stakingProducts from "../../data/staking-products.json" @@ -140,7 +146,7 @@ const Cta = styled(PaddedDiv)` } ` -const Status = ({ status }) => { +const Status: React.FC<{ status: FlagType }> = ({ status }) => { if (!status) return null const styles = { width: "24", height: "auto" } switch (status) { @@ -156,7 +162,9 @@ const Status = ({ status }) => { } } -const getSvgFromPath = (svgPath) => { +const getSvgFromPath = ( + svgPath: string +): ComponentType> => { const mapping = { "abyss-glyph.svg": Abyss, "allnodes-glyph.svg": Allnodes, @@ -175,8 +183,7 @@ const getSvgFromPath = (svgPath) => { } return mapping[svgPath] } - -export enum FlagType { +enum FlagType { VALID = "green-check", CAUTION = "caution", WARNING = "warning", @@ -184,13 +191,13 @@ export enum FlagType { UNKNOWN = "unknown", } -export type ProductType = { +type Product = { name: string svgPath: string color: string url: string - platforms: string[] - ui: string[] + platforms: Array + ui: Array minEth: number openSource: FlagType audited: FlagType @@ -206,11 +213,11 @@ export type ProductType = { economical: FlagType matomo: EventOptions } -export interface IProps { - product: ProductType +interface ICardProps { + product: Product } -const StakingProductCard: React.FC = ({ +const StakingProductCard: React.FC = ({ product: { name, svgPath, @@ -332,26 +339,30 @@ const StakingProductCard: React.FC = ({ ) } -const StakingProductCardGrid = ({ category }) => { +export interface IProps { + category: string +} + +const StakingProductCardGrid: React.FC = ({ category }) => { const themeContext = useContext(ThemeContext) - const [rankedProducts, updateRankedProducts] = useState([]) + const [rankedProducts, updateRankedProducts] = useState>([]) const isDarkTheme = themeContext.isDark const [SAT, LUM] = isDarkTheme ? ["50%", "35%"] : ["75%", "60%"] - const scoreOpenSource = (product) => { + const scoreOpenSource = (product: Product): 1 | 0 => { return product.openSource === FlagType.VALID ? 1 : 0 } - const scoreAudited = (product) => { + const scoreAudited = (product: Product): 1 | 0 => { return product.audited === FlagType.VALID ? 1 : 0 } - const scoreBugBounty = (product) => { + const scoreBugBounty = (product: Product): 1 | 0 => { return product.bugBounty === FlagType.VALID ? 1 : 0 } - - const scoreBattleTested = (product) => { + 1 + const scoreBattleTested = (product: Product): 2 | 1 | 0 => { return product.battleTested === FlagType.VALID ? 2 : product.battleTested === FlagType.CAUTION @@ -359,23 +370,23 @@ const StakingProductCardGrid = ({ category }) => { : 0 } - const scoreTrustless = (product) => { + const scoreTrustless = (product: Product): 1 | 0 => { return product.trustless === FlagType.VALID ? 1 : 0 } - const scorePermissionless = (product) => { + const scorePermissionless = (product: Product): 1 | 0 => { return product.permissionless === FlagType.VALID ? 1 : 0 } - const scorePermissionlessNodes = (product) => { + const scorePermissionlessNodes = (product: Product): 1 | 0 => { return product.permissionlessNodes === FlagType.VALID ? 1 : 0 } - const scoreMultiClient = (product) => { + const scoreMultiClient = (product: Product): 1 | 0 => { return product.multiClient === FlagType.VALID ? 1 : 0 } - const scoreDiverseClients = (product) => { + const scoreDiverseClients = (product: Product): 2 | 1 | 0 => { return product.diverseClients === FlagType.VALID ? 2 : product.diverseClients === FlagType.WARNING @@ -383,11 +394,11 @@ const StakingProductCardGrid = ({ category }) => { : 0 } - const scoreEconomical = (product) => { + const scoreEconomical = (product: Product): 1 | 0 => { return product.economical === FlagType.VALID ? 1 : 0 } - const getRankingScore = (product) => { + const getRankingScore = (product: Product): number => { let score = 0 score += scoreOpenSource(product) score += scoreAudited(product) @@ -402,7 +413,7 @@ const StakingProductCardGrid = ({ category }) => { return score } - const getBattleTestedFlag = (_launchDate) => { + const getBattleTestedFlag = (_launchDate: string): FlagType => { let battleTested = FlagType.WARNING const launchDate = new Date(_launchDate) const now = new Date() @@ -419,13 +430,15 @@ const StakingProductCardGrid = ({ category }) => { return battleTested } - const getDiversityOfClients = (_pctMajorityClient) => { + const getDiversityOfClients = ( + _pctMajorityClient: number | null + ): FlagType => { if (!_pctMajorityClient) return FlagType.UNKNOWN if (_pctMajorityClient > 50) return FlagType.WARNING return FlagType.VALID } - const getFlagFromBoolean = (bool) => + const getFlagFromBoolean = (bool: boolean): FlagType => !!bool ? FlagType.VALID : FlagType.FALSE const getBrandProperties = ({ @@ -463,7 +476,7 @@ const StakingProductCardGrid = ({ category }) => { useEffect(() => { const categoryProducts = stakingProducts[category] - const products: ProductType[] = [] + const products: Array = [] // Pooled staking services if (category === "pools") { @@ -549,4 +562,5 @@ const StakingProductCardGrid = ({ category }) => { ) } + export default StakingProductCardGrid diff --git a/src/components/Staking/StakingStatsBox.tsx b/src/components/Staking/StakingStatsBox.tsx index 9889c7f98bf..281a1b4f66e 100644 --- a/src/components/Staking/StakingStatsBox.tsx +++ b/src/components/Staking/StakingStatsBox.tsx @@ -52,7 +52,7 @@ const IndicatorSpan = styled.span` font-size: 2rem; ` -const ErrorMessage = () => ( +const ErrorMessage: React.FC = () => ( @@ -72,10 +72,10 @@ const StatsBoxGrid: React.FC = () => { intl.locale as Lang ) - const formatInteger = (amount) => + const formatInteger = (amount: number): string => new Intl.NumberFormat(localeForStatsBoxNumbers).format(amount) - const formatPercentage = (amount) => + const formatPercentage = (amount: number): string => new Intl.NumberFormat(localeForStatsBoxNumbers, { style: "percent", minimumSignificantDigits: 2, @@ -91,7 +91,7 @@ const StatsBoxGrid: React.FC = () => { }>("https://mainnet.beaconcha.in/api/v1/epoch/latest") const valueTotalEth = formatInteger( - (totalvalidatorbalance * 1e-9).toFixed(0) + Number((totalvalidatorbalance * 1e-9).toFixed(0)) ) const valueTotalValidators = formatInteger(validatorscount) const currentAprDecimal = calculateStakingRewards( diff --git a/src/pages/staking/deposit-contract.tsx b/src/pages/staking/deposit-contract.tsx index d43c51046d3..303be8146c6 100644 --- a/src/pages/staking/deposit-contract.tsx +++ b/src/pages/staking/deposit-contract.tsx @@ -4,7 +4,6 @@ import { graphql, PageProps } from "gatsby" import makeBlockie from "ethereum-blockies-base64" import { getImage } from "gatsby-plugin-image" import { useIntl } from "gatsby-plugin-intl" -import type { Context } from "../../types" import Breadcrumbs from "../../components/Breadcrumbs" import ButtonLink from "../../components/ButtonLink" @@ -24,6 +23,7 @@ import { } from "../../components/SharedStyledComponents" import { DEPOSIT_CONTRACT_ADDRESS } from "../../data/addresses" import { translateMessageId, TranslationKey } from "../../utils/translations" +import type { Context } from "../../types" const Page = styled.div` width: 100%; diff --git a/src/pages/staking/index.tsx b/src/pages/staking/index.tsx index f2ac98cc89d..326c8914f3f 100644 --- a/src/pages/staking/index.tsx +++ b/src/pages/staking/index.tsx @@ -3,7 +3,6 @@ import { graphql, PageProps } from "gatsby" import { useIntl } from "gatsby-plugin-intl" import { getImage } from "gatsby-plugin-image" import styled, { DefaultTheme } from "styled-components" -import type { Context } from "../../types" import ButtonDropdown from "../../components/ButtonDropdown" import ButtonLink from "../../components/ButtonLink" @@ -25,6 +24,7 @@ import StakingHomeTableOfContents from "../../components/Staking/StakingHomeTabl import StakingCommunityCallout from "../../components/Staking/StakingCommunityCallout" import { translateMessageId, TranslationKey } from "../../utils/translations" +import type { Context } from "../../types" const HeroStatsWrapper = styled.div` display: flex; @@ -170,7 +170,7 @@ const ComparisonGrid = styled.div` } ` -const ColorH3 = styled.h3` +const ColorH3 = styled.h3<{ color: string }>` grid-area: ${({ color }) => { switch (color) { case "stakingGold": @@ -183,8 +183,7 @@ const ColorH3 = styled.h3` return "" } }}; - color: ${({ theme, color }: { theme: DefaultTheme; color: string }) => - theme.colors[color]}; + color: ${({ theme, color }) => theme.colors[color]}; ` const StyledButtonLink = styled(ButtonLink)` @@ -224,7 +223,8 @@ type BenefitsType = { linkText?: TranslationKey to?: string } -const benefits: BenefitsType[] = [ + +const benefits: Array = [ { title: "page-staking-benefits-1-title", emoji: "💰", @@ -333,7 +333,7 @@ const StakingPage = ({ }, } - const tocArray = Object.keys(tocItems).map((item) => tocItems[item]) + const tocArray = Object.values(tocItems) return ( @@ -622,25 +622,16 @@ const StakingPage = ({

    diff --git a/src/utils/translations.ts b/src/utils/translations.ts index 76c063cdfdf..2296b8811f2 100644 --- a/src/utils/translations.ts +++ b/src/utils/translations.ts @@ -55,7 +55,7 @@ export const translateMessageId = ( // Overwrites the default Persian numbering of the Farsi language to use Hindu-Arabic numerals (0-9) // Context: https://github.com/ethereum/ethereum-org-website/pull/5490#pullrequestreview-892596553 -export const getLocaleForNumberFormat = (locale: Lang) => { +export const getLocaleForNumberFormat = (locale: Lang): Lang => { if (locale === "fa") { return "en" } From 78d07c7456d9888cca7808ad1ca1211261973bff Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Thu, 23 Jun 2022 15:14:18 +0100 Subject: [PATCH 146/310] reset button --- src/pages/wallets/find-wallet.tsx | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 6fce68e9471..6397c6a8688 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -208,29 +208,27 @@ const ResetContainer = styled.div` align-items: center; justify-content: center; padding: 2px 4px; - border: 1px solid ${(props) => props.theme.colors.selectHover}; border-radius: 4px; - width: 140px; + width: auto; margin: 0 auto; gap: 0.25rem; font-size: 0.75rem; cursor: pointer; :hover { - border: 1px solid ${(props) => props.theme.colors.primary}; p { - color: ${(props) => props.theme.colors.primary}; + color: ${(props) => props.theme.colors.selectHover}; } svg { - fill: ${(props) => props.theme.colors.primary}; + fill: ${(props) => props.theme.colors.selectHover}; } } p { margin: 0; - color: ${(props) => props.theme.colors.selectHover}; + color: ${(props) => props.theme.colors.primary}; } svg { - fill: ${(props) => props.theme.colors.selectHover}; + fill: ${(props) => props.theme.colors.primary}; } ` From ed0eb90c84b696e7b55f21daced4105d46d8a827 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 23 Jun 2022 14:28:31 +0000 Subject: [PATCH 147/310] docs: update README.md [skip ci] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 43594164b2c..904ce746b63 100644 --- a/README.md +++ b/README.md @@ -948,7 +948,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d

- + From ba155e27712f6c5b75a9ef3be1cfd45cba522ae8 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 23 Jun 2022 14:28:32 +0000 Subject: [PATCH 148/310] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index ad84355227d..0f775a07ebd 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -5547,7 +5547,8 @@ "avatar_url": "https://avatars.githubusercontent.com/u/735288?v=4", "profile": "http://www.sigasi.com", "contributions": [ - "doc" + "doc", + "code" ] }, { From a24a7f00d96ab0e7c3e2c6255e89d0d8f75feb5d Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Thu, 23 Jun 2022 15:54:14 +0100 Subject: [PATCH 149/310] filters and personas styling --- .../FindWallet/WalletFilterSidebar.tsx | 3 +- .../FindWallet/WalletPersonasSidebar.tsx | 30 +++++++++++++++---- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 9740646f002..c150fd39dd7 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -46,8 +46,7 @@ const FilterPanel = styled.div` flex-direction: column; align-items: flex-start; padding: 24px; - background: ${(props) => props.theme.colors.ednBackground}; - border: 1px solid #3d3d3d; + background: ${(props) => props.theme.colors.primary100}; border-radius: 4px; ` diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 309ad797896..a873981bb20 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -78,9 +78,8 @@ const Persona = styled.div<{ padding: 1rem; background: ${(props) => props.selected === true - ? props.theme.colors.primary100 - : props.theme.colors.ednBackground}; - border: 1px solid #3d3d3d; + ? props.theme.colors.primary200 + : props.theme.colors.primary100}; border-radius: 4px; cursor: pointer; transition: 0.5s all; @@ -96,10 +95,21 @@ const Persona = styled.div<{ transition: 0.5s all; } + &:hover { - background: ${(props) => props.theme.colors.primary100}; + background: ${(props) => + props.selected === true + ? props.theme.colors.primary200 + : props.theme.colors.primary200}; transition: 0.5s all; + h3{ + color: ${(props) => + props.selected === true + ? props.theme.colors.primary + : props.theme.colors.black}; + } + h4 { color: ${(props) => props.theme.colors.black}; transition: 0.5s all; @@ -129,8 +139,7 @@ const Title = styled.div` margin-bottom: 0.5rem; ` -const H3 = styled.h3` - color: ${(props) => props.theme.colors.primary}; +const H3 = styled.h3<{ selected: boolean }>` margin-left: 0.5rem; margin-top: 0; margin-bottom: 0; @@ -147,6 +156,15 @@ const Grid = styled.div` const StyledIcon = styled(Icon)<{ selected: boolean }>` fill: ${(props) => + props.selected === true + ? props.theme.colors.white + : props.theme.colors.secondary}; + background: ${(props) => + props.selected === true + ? props.theme.colors.primary + : props.theme.colors.white};; + border-radius: 4px; + border: 1px solid ${(props) => props.selected === true ? props.theme.colors.primary : props.theme.colors.secondary}; From e0c6f8b53eb3a118835ba39efbf424ac53b301df Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Thu, 23 Jun 2022 17:00:42 +0100 Subject: [PATCH 150/310] messing the theme colors in the filters --- src/components/FindWallet/WalletFilterSidebar.tsx | 2 +- src/components/FindWallet/WalletPersonasSidebar.tsx | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index c150fd39dd7..8c83d2a3538 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -46,7 +46,7 @@ const FilterPanel = styled.div` flex-direction: column; align-items: flex-start; padding: 24px; - background: ${(props) => props.theme.colors.primary100}; + background: ${({ theme }) => (theme.isDark ? theme.colors.black400 : theme.colors.primary100)}; border-radius: 4px; ` diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index a873981bb20..115858789d1 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -76,10 +76,7 @@ const Persona = styled.div<{ flex-direction: column; align-items: flex-start; padding: 1rem; - background: ${(props) => - props.selected === true - ? props.theme.colors.primary200 - : props.theme.colors.primary100}; + background: ${(props) => props.selected === true ? props.theme.colors.primary200 : props.theme.colors.primary100}; border-radius: 4px; cursor: pointer; transition: 0.5s all; From 8d1e110625a07535b6416e8668032618bc10abd6 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Thu, 23 Jun 2022 18:55:58 +0100 Subject: [PATCH 151/310] colors adjustments for the personas --- .../FindWallet/WalletPersonasSidebar.tsx | 49 +++++-------------- 1 file changed, 13 insertions(+), 36 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 115858789d1..8e9a7d034c5 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -1,6 +1,6 @@ // Libraries -import React, { ReactSVGElement, useState } from "react" -import styled from "styled-components" +import React, { useContext } from "react" +import styled, { ThemeContext } from "styled-components" // Components import Icon from "../Icon" @@ -71,12 +71,15 @@ const PersonaFeature = styled.div<{ const Persona = styled.div<{ selected: boolean + isDark: boolean }>` display: flex; flex-direction: column; align-items: flex-start; - padding: 1rem; - background: ${(props) => props.selected === true ? props.theme.colors.primary200 : props.theme.colors.primary100}; + padding: 1.5rem; + background: ${(props) => props.selected === true + ? props.isDark === true ? props.theme.colors.primary800 : props.theme.colors.primary200 + : props.isDark === true ? props.theme.colors.black400 : props.theme.colors.primary100}; border-radius: 4px; cursor: pointer; transition: 0.5s all; @@ -94,38 +97,10 @@ const Persona = styled.div<{ &:hover { - background: ${(props) => - props.selected === true - ? props.theme.colors.primary200 - : props.theme.colors.primary200}; + background: ${(props) => props.selected === true + ? props.isDark === true ? props.theme.colors.primary800 : props.theme.colors.primary200 + : props.isDark === true ? props.theme.colors.black500 : props.theme.colors.primary200}; transition: 0.5s all; - - h3{ - color: ${(props) => - props.selected === true - ? props.theme.colors.primary - : props.theme.colors.black}; - } - - h4 { - color: ${(props) => props.theme.colors.black}; - transition: 0.5s all; - } - - p { - color: ${(props) => props.theme.colors.black}; - transition: 0.5s all; - } - - ${PersonaFeature} { - transition: 0.5s all; - svg { - path { - fill: ${(props) => props.theme.colors.black}; - stroke: ${(props) => props.theme.colors.black}; - } - } - } } ` @@ -159,7 +134,7 @@ const StyledIcon = styled(Icon)<{ selected: boolean }>` background: ${(props) => props.selected === true ? props.theme.colors.primary - : props.theme.colors.white};; + : props.theme.colors.priceCardBackground};; border-radius: 4px; border: 1px solid ${(props) => props.selected === true @@ -282,6 +257,7 @@ const WalletPersonasSidebar = ({ selectedPersona, setSelectedPersona, }) => { + const themeContext = useContext(ThemeContext) const personas: Personas[] = [ { title: "I'm new to Ethereum", @@ -517,6 +493,7 @@ const WalletPersonasSidebar = ({ {personas.map((persona, idx) => { return ( { if (idx === selectedPersona) { From 5371d1b6a3b9a1a45e8a0c5ad8573606e675c29c Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Thu, 23 Jun 2022 19:21:33 +0100 Subject: [PATCH 152/310] Apply suggestions from code review Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com> --- .../nodes-and-clients/run-a-node/index.md | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md index 625c9175873..e9451febb35 100644 --- a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md +++ b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md @@ -19,7 +19,7 @@ If you're new to the topic of running a node, or looking for a less technical pa ## Choosing an approach {#choosing-approach} The first step in spinning up your node is choosing your approach. You have to choose the client (the software), the environment, and the parameters you want to start with. -This includes the hardware (NUC, laptop, virtual machine, etc), operating system (Windows, Linux, MacOS, FreeBSD etc), client implementation and configuration. Users will have their own individual preferences for each option. +This includes the hardware (NUC, laptop, virtual machine, etc), operating system (Linux, Windows, macOS, etc), client implementation and configuration. Users will have their own individual preferences for each option. #### Client settings {#client-settings} @@ -75,7 +75,7 @@ All clients support major operating systems - Linux, MacOS, Windows. This means ### Getting the execution client software {#getting-the-execution-client} -First, download your preferred [client software](/developers/docs/nodes-and-clients/#execution-clients) +First, download your preferred [execution client software](/developers/docs/nodes-and-clients/#execution-clients) You can simply download an executable application or installation package which suits your operating system and architecture. Always verify signatures and checksums of downloaded packages. Some clients also offer repositories for easier installation and updates. If you prefer, you can build from source. All of the clients are open source so you can build them from source code with the proper compiler. @@ -89,7 +89,7 @@ Executable binaries for stable Mainnet client implementations can be downloaded - [Erigon](https://github.com/ledgerwatch/erigon) It is also worth noting that client diversity is an [issue on the execution layer](https://clientdiversity.org/), -with Geth being run on about 85% of all Ethereum nodes. It is recommended that readers on this page at least consider +with Geth being run on a supermajority (>66%) of all Ethereum nodes. It is recommended that readers on this page consider running a minority execution client. **Note that OpenEthereum [has been deprecated](https://medium.com/openethereum/gnosis-joins-erigon-formerly-turbo-geth-to-release-next-gen-ethereum-client-c6708dd06dd) and is no longer being maintained.** Use it with caution and preferably switch to another client implementation. @@ -116,18 +116,15 @@ Client execution will initiate its core functions, chosen endpoints, and start l There are currently five consensus clients to choose from. These are: -[Lighthouse](https://lighthouse-book.sigmaprime.io/): written in Rust +- [Lighthouse](https://lighthouse-book.sigmaprime.io/): written in Rust +- [Nimbus](https://nimbus.team/): written in Nim +- [Prysm](https://docs.prylabs.network/docs/getting-started/): written in Go +- [Teku](https://pegasys.tech/teku): written in Java -[Nimbus](https://nimbus.team/): written in Nim - -[Prysm](https://docs.prylabs.network/docs/getting-started/): written in Go - -[Teku](https://pegasys.tech/teku): written in Java - -There is currently a [client diversity][client-div-link] issue where a large dominance of Prysm clients poses a risk +There is currently a [client diversity][/developers/docs/nodes-and-clients/client-diversity/] issue where a large dominance of Prysm clients poses a risk to the health of the network. In response to the initial drive to even out the client diversity many Prysm nodes switched to Lighthouse to the extent that it now also has a problematic market share. It is therefore recommended to consider choosing -a minority client. +a minority client. [See the latest network client usage](https://clientdiversity.org/) There are several ways to download and install the consensus clients including prebuilt binaries, docker containers or building from source. Instructions for each client are provided in the documentation linked in the client list above. From b3292571288abb5b1a4a9e056efb35ed7b762ea6 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Thu, 23 Jun 2022 19:48:25 +0100 Subject: [PATCH 153/310] filter styles are done --- .../FindWallet/WalletFilterSidebar.tsx | 7 ++-- .../FindWallet/WalletPersonasSidebar.tsx | 40 ++++++++++++++----- 2 files changed, 32 insertions(+), 15 deletions(-) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 8c83d2a3538..833f23bab2b 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -100,15 +100,14 @@ const IconContainer = styled.div` margin-top: 8px; path { - fill: white; - stroke: white; + fill: ${(props) => props.theme.colors.text}; } } ` const OptionDescription = styled.p` - font-size: 0.85rem; - line-height: 0.8rem; + font-size: 0.9rem; + line-height: 1.1rem; color: ${(props) => props.theme.colors.text200}; ` diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 8e9a7d034c5..1bdc357d420 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -49,7 +49,7 @@ const PersonaFeature = styled.div<{ margin-bottom: 0; color: ${(props) => props.selected === true - ? props.theme.colors.black + ? props.theme.colors.primary : props.theme.colors.text}; } @@ -59,7 +59,7 @@ const PersonaFeature = styled.div<{ path { fill: ${(props) => props.selected === true - ? props.theme.colors.black + ? props.theme.colors.primary : props.theme.colors.text}; stroke: ${(props) => props.selected === true @@ -78,27 +78,39 @@ const Persona = styled.div<{ align-items: flex-start; padding: 1.5rem; background: ${(props) => props.selected === true - ? props.isDark === true ? props.theme.colors.primary800 : props.theme.colors.primary200 + ? props.isDark === true ? props.theme.colors.primary900 : props.theme.colors.primary200 : props.isDark === true ? props.theme.colors.black400 : props.theme.colors.primary100}; border-radius: 4px; cursor: pointer; transition: 0.5s all; + h3{ + color: ${(props) => props.selected === true + ? props.isDark === true ? props.theme.colors.primary : props.theme.colors.primary + : props.isDark === true ? props.theme.colors.text : props.theme.colors.text}; + } + h4 { - margin: 0 0 0.5rem 0; + margin: 0.5rem 0 0.8rem 0; + padding: 0.7rem 0.6rem 0; color: ${(props) => props.selected === true - ? props.theme.colors.black - : props.theme.colors.text}; + ? props.theme.colors.primary + : props.theme.colors.text200}; font-size: 0.9rem; font-weight: normal; transition: 0.5s all; + line-height: 1.3; + border-top: 1px solid ${(props) => + props.selected === true + ? props.theme.colors.primary + : props.theme.colors.lightBorder}; } &:hover { background: ${(props) => props.selected === true - ? props.isDark === true ? props.theme.colors.primary800 : props.theme.colors.primary200 + ? props.isDark === true ? props.theme.colors.primary900 : props.theme.colors.primary200 : props.isDark === true ? props.theme.colors.black500 : props.theme.colors.primary200}; transition: 0.5s all; } @@ -108,14 +120,17 @@ const Title = styled.div` display: flex; align-items: center; gap: "1rem"; - margin-bottom: 0.5rem; + margin-bottom: 0.6rem; + padding: 0.5rem 0.5rem 0 0.5rem; + ` const H3 = styled.h3<{ selected: boolean }>` margin-left: 0.5rem; margin-top: 0; margin-bottom: 0; - font-size: 1.25rem; + font-size: 1.3rem; + padding: 0 0.25rem; ` const Grid = styled.div` @@ -127,10 +142,13 @@ const Grid = styled.div` ` const StyledIcon = styled(Icon)<{ selected: boolean }>` + width: 1.3rem; + height: 1.3rem; + margin: 0 0.25rem; fill: ${(props) => props.selected === true ? props.theme.colors.white - : props.theme.colors.secondary}; + : "rgba(0, 0, 0, 0)"}; background: ${(props) => props.selected === true ? props.theme.colors.primary @@ -139,7 +157,7 @@ const StyledIcon = styled(Icon)<{ selected: boolean }>` border: 1px solid ${(props) => props.selected === true ? props.theme.colors.primary - : props.theme.colors.secondary}; + : props.theme.colors.text}; ` // Types From f734374d59ac522370b71df158c27ce1a2653b4a Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 23 Jun 2022 12:55:36 -0600 Subject: [PATCH 154/310] dropdown colors --- src/components/FindWallet/WalletTable.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index dbe44210446..47a92ff3fb5 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -142,10 +142,14 @@ const StyledSelect = styled(Select)` .react-select__control--is-focused { border: none; background: ${(props) => props.theme.colors.primary}; + svg { + fill: ${(props) => props.theme.colors.background}; + transition: 0.5s all; + } .react-select__value-container { .react-select__single-value { - color: ${(props) => props.theme.colors.text}; + color: ${(props) => props.theme.colors.background}; } } @@ -153,13 +157,13 @@ const StyledSelect = styled(Select)` background: ${(props) => props.theme.colors.primary}; .react-select__value-container { .react-select__single-value { - color: ${(props) => props.theme.colors.text}; + color: ${(props) => props.theme.colors.background}; } } .react-select__indicators { .react-select__indicator { - color: ${(props) => props.theme.colors.text}; + color: ${(props) => props.theme.colors.background}; } } } From 5f6309bc89bc97ac9ba54e4744b95be2b4931088 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 23 Jun 2022 13:57:53 -0600 Subject: [PATCH 155/310] temp styles for mobile tab --- src/pages/wallets/find-wallet.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 6397c6a8688..fff5a3bc65e 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -90,7 +90,7 @@ const MobileFilterToggle = styled.div` gap: 1rem; justify-content: center; align-items: center; - background: #141414; + background: ${(props) => props.theme.colors.codeBackground}; border: 1px solid #404040; border-radius: 0px 4px 4px 0px; padding: 6px 20px 10px 20px; @@ -106,6 +106,12 @@ const MobileFilterToggle = styled.div` svg { width: 24px; height: 24px; + line { + stroke: ${(props) => props.theme.colors.primary}; + } + circle { + stroke: ${(props) => props.theme.colors.primary}; + } } ` From 886d0cdb9b55f51755e3d634bb4893d2852532ec Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 23 Jun 2022 14:56:50 -0600 Subject: [PATCH 156/310] convert WalletTable to use table --- src/components/FindWallet/WalletTable.tsx | 230 ++++++++++++---------- 1 file changed, 123 insertions(+), 107 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 47a92ff3fb5..1abddeaab6f 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -30,7 +30,7 @@ import Warning from "../../assets/staking/warning-product-glyph.svg" import GreenCheck from "../../assets/staking/green-check-product-glyph.svg" // Styles -const Container = styled.div` +const Container = styled.table` width: 100%; ` @@ -46,7 +46,7 @@ const WalletContainer = styled(Container)` } ` -const Grid = styled.div` +const Grid = styled.tr` display: grid; grid-template-columns: 40% auto auto auto 5%; width: 100%; @@ -58,11 +58,21 @@ const Grid = styled.div` } @media (max-width: ${(props) => props.theme.breakpoints.m}) { - grid-template-columns: 40% auto auto 0% 5%; - } + grid-template-columns: 60% auto 0% 0% 5%; - @media (max-width: ${(props) => props.theme.breakpoints.s}) { - grid-template-columns: 40% auto 0% 0% 5%; + th:nth-of-type(3) { + display: none; + } + th:nth-of-type(4) { + display: none; + } + + td:nth-of-type(3) { + display: none; + } + td:nth-of-type(4) { + display: none; + } } ` @@ -74,9 +84,17 @@ const WalletContentHeader = styled(Grid)` z-index: 1; border-bottom: 1px solid ${(props) => props.theme.colors.primary}; - @media (max-width: ${(props) => props.theme.breakpoints.s}) { - gap: 0.5rem; - align-items: center; + th { + padding: 0; + border-bottom: none; + } +` + +const Wallet = styled(Grid)` + padding: 25px 4px; + td { + padding: 0; + border-bottom: none; } ` @@ -176,26 +194,6 @@ const StyledSelect = styled(Select)` } ` -const SecondStyledSelect = styled(StyledSelect)` - @media (max-width: ${(props) => props.theme.breakpoints.s}) { - display: none; - height: 0; - width: 0; - } -` - -const ThirdStyledSelect = styled(StyledSelect)` - @media (max-width: ${(props) => props.theme.breakpoints.m}) { - display: none; - height: 0; - width: 0; - } -` - -const Wallet = styled(Grid)` - padding: 25px 4px; -` - const FlexInfo = styled.div` display: flex; gap: 1rem; @@ -496,40 +494,48 @@ const WalletTable = ({ data, filters, walletData }) => { return ( -

- Showing {filteredWallets.length} wallets out of{" "} - {walletCardData.length} -

- { - setFirstFeatureSelect(selectedOption) - }} - defaultValue={firstFeatureSelect} - isSearchable={false} - /> - { - setSecondFeatureSelect(selectedOption) - }} - defaultValue={secondFeatureSelect} - isSearchable={false} - /> - { - setThirdFeatureSelect(selectedOption) - }} - defaultValue={thirdFeatureSelect} - isSearchable={false} - /> +
+ + + {filteredWallets.map((wallet, idx) => { const deviceLabels: Array = [] @@ -546,50 +552,60 @@ const WalletTable = ({ data, filters, walletData }) => { return ( - -
- -
-
-

{wallet.name}

- {deviceLabels.join(" | ")} - Go to {wallet.name} -
-
- updateMoreInfo(idx)}> - {wallet[firstFeatureSelect.filterKey] ? ( - - ) : ( - - )} - - updateMoreInfo(idx)}> - {wallet[secondFeatureSelect.filterKey] ? ( - - ) : ( - - )} - - updateMoreInfo(idx)}> - {wallet[thirdFeatureSelect.filterKey] ? ( - - ) : ( - - )} - - -
updateMoreInfo(idx)} - > - -
-
+
+ + + + {wallet.moreInfo && (
From be8552aa3034e535ab71782f61b3c25e3eb3f3e2 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 23 Jun 2022 15:23:27 -0600 Subject: [PATCH 157/310] full width table --- src/components/FindWallet/WalletTable.tsx | 7 +++---- src/pages/wallets/find-wallet.tsx | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 1abddeaab6f..10c76aea1d4 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -40,10 +40,6 @@ const WalletContainer = styled(Container)` background: ${(props) => props.theme.colors.boxShadow}; transition: 0.5s all; } - - @media (max-width: ${(props) => props.theme.breakpoints.s}) { - padding: 0 1rem; - } ` const Grid = styled.tr` @@ -96,6 +92,9 @@ const Wallet = styled(Grid)` padding: 0; border-bottom: none; } + @media (max-width: ${(props) => props.theme.breakpoints.l}) { + padding: 25px 1rem; + } ` // https://react-select.com/styles#using-classnames diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index fff5a3bc65e..3d87d04457a 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -69,7 +69,7 @@ const TableContent = styled(Content)` display: flex; gap: 24px; - @media (max-width: ${(props) => props.theme.breakpoints.s}) { + @media (max-width: ${(props) => props.theme.breakpoints.l}) { padding: 1rem 0; } ` From ea02b745c869cc5125e070230279afdb2180989c Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 23 Jun 2022 15:33:41 -0600 Subject: [PATCH 158/310] sticky fixes --- src/components/FindWallet/WalletTable.tsx | 4 ++++ src/pages/wallets/find-wallet.tsx | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 10c76aea1d4..385d037e75e 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -84,6 +84,10 @@ const WalletContentHeader = styled(Grid)` padding: 0; border-bottom: none; } + + @media (max-width: ${(props) => props.theme.breakpoints.l}) { + top: 140px; + } ` const Wallet = styled(Grid)` diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 3d87d04457a..c9f1830af6d 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -80,6 +80,7 @@ const MobileFilterToggleContainer = styled.div` background: ${(props) => props.theme.colors.background}; width: 100%; z-index: 1; + padding: 5px 0; ` const MobileFilterToggle = styled.div` @@ -154,6 +155,10 @@ const FilterTabs = styled.div` margin: 0; letter-spacing: 0.02rem; } + + @media (max-width: ${(props) => props.theme.breakpoints.l}) { + top: 140px; + } ` const FilterTab = styled.div<{ From c8918974250ddb357222a203a09ad7677f669bd3 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 23 Jun 2022 15:59:11 -0600 Subject: [PATCH 159/310] mobile styling --- src/components/FindWallet/WalletTable.tsx | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 385d037e75e..2b5914d27ae 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -88,6 +88,24 @@ const WalletContentHeader = styled(Grid)` @media (max-width: ${(props) => props.theme.breakpoints.l}) { top: 140px; } + + @media (max-width: ${(props) => props.theme.breakpoints.s}) { + grid-template-columns: auto; + gap: 1rem; + text-align: center; + th:nth-of-type(1) { + text-align: center; + } + th:nth-of-type(2) { + display: flex; + align-items: center; + gap: 1rem; + &:before { + white-space: nowrap; + content: "Compare features"; + } + } + } ` const Wallet = styled(Grid)` @@ -192,7 +210,7 @@ const StyledSelect = styled(Select)` @media (max-width: ${(props) => props.theme.breakpoints.s}) { .react-select__control { - padding: 14px 0; + padding: 0; } } ` From 47aa5aff0d71f7657ca1366dac212be0a08bb4a2 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 23 Jun 2022 16:09:02 -0600 Subject: [PATCH 160/310] preset compare filters --- src/components/FindWallet/WalletTable.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 2b5914d27ae..5bcfd9b00e5 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -475,13 +475,13 @@ const WalletTable = ({ data, filters, walletData }) => { }) ) const [firstFeatureSelect, setFirstFeatureSelect] = useState( - featureDropdownItems[0] + featureDropdownItems[1] ) const [secondFeatureSelect, setSecondFeatureSelect] = useState( - featureDropdownItems[1] + featureDropdownItems[13] ) const [thirdFeatureSelect, setThirdFeatureSelect] = useState( - featureDropdownItems[2] + featureDropdownItems[9] ) const updateMoreInfo = (idx) => { From a3731a7cc3e42ec01ec7bf05cb7ba1b74dd641c6 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 23 Jun 2022 17:33:24 -0700 Subject: [PATCH 161/310] Create useSurvey.ts --- src/hooks/useSurvey.ts | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/hooks/useSurvey.ts diff --git a/src/hooks/useSurvey.ts b/src/hooks/useSurvey.ts new file mode 100644 index 00000000000..2777e410523 --- /dev/null +++ b/src/hooks/useSurvey.ts @@ -0,0 +1,34 @@ +import { useMemo } from "react" + +const location = typeof window !== "undefined" ? window.location.href : "" + +export type Survey = { + url: string + prompt: string +} + +export const useSurvey = ( + feedbackSubmitted: boolean, + isHelpful: boolean | null +) => + useMemo((): string | null => { + if (!feedbackSubmitted) return null + const [YES, NO] = ["yes", "no"] + const surveyUrls = { + __default: { + [YES]: `https://czvgzauj.paperform.co/?url=${location}`, + [NO]: `https://xlljh5l3.paperform.co/?url=${location}`, + }, + staking: { + [YES]: `https://gzmn3wgk.paperform.co/?url=${location}`, + [NO]: `https://zlj83p6l.paperform.co/?url=${location}`, + }, + } + let url = surveyUrls.__default[isHelpful ? YES : NO] + Object.keys(surveyUrls).forEach((key) => { + if (location.includes(key)) { + url = surveyUrls[key][isHelpful ? YES : NO] + } + }) + return url + }, [isHelpful, location]) From e90d9029a693681ef2877b2e0679e67c052eb867 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 23 Jun 2022 17:33:43 -0700 Subject: [PATCH 162/310] Implement useSurvey in FeedbackWidget --- src/components/FeedbackWidget.tsx | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/src/components/FeedbackWidget.tsx b/src/components/FeedbackWidget.tsx index 678a28811f6..2d4e31c5823 100644 --- a/src/components/FeedbackWidget.tsx +++ b/src/components/FeedbackWidget.tsx @@ -16,6 +16,7 @@ import { translateMessageId } from "../utils/translations" // Hook imports import { useOnClickOutside } from "../hooks/useOnClickOutside" import { useKeyPress } from "../hooks/useKeyPress" +import { useSurvey } from "../hooks/useSurvey" const FixedDot = styled(NakedButton)` width: 3rem; @@ -164,27 +165,7 @@ const FeedbackWidget: React.FC = ({ className }) => { setIsHelpful(null) }, [location]) - const surveyUrl = useMemo(() => { - if (!feedbackSubmitted) return null - const [YES, NO] = ["yes", "no"] - const surveyUrls = { - __default: { - [YES]: `https://czvgzauj.paperform.co/?url=${location}`, - [NO]: `https://xlljh5l3.paperform.co/?url=${location}`, - }, - staking: { - [YES]: `https://gzmn3wgk.paperform.co/?url=${location}`, - [NO]: `https://zlj83p6l.paperform.co/?url=${location}`, - }, - } - let url = surveyUrls.__default[isHelpful ? YES : NO] - Object.keys(surveyUrls).forEach((key) => { - if (location.includes(key)) { - url = surveyUrls[key][isHelpful ? YES : NO] - } - }) - return url - }, [feedbackSubmitted, isHelpful, location]) + const surveyUrl = useSurvey(feedbackSubmitted, isHelpful) const bottomOffset = useMemo(() => { const pathsWithBottomNav = ["/staking", "/dao", "/defi", "/nft"] From 198c4bcf96c4fe629c898186f86b585a519802ff Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 23 Jun 2022 17:34:41 -0700 Subject: [PATCH 163/310] Update FeedbackCard design --- src/assets/feedback-thumbs-up.svg | 4 + src/components/FeedbackCard.tsx | 135 +++++++++++++++++------------- src/intl/en/common.json | 4 +- src/theme.ts | 4 + 4 files changed, 87 insertions(+), 60 deletions(-) create mode 100644 src/assets/feedback-thumbs-up.svg diff --git a/src/assets/feedback-thumbs-up.svg b/src/assets/feedback-thumbs-up.svg new file mode 100644 index 00000000000..96a1b1c5cbd --- /dev/null +++ b/src/assets/feedback-thumbs-up.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/components/FeedbackCard.tsx b/src/components/FeedbackCard.tsx index b47fcd139a9..2be1e74f21f 100644 --- a/src/components/FeedbackCard.tsx +++ b/src/components/FeedbackCard.tsx @@ -1,13 +1,19 @@ +// Library imports import React, { ReactNode, useState } from "react" import styled from "styled-components" -import { ButtonSecondary } from "./SharedStyledComponents" -import { trackCustomEvent } from "../utils/matomo" +// Component imports +import { ButtonPrimary, ButtonSecondary } from "./SharedStyledComponents" import Translation from "./Translation" -import Link from "./Link" +// SVG imports +import ThumbsUp from "../assets/feedback-thumbs-up.svg" +// Utility imports +import { trackCustomEvent } from "../utils/matomo" +// import { getFeedbackSurveyUrl } from "../utils/getFeedbackSurveyUrl" +import { useSurvey } from "../hooks/useSurvey" const Card = styled.div` border: 1px solid ${({ theme }) => theme.colors.border}; - background-color: ${({ theme }) => theme.colors.background}; + background: ${({ theme }) => theme.colors.feedbackGradient}; border-radius: 4px; padding: 1.5rem; display: flex; @@ -18,27 +24,41 @@ const Card = styled.div` const Content = styled.div` display: flex; - align-items: center; - justify-content: space-between; - @media (max-width: ${(props) => props.theme.breakpoints.l}) { - flex-direction: column; - align-items: flex-start; - } + flex-direction: column; + gap: 1rem; ` const Title = styled.h3` - margin-top: 0rem; - font-size: 1rem; - font-weight: 400; - margin-bottom: 0.5rem; + margin: 0 0 0.5rem; + font-size: 1.375rem; + font-weight: 700; ` const ButtonContainer = styled.div` - @media (max-width: ${(props) => props.theme.breakpoints.l}) { - margin-top: 1rem; + display: flex; + gap: 1rem; +` + +const StyledButtonSecondary = styled(ButtonSecondary)` + display: flex; + gap: 0.5rem; + color: ${({ theme }) => theme.colors.primary}; + border-color: ${({ theme }) => theme.colors.primary}; + line-height: 140%; + vertical-align: middle; + svg { + height: 1.5rem; + &.flip { + transform: scaleY(-1); + } } ` +const StyledButtonPrimary = styled(ButtonPrimary)` + color: white; + font-weight: 700; +` + export interface IProps { prompt?: string className?: string @@ -47,63 +67,60 @@ export interface IProps { const FeedbackCard: React.FC = ({ prompt, className }) => { const [feedbackSubmitted, setFeedbackSubmitted] = useState(false) const [isHelpful, setIsHelpful] = useState(false) - const location = typeof window !== "undefined" ? window.location.href : "" - const isStaking = location.includes("staking") - const getTitle = ( - feedbackSubmitted: boolean, - isStaking: boolean, - isHelpful: boolean - ): ReactNode => { - if (!feedbackSubmitted) - return prompt || - if (isStaking) - return isHelpful ? ( - <> -

Thanks for the feedback! Want to add more input?

- - Check out our current staking survey! - - - ) : ( - <> -

How can we do better?

- - Check out our current staking survey! - - - ) + const surveyUrl = useSurvey(feedbackSubmitted, isHelpful) - return isHelpful ? ( - - ) : ( - - ) + const getTitle = (feedbackSubmitted: boolean): ReactNode => { + if (!feedbackSubmitted) + return prompt || + return } - const handleClick = (isHelpful: boolean): void => { + const handleSubmit = (choice: boolean): void => { trackCustomEvent({ eventCategory: `Page is helpful feedback`, eventAction: `Clicked`, - eventName: String(isHelpful), + eventName: String(choice), }) - setIsHelpful(isHelpful) + setIsHelpful(choice) setFeedbackSubmitted(true) } + const handleSurveyOpen = (): void => { + trackCustomEvent({ + eventCategory: `Feedback survey opened`, + eventAction: `Clicked`, + eventName: "Feedback survey opened", + }) + window && surveyUrl && window.open(surveyUrl, "_blank") + } return ( - {getTitle(feedbackSubmitted, isStaking, isHelpful)} - {!feedbackSubmitted && ( - - handleClick(true)}> - - - handleClick(false)} ml={`0.5rem`}> - - - + {getTitle(feedbackSubmitted)} + {feedbackSubmitted && ( +

+ {" "} + +

)} + + {!feedbackSubmitted ? ( + <> + handleSubmit(true)}> + + + + handleSubmit(false)}> + + + + + ) : ( + + + + )} +
) diff --git a/src/intl/en/common.json b/src/intl/en/common.json index 416963240c2..205a3fd84ef 100644 --- a/src/intl/en/common.json +++ b/src/intl/en/common.json @@ -83,8 +83,10 @@ "feedback-title-helpful": "Thanks for your feedback!", "feedback-title-not-helpful": "Join our public Discord and get the answer you're looking for.", "feedback-widget-prompt": "Is this page helpful?", + "feedback-widget-prompt-article": "Was this article helpful?", "feedback-widget-thank-you-title": "Thank you for your feedback!", - "feedback-widget-thank-you-subtitle": "Make this page even better by answering a few questions", + "feedback-widget-thank-you-subtitle": "Make this page even better by answering a few questions.", + "feedback-widget-thank-you-subtitle-ext": "If you need help, you can reach out to the community on our Discord.", "feedback-widget-thank-you-timing": "2–3 min", "feedback-widget-thank-you-cta": "Open short survey", "find-wallet": "Find wallet", diff --git a/src/theme.ts b/src/theme.ts index 0c41883eff2..c5cfe1adaaa 100644 --- a/src/theme.ts +++ b/src/theme.ts @@ -250,6 +250,8 @@ const lightColors = { stakingRedFill: "#f8fbf9", layer2Gradient: "linear-gradient(85.12deg, rgba(185, 185, 241, 0.2) 0%, rgba(84, 132, 234, 0.2) 56.29%, rgba(58, 142, 137, 0.2) 99.99%)", + feedbackGradient: + "linear-gradient(83.46deg, #2C2C3211 7.03%, #44404D11 52.42%, #30303811 98.77%)", } // TODO replace random variables w/ baseColor variables @@ -352,6 +354,8 @@ const darkColors = { stakingRedFill: "#313432", layer2Gradient: "linear-gradient(83.46deg, rgba(127, 127, 213, 0.2) 7.03%, rgba(138, 168, 231, 0.2) 52.42%, rgba(145, 234, 228, 0.2) 98.77%), #1E1E1E", + feedbackGradient: + "linear-gradient(83.46deg, #2C2C32 7.03%, #44404D 52.42%, #303038 98.77%)", } const lightThemeColors = Object.assign({}, baseColors, lightColors) From 7a2a27ff663cbf26db9cfd0c856b6a34704b3a46 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 23 Jun 2022 17:51:40 -0700 Subject: [PATCH 164/310] adjustments --- src/components/FeedbackCard.tsx | 2 +- src/hooks/useSurvey.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/FeedbackCard.tsx b/src/components/FeedbackCard.tsx index 2be1e74f21f..17a71ecfb20 100644 --- a/src/components/FeedbackCard.tsx +++ b/src/components/FeedbackCard.tsx @@ -20,6 +20,7 @@ const Card = styled.div` flex-direction: column; margin-bottom: 1rem; margin-top: 2rem; + width: 100%; ` const Content = styled.div` @@ -69,7 +70,6 @@ const FeedbackCard: React.FC = ({ prompt, className }) => { const [isHelpful, setIsHelpful] = useState(false) const surveyUrl = useSurvey(feedbackSubmitted, isHelpful) - const getTitle = (feedbackSubmitted: boolean): ReactNode => { if (!feedbackSubmitted) return prompt || diff --git a/src/hooks/useSurvey.ts b/src/hooks/useSurvey.ts index 2777e410523..6ed42569bab 100644 --- a/src/hooks/useSurvey.ts +++ b/src/hooks/useSurvey.ts @@ -31,4 +31,4 @@ export const useSurvey = ( } }) return url - }, [isHelpful, location]) + }, [feedbackSubmitted, isHelpful, location]) From ab90b3fc3debb640a5b69baa9f86d8dfe4568c12 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 23 Jun 2022 17:55:29 -0700 Subject: [PATCH 165/310] Add FeedbackCard to tutorial template --- src/templates/tutorial.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/templates/tutorial.tsx b/src/templates/tutorial.tsx index b742e43c401..71b27fb2542 100644 --- a/src/templates/tutorial.tsx +++ b/src/templates/tutorial.tsx @@ -30,6 +30,7 @@ import { import Emoji from "../components/Emoji" import YouTube from "../components/YouTube" import PreMergeBanner from "../components/PreMergeBanner" +import FeedbackCard from "../components/FeedbackCard" import { isLangRightToLeft } from "../utils/translations" import { Lang } from "../utils/languages" @@ -190,6 +191,7 @@ const TutorialPage = ({ relativePath={relativePath} editPath={absoluteEditPath} /> + {mdx.frontmatter.sidebar && tocItems && ( Date: Thu, 23 Jun 2022 18:04:42 -0700 Subject: [PATCH 166/310] Add FeedbackCard to remaining templates --- src/components/FeedbackCard.tsx | 2 +- src/intl/en/common.json | 3 ++- src/templates/upgrade.tsx | 7 +++++-- src/templates/use-cases.tsx | 8 +++++++- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/components/FeedbackCard.tsx b/src/components/FeedbackCard.tsx index 17a71ecfb20..d6aa6ef746a 100644 --- a/src/components/FeedbackCard.tsx +++ b/src/components/FeedbackCard.tsx @@ -72,7 +72,7 @@ const FeedbackCard: React.FC = ({ prompt, className }) => { const surveyUrl = useSurvey(feedbackSubmitted, isHelpful) const getTitle = (feedbackSubmitted: boolean): ReactNode => { if (!feedbackSubmitted) - return prompt || + return prompt || return } diff --git a/src/intl/en/common.json b/src/intl/en/common.json index 205a3fd84ef..191e43a1357 100644 --- a/src/intl/en/common.json +++ b/src/intl/en/common.json @@ -83,7 +83,8 @@ "feedback-title-helpful": "Thanks for your feedback!", "feedback-title-not-helpful": "Join our public Discord and get the answer you're looking for.", "feedback-widget-prompt": "Is this page helpful?", - "feedback-widget-prompt-article": "Was this article helpful?", + "feedback-card-prompt-page": "Was this page helpful?", + "feedback-card-prompt-article": "Was this article helpful?", "feedback-widget-thank-you-title": "Thank you for your feedback!", "feedback-widget-thank-you-subtitle": "Make this page even better by answering a few questions.", "feedback-widget-thank-you-subtitle-ext": "If you need help, you can reach out to the community on our Discord.", diff --git a/src/templates/upgrade.tsx b/src/templates/upgrade.tsx index 0e7d18392cf..a767bdb9600 100644 --- a/src/templates/upgrade.tsx +++ b/src/templates/upgrade.tsx @@ -12,7 +12,6 @@ import Breadcrumbs from "../components/Breadcrumbs" import Card from "../components/Card" import Icon from "../components/Icon" import Contributors from "../components/Contributors" -import DismissibleCard from "../components/DismissibleCard" import InfoBanner from "../components/InfoBanner" import UpgradeStatus from "../components/UpgradeStatus" import Link from "../components/Link" @@ -40,9 +39,10 @@ import { import Emoji from "../components/Emoji" import YouTube from "../components/YouTube" import MergeInfographic from "../components/MergeInfographic" +import FeedbackCard from "../components/FeedbackCard" import { getLocaleTimestamp } from "../utils/time" -import { isLangRightToLeft } from "../utils/translations" +import { isLangRightToLeft, translateMessageId } from "../utils/translations" import { getSummaryPoints } from "../utils/getSummaryPoints" import { Lang } from "../utils/languages" import { Context } from "../types" @@ -394,6 +394,9 @@ const UpgradePage = ({ {mdx.body} + diff --git a/src/templates/use-cases.tsx b/src/templates/use-cases.tsx index 89aebf71f38..7856f6085ba 100644 --- a/src/templates/use-cases.tsx +++ b/src/templates/use-cases.tsx @@ -1,4 +1,5 @@ import React from "react" +import { useIntl } from "gatsby-plugin-intl" import { graphql, PageProps } from "gatsby" import { MDXProvider } from "@mdx-js/react" import { MDXRenderer } from "gatsby-plugin-mdx" @@ -37,8 +38,9 @@ import { import Emoji from "../components/Emoji" import YouTube from "../components/YouTube" import PreMergeBanner from "../components/PreMergeBanner" +import FeedbackCard from "../components/FeedbackCard" -import { isLangRightToLeft } from "../utils/translations" +import { isLangRightToLeft, translateMessageId } from "../utils/translations" import { getSummaryPoints } from "../utils/getSummaryPoints" import { Lang } from "../utils/languages" import { Context } from "../types" @@ -300,6 +302,7 @@ const UseCasePage = ({ data: { siteData, pageData: mdx }, pageContext, }: PageProps) => { + const intl = useIntl() if (!siteData || !mdx?.frontmatter) { throw new Error( "UseCases page template query does not return expected values" @@ -419,6 +422,9 @@ const UseCasePage = ({ {mdx.body} + From 9fad8d62a6d85e867d414c33e2b07a1bc901094b Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 23 Jun 2022 19:07:43 -0700 Subject: [PATCH 167/310] Update FeedbackCard flexibility --- src/components/FeedbackCard.tsx | 20 ++++++++++++++++---- src/intl/en/common.json | 1 + 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/components/FeedbackCard.tsx b/src/components/FeedbackCard.tsx index d6aa6ef746a..c4e9f271bd5 100644 --- a/src/components/FeedbackCard.tsx +++ b/src/components/FeedbackCard.tsx @@ -62,17 +62,29 @@ const StyledButtonPrimary = styled(ButtonPrimary)` export interface IProps { prompt?: string + isArticle?: boolean className?: string } -const FeedbackCard: React.FC = ({ prompt, className }) => { +const FeedbackCard: React.FC = ({ + prompt, + isArticle = false, + className, +}) => { const [feedbackSubmitted, setFeedbackSubmitted] = useState(false) const [isHelpful, setIsHelpful] = useState(false) - const surveyUrl = useSurvey(feedbackSubmitted, isHelpful) + + const location = typeof window !== "undefined" ? window.location.href : "" + const isTutorial = location.includes("tutorials") + const getTitle = (feedbackSubmitted: boolean): ReactNode => { - if (!feedbackSubmitted) - return prompt || + if (!feedbackSubmitted) { + if (prompt) return prompt + if (isTutorial) return + if (isArticle) return + return + } return } diff --git a/src/intl/en/common.json b/src/intl/en/common.json index 191e43a1357..d94aec4e5d6 100644 --- a/src/intl/en/common.json +++ b/src/intl/en/common.json @@ -85,6 +85,7 @@ "feedback-widget-prompt": "Is this page helpful?", "feedback-card-prompt-page": "Was this page helpful?", "feedback-card-prompt-article": "Was this article helpful?", + "feedback-card-prompt-tutorial": "Was this tutorial helpful?", "feedback-widget-thank-you-title": "Thank you for your feedback!", "feedback-widget-thank-you-subtitle": "Make this page even better by answering a few questions.", "feedback-widget-thank-you-subtitle-ext": "If you need help, you can reach out to the community on our Discord.", From c9f591bb48b027a08b3e385b0e7797faf2a6dc65 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 23 Jun 2022 19:07:59 -0700 Subject: [PATCH 168/310] Update templates --- src/templates/docs.tsx | 2 +- src/templates/static.tsx | 2 +- src/templates/tutorial.tsx | 3 +-- src/templates/upgrade.tsx | 4 +--- src/templates/use-cases.tsx | 4 +--- 5 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/templates/docs.tsx b/src/templates/docs.tsx index 565867e31f8..2be05dfda7e 100644 --- a/src/templates/docs.tsx +++ b/src/templates/docs.tsx @@ -228,7 +228,7 @@ const DocsPage = ({ ↑ - + {mdx.frontmatter.sidebar && tocItems && ( diff --git a/src/templates/static.tsx b/src/templates/static.tsx index ae5c9edbd7e..3fadfe739c6 100644 --- a/src/templates/static.tsx +++ b/src/templates/static.tsx @@ -199,7 +199,7 @@ const StaticPage = ({ {mdx.body} - + {mdx.frontmatter.sidebar && tocItems && ( {showMergeBanner && } @@ -191,7 +190,7 @@ const TutorialPage = ({ relativePath={relativePath} editPath={absoluteEditPath} /> - + {mdx.frontmatter.sidebar && tocItems && ( {mdx.body} - + diff --git a/src/templates/use-cases.tsx b/src/templates/use-cases.tsx index 7856f6085ba..26d36085be0 100644 --- a/src/templates/use-cases.tsx +++ b/src/templates/use-cases.tsx @@ -422,9 +422,7 @@ const UseCasePage = ({ {mdx.body} - + From 51e704b10e7367661fad3f7b6edebbc325735585 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 23 Jun 2022 19:08:16 -0700 Subject: [PATCH 169/310] Add FeedbackCard to all pages --- src/pages-conditional/dapps.tsx | 4 ++++ src/pages-conditional/eth.tsx | 4 ++++ src/pages-conditional/wallets.tsx | 4 ++++ src/pages-conditional/what-is-ethereum.tsx | 4 ++++ src/pages/assets.js | 2 ++ src/pages/bug-bounty.js | 2 ++ src/pages/community.js | 2 ++ .../translation-program/acknowledgements.js | 4 ++++ .../contributing/translation-program/contributors.js | 4 ++++ src/pages/developers/index.js | 2 ++ src/pages/developers/learning-tools.js | 4 ++++ src/pages/developers/local-environment.js | 4 ++++ src/pages/developers/tutorials.js | 2 ++ src/pages/get-eth.js | 2 ++ src/pages/run-a-node.js | 12 +++--------- src/pages/stablecoins.js | 5 +++++ src/pages/upgrades/get-involved/index.js | 2 ++ src/pages/upgrades/index.js | 2 ++ src/pages/upgrades/vision.js | 2 ++ src/pages/wallets/find-wallet.js | 2 ++ 20 files changed, 60 insertions(+), 9 deletions(-) diff --git a/src/pages-conditional/dapps.tsx b/src/pages-conditional/dapps.tsx index 6e440d34538..7fc36935e75 100644 --- a/src/pages-conditional/dapps.tsx +++ b/src/pages-conditional/dapps.tsx @@ -35,6 +35,7 @@ import { import { translateMessageId } from "../utils/translations" import { Context } from "../types" +import FeedbackCard from "../components/FeedbackCard" const MagiciansImage = styled(GatsbyImage)` background-size: cover; @@ -1679,6 +1680,9 @@ const DappsPage = ({ + + + ) } diff --git a/src/pages-conditional/eth.tsx b/src/pages-conditional/eth.tsx index 85a4e2e13ed..5dde5c5f5c2 100644 --- a/src/pages-conditional/eth.tsx +++ b/src/pages-conditional/eth.tsx @@ -30,6 +30,7 @@ import { import { translateMessageId } from "../utils/translations" import { Context } from "../types" +import FeedbackCard from "../components/FeedbackCard" const Slogan = styled.p` font-style: normal; @@ -509,6 +510,9 @@ const EthPage = (props: PageProps) => { ))} + + + ) } diff --git a/src/pages-conditional/wallets.tsx b/src/pages-conditional/wallets.tsx index 094eabed5e3..070138b7c3e 100644 --- a/src/pages-conditional/wallets.tsx +++ b/src/pages-conditional/wallets.tsx @@ -26,6 +26,7 @@ import { import { translateMessageId } from "../utils/translations" import { Context } from "../types" +import FeedbackCard from "../components/FeedbackCard" const StyledTwoColumnContent = styled(TwoColumnContent)` margin-bottom: -2rem; @@ -541,6 +542,9 @@ const WalletsPage = ({ + + + ) } diff --git a/src/pages-conditional/what-is-ethereum.tsx b/src/pages-conditional/what-is-ethereum.tsx index 507955bebaa..5f2ca0493c3 100644 --- a/src/pages-conditional/what-is-ethereum.tsx +++ b/src/pages-conditional/what-is-ethereum.tsx @@ -22,6 +22,7 @@ import { import { translateMessageId } from "../utils/translations" import { Context } from "../types" +import FeedbackCard from "../components/FeedbackCard" const HeroContent = styled(Content)` @media (max-width: ${(props) => props.theme.breakpoints.xl}) { @@ -535,6 +536,9 @@ const WhatIsEthereumPage = ({ + + + ) } diff --git a/src/pages/assets.js b/src/pages/assets.js index bb9aee0d383..74f017dbfdb 100644 --- a/src/pages/assets.js +++ b/src/pages/assets.js @@ -10,6 +10,7 @@ import Link from "../components/Link" import PageMetadata from "../components/PageMetadata" import Translation from "../components/Translation" import { Page, Content } from "../components/SharedStyledComponents" +import FeedbackCard from "../components/FeedbackCard" import { translateMessageId } from "../utils/translations" import EthGlyphColoredSvg from "../assets/assets/eth-glyph-colored.svg" @@ -492,6 +493,7 @@ const AssetsPage = ({ data }) => { /> + ) } diff --git a/src/pages/bug-bounty.js b/src/pages/bug-bounty.js index f622ba3a7af..00b925971a4 100644 --- a/src/pages/bug-bounty.js +++ b/src/pages/bug-bounty.js @@ -26,6 +26,7 @@ import { GradientContainer, SloganGradient, } from "../components/SharedStyledComponents" +import FeedbackCard from "../components/FeedbackCard" const HeroCard = styled.div` display: flex; @@ -808,6 +809,7 @@ const BugBountiesPage = ({ data, location }) => {
+ ) } diff --git a/src/pages/community.js b/src/pages/community.js index 8a275fd15a2..08ba6280bb0 100644 --- a/src/pages/community.js +++ b/src/pages/community.js @@ -11,6 +11,7 @@ import ButtonLink from "../components/ButtonLink" import PageMetadata from "../components/PageMetadata" import Translation from "../components/Translation" import PageHero from "../components/PageHero" +import FeedbackCard from "../components/FeedbackCard" import { CardContainer, @@ -579,6 +580,7 @@ const CommunityPage = ({ data }) => { + ) } diff --git a/src/pages/contributing/translation-program/acknowledgements.js b/src/pages/contributing/translation-program/acknowledgements.js index eea69546fee..a99fd72b9b7 100644 --- a/src/pages/contributing/translation-program/acknowledgements.js +++ b/src/pages/contributing/translation-program/acknowledgements.js @@ -16,6 +16,7 @@ import { Content, Page } from "../../../components/SharedStyledComponents" // Utils import { translateMessageId } from "../../../utils/translations" +import FeedbackCard from "../../../components/FeedbackCard" // Styles const H1 = styled.h1` @@ -258,6 +259,9 @@ const TranslatorAcknowledgements = ({ data, location }) => {

+ + + ) } diff --git a/src/pages/contributing/translation-program/contributors.js b/src/pages/contributing/translation-program/contributors.js index e310271a28d..9b96806720f 100644 --- a/src/pages/contributing/translation-program/contributors.js +++ b/src/pages/contributing/translation-program/contributors.js @@ -17,6 +17,7 @@ import { // Utils import { translateMessageId } from "../../../utils/translations" +import FeedbackCard from "../../../components/FeedbackCard" // Styles const HorizontalUl = styled.ul` @@ -118,6 +119,9 @@ const Contributors = ({ data, location }) => { .

+ + + ) } diff --git a/src/pages/developers/index.js b/src/pages/developers/index.js index 24218d9ee25..0de74485366 100644 --- a/src/pages/developers/index.js +++ b/src/pages/developers/index.js @@ -18,6 +18,7 @@ import { Page, GrayContainer, } from "../../components/SharedStyledComponents" +import FeedbackCard from "../../components/FeedbackCard" const HeroContainer = styled.div` display: flex; @@ -539,6 +540,7 @@ const DevelopersPage = ({ data }) => { + ) } diff --git a/src/pages/developers/learning-tools.js b/src/pages/developers/learning-tools.js index a44a64c374c..3ebb330a7b4 100644 --- a/src/pages/developers/learning-tools.js +++ b/src/pages/developers/learning-tools.js @@ -17,6 +17,7 @@ import { CardGrid, Page, } from "../../components/SharedStyledComponents" +import FeedbackCard from "../../components/FeedbackCard" const StyledPage = styled(Page)` margin-top: 4rem; @@ -314,6 +315,9 @@ const LearningToolsPage = ({ data }) => { + + + ) } diff --git a/src/pages/developers/local-environment.js b/src/pages/developers/local-environment.js index 7bc383936b7..9b0b6067484 100644 --- a/src/pages/developers/local-environment.js +++ b/src/pages/developers/local-environment.js @@ -22,6 +22,7 @@ import { Page, // InfoBanner, } from "../../components/SharedStyledComponents" +import FeedbackCard from "../../components/FeedbackCard" const StyledPage = styled(Page)` margin-top: 4rem; @@ -455,6 +456,9 @@ const ChooseStackPage = ({ data }) => { ))} + + + {/*

Create your own stack

diff --git a/src/pages/developers/tutorials.js b/src/pages/developers/tutorials.js index d3c5b0e6432..a56e40f2d91 100644 --- a/src/pages/developers/tutorials.js +++ b/src/pages/developers/tutorials.js @@ -23,6 +23,7 @@ import { import { getLocaleTimestamp, INVALID_DATETIME } from "../../utils/time" import foreignTutorials from "../../data/externalTutorials.json" +import FeedbackCard from "../../components/FeedbackCard" const SubSlogan = styled.p` font-size: 1.25rem; @@ -472,6 +473,7 @@ const TutorialsPage = ({ data, pageContext }) => { ) })} + ) } diff --git a/src/pages/get-eth.js b/src/pages/get-eth.js index 2b2c3a213c7..4ff7320cb58 100644 --- a/src/pages/get-eth.js +++ b/src/pages/get-eth.js @@ -23,6 +23,7 @@ import { StyledCard, TwoColumnContent, } from "../components/SharedStyledComponents" +import FeedbackCard from "../components/FeedbackCard" const Subtitle = styled.div` font-size: 1.25rem; @@ -425,6 +426,7 @@ const GetETHPage = ({ data }) => { + ) } diff --git a/src/pages/run-a-node.js b/src/pages/run-a-node.js index 428b444ff69..7f402848a89 100644 --- a/src/pages/run-a-node.js +++ b/src/pages/run-a-node.js @@ -416,12 +416,6 @@ const Leslie = styled(GatsbyImage)` } ` -const StyledFeedbackCard = styled(FeedbackCard)` - width: 100%; - max-width: 700px; - margin: 0 2rem; -` - const StrongParagraph = styled.p` font-size: 150%; font-weight: 600; @@ -1018,9 +1012,9 @@ const RunANodePage = ({ data }) => { - + + + ) } diff --git a/src/pages/stablecoins.js b/src/pages/stablecoins.js index 43a535e74e0..3e360987e70 100644 --- a/src/pages/stablecoins.js +++ b/src/pages/stablecoins.js @@ -27,6 +27,8 @@ import { Page, GradientContainer, } from "../components/SharedStyledComponents" +import FeedbackCard from "../components/FeedbackCard" + import { translateMessageId } from "../utils/translations" import { getData } from "../utils/cache" @@ -828,6 +830,9 @@ const StablecoinsPage = ({ data }) => { + + + ) } diff --git a/src/pages/upgrades/get-involved/index.js b/src/pages/upgrades/get-involved/index.js index 8a35868373c..759ad0f4cff 100644 --- a/src/pages/upgrades/get-involved/index.js +++ b/src/pages/upgrades/get-involved/index.js @@ -27,6 +27,7 @@ import { SloganGradient, } from "../../../components/SharedStyledComponents" import Breadcrumbs from "../../../components/Breadcrumbs" +import FeedbackCard from "../../../components/FeedbackCard" const HeroContainer = styled.div` padding-left: 0rem; @@ -498,6 +499,7 @@ const GetInvolvedPage = ({ data, location }) => { + ) } diff --git a/src/pages/upgrades/index.js b/src/pages/upgrades/index.js index e40e8083367..581c5320cc1 100644 --- a/src/pages/upgrades/index.js +++ b/src/pages/upgrades/index.js @@ -24,6 +24,7 @@ import { Divider, } from "../../components/SharedStyledComponents" import { translateMessageId } from "../../utils/translations" +import FeedbackCard from "../../components/FeedbackCard" const Row = styled.div` display: flex; @@ -871,6 +872,7 @@ const Eth2IndexPage = ({ data }) => { + ) } diff --git a/src/pages/upgrades/vision.js b/src/pages/upgrades/vision.js index a1b340e7067..a2a0c73bfc6 100644 --- a/src/pages/upgrades/vision.js +++ b/src/pages/upgrades/vision.js @@ -22,6 +22,7 @@ import { Page, Divider, } from "../../components/SharedStyledComponents" +import FeedbackCard from "../../components/FeedbackCard" const StyledCardContainer = styled(CardContainer)` margin-top: 2rem; @@ -307,6 +308,7 @@ const VisionPage = ({ data, location }) => { ))} + ) } diff --git a/src/pages/wallets/find-wallet.js b/src/pages/wallets/find-wallet.js index 36c87c450c8..1d1dc292d20 100644 --- a/src/pages/wallets/find-wallet.js +++ b/src/pages/wallets/find-wallet.js @@ -13,6 +13,7 @@ import InfoBanner from "../../components/InfoBanner" import Link from "../../components/Link" import PageMetadata from "../../components/PageMetadata" import WalletCompare from "../../components/WalletCompare" +import FeedbackCard from "../../components/FeedbackCard" import { Divider, Page } from "../../components/SharedStyledComponents" const Subtitle = styled.div` @@ -139,6 +140,7 @@ const FindWalletPage = ({ location, data }) => { + ) } From a979ae2ea5ecc2f2f1250b85d88f38ad0cbd435d Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Thu, 23 Jun 2022 19:18:41 -0700 Subject: [PATCH 170/310] Update deposit-contract.tsx --- src/pages/staking/deposit-contract.tsx | 325 +++++++++++++------------ 1 file changed, 166 insertions(+), 159 deletions(-) diff --git a/src/pages/staking/deposit-contract.tsx b/src/pages/staking/deposit-contract.tsx index 303be8146c6..bca63c08463 100644 --- a/src/pages/staking/deposit-contract.tsx +++ b/src/pages/staking/deposit-contract.tsx @@ -24,9 +24,13 @@ import { import { DEPOSIT_CONTRACT_ADDRESS } from "../../data/addresses" import { translateMessageId, TranslationKey } from "../../utils/translations" import type { Context } from "../../types" +import FeedbackCard from "../../components/FeedbackCard" const Page = styled.div` width: 100%; +` + +const Flex = styled.div` display: flex; border-bottom: 1px solid ${(props) => props.theme.colors.border}; @media (max-width: ${(props) => props.theme.breakpoints.l}) { @@ -310,171 +314,174 @@ const DepositContractPage = ({ : ":speaker:" return ( - - - - - <Translation id="page-staking-deposit-contract-title" /> - - - - -

- -

-

- {" "} - - - -

- - - -

- -

-

- -

- - - - - - - - - {!state.showAddress && ( - <> - - - - - - - setState({ - ...state, - userHasUsedLaunchpad: !state.userHasUsedLaunchpad, - }) - } - > - - - - setState({ - ...state, - userUnderstandsStaking: !state.userUnderstandsStaking, - }) - } - > - - - - setState({ - ...state, - userWillCheckOtherSources: - !state.userWillCheckOtherSources, - }) - } - > - - - - setState({ ...state, showAddress: !state.showAddress }) - } - > - {" "} - - - - )} - {state.showAddress && ( - <> - - + + + + + + <Translation id="page-staking-deposit-contract-title" /> + + + + +

+ +

+

+ {" "} + + + +

+ + + +

+ +

+

+ +

+ +
+ + + + + + + {!state.showAddress && ( + <> + - + -
- - - - {state.browserHasTextToSpeechSupport && ( - - - - {" "} - - - )} - + + setState({ + ...state, + userHasUsedLaunchpad: !state.userHasUsedLaunchpad, + }) + } + > + + + + setState({ + ...state, + userUnderstandsStaking: !state.userUnderstandsStaking, + }) + } + > + + + + setState({ + ...state, + userWillCheckOtherSources: + !state.userWillCheckOtherSources, + }) + } + > + + + + setState({ ...state, showAddress: !state.showAddress }) + } + > + {" "} + + + + )} + {state.showAddress && ( + <> + + + + + + + + + + {state.browserHasTextToSpeechSupport && ( + + + + {" "} + + )} - > -
{CHUNKED_ADDRESS}
- - - - {(isCopied) => ( - - {!isCopied ? ( -
- {" "} - -
- ) : ( -
- {" "} - -
- )} -
+ - - +
{CHUNKED_ADDRESS}
+
+ + + {(isCopied) => ( + + {!isCopied ? ( +
+ {" "} + +
+ ) : ( +
+ {" "} + +
+ )} +
+ )} +
+ + + +
+ + )} + +
+ {" "} + + - - - )} - -
- {" "} - - - -
-
- - - +
+
+ + + + + ) } From 2c69ab3fc78aabf295d7d1c52b5c856a9aa58cbd Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 24 Jun 2022 09:08:29 +0100 Subject: [PATCH 171/310] add warnings about early merge-prep on mainnet --- .../developers/docs/nodes-and-clients/run-a-node/index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md index e9451febb35..9f4f4174c6b 100644 --- a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md +++ b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md @@ -108,6 +108,8 @@ Run your client on a testnet first to help make sure everything is working corre In order to connect to a consensus client the execution client must generate a `jwtsecret` at a known path. This path must be known by both clients as it is used to authenticate a local RPC connection between them. The execution client must also define a listening port for authenticated APIs. +**Note that it is recommended to connect an execution and consensus client on a testnet (e.g. Kiln) only for now and await merge-ready client releases before replicating the process on Mainnet.** + There are many ways to configure the execution client. You can use flags or the config file to declare your preferred configuration. Check out your client's documentation for the specific details. Client execution will initiate its core functions, chosen endpoints, and start looking for peers. After successfully discovering peers, the client starts synchronization. Current blockchain data will be available once the client is successfully synced to the current state. @@ -140,6 +142,8 @@ The consensus client also needs the path to the execution client's `jwt-secret` connection between them. Each consensus client has a command similar to `--jwt-secret` that takes the file path as an argument. This must be consistent with the `jwtsecret` path provided to the execution client. +**Note that we recommend waiting for merge-ready client releases before doing this on Ethereum Mainnet - for now just practise on a testnet such as Kilmn** + ### Adding Validators {#adding-validators} Each of the consensus clients have their own validator software that is described in detail in their respective documentation. The easiest way to handle From 7c4e582ea4d1ce037a18de377dadc0198ea71103 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Fri, 24 Jun 2022 09:10:29 +0100 Subject: [PATCH 172/310] Apply suggestions from code review Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com> --- .../developers/docs/nodes-and-clients/run-a-node/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md index 9f4f4174c6b..8c793880cb5 100644 --- a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md +++ b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md @@ -142,12 +142,12 @@ The consensus client also needs the path to the execution client's `jwt-secret` connection between them. Each consensus client has a command similar to `--jwt-secret` that takes the file path as an argument. This must be consistent with the `jwtsecret` path provided to the execution client. -**Note that we recommend waiting for merge-ready client releases before doing this on Ethereum Mainnet - for now just practise on a testnet such as Kilmn** +**Note that we recommend waiting for merge-ready client releases before doing this on Ethereum Mainnet - for now just practise on a testnet such as Kiln** ### Adding Validators {#adding-validators} -Each of the consensus clients have their own validator software that is described in detail in their respective documentation. The easiest way to handle -staking and validator key generation is to use the [Staking Launchpad](https://launchpad.ethereum.org/). +Each of the consensus clients have their own validator software that is described in detail in their respective documentation. The easiest way to get started with +staking and validator key generation is to use the [Prater Testnet Staking Launchpad](https://prater.launchpad.ethereum.org/), allowing you to test your setup. When you're ready for Mainnet, you can repeat these steps using the [Mainnet Staking Launchpad](https://launchpad.ethereum.org/). ### Using the node {#using-the-node} From 2afcd20cf26f14a2f92ba4286b8d3f03963f26d6 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Fri, 24 Jun 2022 09:32:37 +0100 Subject: [PATCH 173/310] wallet details styling --- src/components/FindWallet/WalletTable.tsx | 34 +++++++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 5bcfd9b00e5..a0836451160 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -28,6 +28,8 @@ import SocialRecover from "../../assets/wallets/social_recover.svg" import Swap from "../../assets/wallets/swap.svg" import Warning from "../../assets/staking/warning-product-glyph.svg" import GreenCheck from "../../assets/staking/green-check-product-glyph.svg" +import { opacify } from "polished" +import { opacity } from "styled-system" // Styles const Container = styled.table` @@ -276,16 +278,21 @@ const WalletMoreInfoContainer = styled.div` const WalletMoreInfoCategory = styled.div` width: 100%; + margin: 3rem 0 0; + :first-child{ + margin: 0.5rem 0 0; + } h4 { color: ${(props) => props.theme.colors.primary}; + margin: 0 0 0.5rem; } ` const Features = styled.div` display: flex; flex-wrap: wrap; - gap: 1rem; + gap: 0.2rem; ` const ColoredLine = styled.div<{ color: string }>` @@ -302,9 +309,13 @@ const ColoredLine = styled.div<{ color: string }>` const FeatureLabel = styled.div<{ hasFeature: boolean }>` display: flex; - gap: 0.5rem; + gap: 0.2rem; font-size: 0.9rem; - line-height: 1.75rem; + line-height: 1rem; + align-items: center; + padding: 0.2rem; + margin: 0 1rem; + position:relative; svg { width: 1.75rem; height: 1.75rem; @@ -313,15 +324,26 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` fill: ${(props) => props.hasFeature ? props.theme.colors.text - : props.theme.colors.tableItemBoxShadow}; + : props.theme.colors.secondary}; } } p { - margin-bottom: 0.75rem; + margin-bottom: 0; color: ${(props) => props.hasFeature ? props.theme.colors.text - : props.theme.colors.tableItemBoxShadow}; + : props.theme.colors.secondary}; + } + :after{ + content:""; + display:block; + height:1px; + width: 100%; + background:${(props) => + props.hasFeature + ? "rgba(0, 0, 0, 0)" + : props.theme.colors.secondary}; + position:absolute; } ` From ab93024f81a34c2d4a4120390dff8480eac21d0f Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Fri, 24 Jun 2022 10:00:39 +0100 Subject: [PATCH 174/310] reset filter button 100% wide --- src/pages/wallets/find-wallet.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index c9f1830af6d..6f8c1429c47 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -220,7 +220,7 @@ const ResetContainer = styled.div` justify-content: center; padding: 2px 4px; border-radius: 4px; - width: auto; + width: 100%; margin: 0 auto; gap: 0.25rem; font-size: 0.75rem; From ed06589c527ffd62ce087aebcde38917bc738d68 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 24 Jun 2022 10:14:23 +0100 Subject: [PATCH 175/310] Add imtoken --- src/data/wallets/wallet-data.ts | 56 +++++++++++++++++++++++++++++++ src/pages/wallets/find-wallet.tsx | 5 +++ 2 files changed, 61 insertions(+) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index bcf68eb0544..abb1ed214f7 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -870,6 +870,62 @@ const walletData: WalletData[] = [ onboard_documentation: "https://linen.app/articles/", documentation: "https://support.linen.app/en/", }, + { + last_updated: "June 24, 2022", + name: "imToken", + image_name: "imtoken", + brand_color: "#098de6", + url: "https://token.im/", + wallet_live_date: "2016", + active_development_team: true, + languages_supported: [ + "en", + "zh", + "zh-tw", + "ru", + "de", + "jp", + "ko", + "fr", + "es", + "vi", + ], + twitter: "https://twitter.com/imTokenOfficial", + discord: "https://discord.com/invite/imToken", + reddit: "", + telegram: "", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: false, + repo_url: "https://github.com/consenlabs/token-core", + non_custodial: true, + security_audit: ["https://cure53.de/pentest-report_imtoken.pdf"], + scam_protection: true, + hardware_support: true, + walletconnect: true, + rpc_importing: true, + nft_support: true, + connect_to_dapps: true, + staking: true, + swaps: true, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + onboard_documentation: "", + documentation: "https://support.token.im/hc/en-us", + }, ] export default walletData diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 196eab1378b..5ea22aa474e 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -525,5 +525,10 @@ export const query = graphql` gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } + imtoken: file(relativePath: { eq: "wallets/imtoken.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } } ` From 6a28f5b91d0045fbba04460ebdc3441dbbada31b Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 24 Jun 2022 10:26:12 +0100 Subject: [PATCH 176/310] Add 1inch / replace old 1inch logo --- src/assets/exchanges/1inch.png | Bin 24620 -> 84541 bytes src/assets/wallets/1inch.png | Bin 0 -> 84541 bytes src/data/wallets/wallet-data.ts | 59 ++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 src/assets/wallets/1inch.png diff --git a/src/assets/exchanges/1inch.png b/src/assets/exchanges/1inch.png index 26dd2cd15a207c40b2a94a7c2588111b93813d0e..520fbc466799dd6e2c7b54d661bb9830c15736d9 100644 GIT binary patch literal 84541 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

;@8FWXAE9lokUm%44_sdJ%@Th4wQW>f9qf^oC2E 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

vMjYpCFvf1# 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

;@8FWXAE9lokUm%44_sdJ%@Th4wQW>f9qf^oC2E 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

vMjYpCFvf1# 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 Date: Fri, 24 Jun 2022 10:30:20 +0100 Subject: [PATCH 177/310] wallet table adjustments --- src/components/FindWallet/WalletTable.tsx | 80 ++++++++++------------- src/pages/wallets/find-wallet.tsx | 3 + 2 files changed, 39 insertions(+), 44 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index a0836451160..0fa3c6dd70f 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -231,23 +231,6 @@ const FlexInfo = styled.div` font-size: 0.9rem; line-height: 1rem; } - p + a { - font-size: 0.9rem; - border: 1px solid ${(props) => props.theme.colors.primary}; - padding: 4px 8px; - margin-top: 1rem; - border-radius: 4px; - text-decoration: none; - transition: 0.5s all; - :after { - display: none; - } - :hover { - background: ${(props) => props.theme.colors.primary}; - color: ${(props) => props.theme.colors.background}; - transition: 0.5s all; - } - } ` const FlexInfoCenter = styled(FlexInfo)` @@ -348,7 +331,6 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` ` const SocialsContainer = styled.div` - padding-bottom: 2rem; p { margin: 0; } @@ -359,12 +341,24 @@ const SocialsContainer = styled.div` const Socials = styled.div` display: flex; - gap: 1rem; - padding: 1rem 0; + gap: 0.8rem; + p { + font-size: 0.9rem; + color: ${(props) => props.theme.colors.primary}; + margin: 0; + } + a{ + height: auto; + align-items: center; + display: flex; + } + ` const LastUpdated = styled.p` color: ${(props) => props.theme.colors.text300}; + margin:2rem 0; + font-size: 0.875rem; ` // Constants @@ -606,7 +600,23 @@ const WalletTable = ({ data, filters, walletData }) => {

@@ -721,29 +731,11 @@ const WalletTable = ({ data, filters, walletData }) => { })} - - -

{wallet.name} links

- - - - {wallet.twitter && ( - - - - )} - {wallet.discord && ( - - - - )} -
- - - {wallet.name} info updated on {wallet.last_updated} - - -
+ + + {wallet.name} info updated on {wallet.last_updated} + + diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 6f8c1429c47..67cff9f0419 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -191,6 +191,9 @@ const FilterTab = styled.div<{ const WalletContent = styled.div<{ showMobileSidebar: boolean }>` width: 75%; + table{ + margin:0; + } @media (max-width: ${(props) => props.theme.breakpoints.l}) { width: 100%; From 3e13709580cc57444e92cb984bd9f617b11ebac8 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 24 Jun 2022 10:43:04 +0100 Subject: [PATCH 178/310] Add foxwallet --- src/assets/wallets/foxwallet.png | Bin 0 -> 16638 bytes src/data/wallets/wallet-data.ts | 45 ++++++++++++++++++++++++++++++ src/pages/wallets/find-wallet.tsx | 5 ++++ 3 files changed, 50 insertions(+) create mode 100644 src/assets/wallets/foxwallet.png diff --git a/src/assets/wallets/foxwallet.png b/src/assets/wallets/foxwallet.png new file mode 100644 index 0000000000000000000000000000000000000000..3c531ca11935e3f60edb515ab8abd119bbf0ccc2 GIT binary patch literal 16638 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 H82JAHzBU3? literal 0 HcmV?d00001 diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index 2bf5e70adea..a203f760570 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -985,6 +985,51 @@ const walletData: WalletData[] = [ onboard_documentation: "https://help.1inch.io/en/", documentation: "", }, + { + last_updated: "June 24, 2022", + name: "FoxWallet", + image_name: "foxwallet", + brand_color: "#ffffff", + url: "https://foxwallet.com/en", + wallet_live_date: "November, 2021", + active_development_team: true, + languages_supported: ["en", "zh", "uk", "ru", "es", "id"], + twitter: "https://twitter.com/FoxWallet", + discord: "https://discord.com/invite/JVjVbe3Zth", + reddit: "", + telegram: "https://t.me/FoxWallet_EN", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: false, + repo_url: "", + non_custodial: true, + security_audit: ["https://www.certik.com/projects/fox-wallet"], + scam_protection: false, + hardware_support: false, + walletconnect: false, + rpc_importing: true, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: false, + layer_2: true, + gas_fee_customization: true, + ens_support: false, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + onboard_documentation: "https://hc.foxwallet.com/docs/", + documentation: "https://hc.foxwallet.com/docs/faq", + }, ] export default walletData diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 5ea22aa474e..a6889bcb571 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -530,5 +530,10 @@ export const query = graphql` gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } + foxwallet: file(relativePath: { eq: "wallets/foxwallet.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } } ` From 5ad3427c460b12ed18e157e5bcbbad94ea1ebf9f Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 24 Jun 2022 11:06:59 +0100 Subject: [PATCH 179/310] Add mycrypto --- src/data/wallets/wallet-data.ts | 66 +++++++++++++++++++++++++++++++ src/pages/wallets/find-wallet.tsx | 5 +++ 2 files changed, 71 insertions(+) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index a203f760570..62ec1e45841 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -1030,6 +1030,72 @@ const walletData: WalletData[] = [ onboard_documentation: "https://hc.foxwallet.com/docs/", documentation: "https://hc.foxwallet.com/docs/faq", }, + { + last_updated: "June 24, 2022", + name: "MyCrypto", + image_name: "mycrypto", + brand_color: "#FFFFFF", + url: "https://mycrypto.com", + wallet_live_date: "Feb, 2018", + active_development_team: true, + languages_supported: [ + "en", + "de", + "el", + "es", + "fi", + "fr", + "hu", + "id", + "it", + "jp", + "nl", + "no", + "pl", + "pt", + "ru", + "ko", + "tr", + "vi", + "zh", + "zh-tw", + ], + twitter: "https://twitter.com/mycrypto", + discord: "", + reddit: "", + telegram: "", + ios: false, + android: false, + linux: true, + windows: true, + macOS: true, + firefox: false, + chromium: false, + hardware: false, + open_source: true, + repo_url: "https://github.com/MyCryptoHQ", + non_custodial: true, + security_audit: [""], + scam_protection: false, + hardware_support: true, + walletconnect: true, + rpc_importing: true, + nft_support: false, + connect_to_dapps: true, + staking: false, + swaps: true, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + onboard_documentation: "https://blog.mycrypto.com", + documentation: "", + }, ] export default walletData diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index a6889bcb571..95b13da9926 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -535,5 +535,10 @@ export const query = graphql` gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } + mycrypto: file(relativePath: { eq: "wallets/mycrypto.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } } ` From 7a6da2c69e4d8f0034d302c2123d44046be7c072 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Fri, 24 Jun 2022 11:10:53 +0100 Subject: [PATCH 180/310] last small details on the table --- src/components/FindWallet/WalletTable.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 0365ecb1eb4..3d372d2f192 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -268,7 +268,9 @@ const WalletMoreInfoCategory = styled.div` h4 { color: ${(props) => props.theme.colors.primary}; - margin: 0 0 0.5rem; + margin: 0 0.2rem 0.5rem; + display:block; + font-size; 1rem; } ` @@ -349,6 +351,9 @@ const Socials = styled.div` height: auto; align-items: center; display: flex; + :hover{ + opacity:0.8; + } } ` From 0272db43559fc452b0816b46264121f1ad7d0b25 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Fri, 24 Jun 2022 11:15:14 +0100 Subject: [PATCH 181/310] Table header styles --- src/components/FindWallet/WalletTable.tsx | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 3d372d2f192..123bd39c406 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -34,6 +34,15 @@ import { opacity } from "styled-system" // Styles const Container = styled.table` width: 100%; + th{ + font-weight: normal; + p{ + font-size: 0.8rem; + strong{ + color:${(props) => props.theme.colors.primary}; + } + } + } ` const WalletContainer = styled(Container)` From d3e32c7f541331157f1225418b6ca0f3f19f09e6 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 24 Jun 2022 11:33:38 +0100 Subject: [PATCH 182/310] Add pillar --- src/assets/wallets/pillar.png | Bin 5442 -> 5647 bytes src/data/wallets/wallet-data.ts | 49 ++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/src/assets/wallets/pillar.png b/src/assets/wallets/pillar.png index bb73e947a25e68108a293654212adff443311acf..6a4c1d26a57f3ebcedaae365c452f14429308baf 100644 GIT binary patch literal 5647 zcmeAS@N?(olHy`uVBq!ia0y~yV7~yu9LzwGwa-kvfs|8#Pl#(NB!vf|mz9zl}KxqaLL&FNB4k`_1bn$`IL8U7+u*N*#m&m3?PPx zEJz(x8q9EI2dRTfgBU~^bC(0%7ZBef`2y-&q`-js7AY_wzHMGGn}K8}K%9!~6NrzI zd;;|`Qh-2xj1(aFjA?gR%IUFv?gR6y{_k%selh(V7l+l8m1;kH%^kx_eoUHdZLoLI z?p?}|ctwgqbT4aIp?R5#*xH%l?&L*EB5noS!AkV6k(+69B?_kTizEr&+SYY0Dr;04Vuk5abVFSm6vV zl$49&a4KkF0j1ZyoJt~U436#PWoirsMeM*LjDba#0a!@@YepbK@F7A_K3oZiPctn* zD+j<<6u$vED14gvl{i~y5Gfu(vl>cb4PVW_UNVnE!Xc6A(%RL5^0U^J`?K&II61eX zKRcVn;es!)&BbA*Vb!pp8OB)r0+^Y*_!M3&fH6>{!Rk6aKZ5+Bb?#L?#eDu z5>Nunfe;3&G)NtaG*}%_G#1nlM$!st2&0;erWM>yhFc6V8Qc&i${1zTlmcn?!=nTo zbwmULxY>`Cq6irCVP-4mgYsErKi8ZE7O+di_hw6LQ@NuvYTRfDjE2By2!KN1fPFRN Z`N~fh4i+c^hkF?qJYD@<);T3K0RX*g&G`TT literal 5442 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 F;NO}fA07Yz diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index 62ec1e45841..af67b7e60a9 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -31,6 +31,7 @@ interface WalletData { connect_to_dapps: boolean staking: boolean swaps: boolean + multichain?: boolean layer_2: boolean gas_fee_customization: boolean ens_support: boolean @@ -1096,6 +1097,54 @@ const walletData: WalletData[] = [ onboard_documentation: "https://blog.mycrypto.com", documentation: "", }, + { + last_updated: "June 24, 2022", + name: "Pillar", + image_name: "pillar", + brand_color: "#7501D9", + url: "https://www.pillar.fi/", + wallet_live_date: "December 18 2018 V1, June 2020 V2", + active_development_team: true, + languages_supported: ["en", "et", "ba", "zh"], + twitter: "https://twitter.com/PillarWallet", + discord: "https://chat.pillar.fi/", + reddit: "", + telegram: "https://t.me/pillarofficial", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: true, + repo_url: "https://github.com/pillarwallet", + non_custodial: true, + security_audit: [ + "https://consensys.net/diligence/audits/private/j6eeg3t1ipskpf/#executive-summary", + ], + scam_protection: false, + hardware_support: false, + walletconnect: true, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: true, + multichain: true, + layer_2: true, + gas_fee_customization: false, + ens_support: true, + erc_20_support: false, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + onboard_documentation: "", + documentation: "https://help.pillar.fi/en/", + }, ] export default walletData From 68dd08045894c2085c7e2d0050c177a4014875f5 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 24 Jun 2022 11:47:38 +0100 Subject: [PATCH 183/310] Add MEW mobile --- src/assets/wallets/mew.png | Bin 0 -> 7837 bytes src/data/wallets/wallet-data.ts | 46 ++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 src/assets/wallets/mew.png diff --git a/src/assets/wallets/mew.png b/src/assets/wallets/mew.png new file mode 100644 index 0000000000000000000000000000000000000000..48c42dc14502d014d37db8600043aa47457cb3b4 GIT binary patch literal 7837 zcmV;O9%A8%P)aqD#E62TBn4DNpOQp=Ma7JmpB(im ziU^`)@He1>`b3ff5)5Pz5Rs(h%%q(eSP;n>B-OiLO;=Mh+i7-s0xS2ND{D`8SJk~; zRX3NSI1HONZ!Y2S_#3*s!KdBcz#xy;Khon3OsBtB68a?EtD!G&nEqu23PWSsE1^90 zm7ob|Lw^tCv~v3!fObl%!7snCLd4Kp&{4wm7#MYancEW>=Jp1=Q0E_W`2sDx-rx;x zcd&-Q4O_RC4hDl40@tkBQA{adfH8^jVXX4lK?~3XwDI_YZxF4%<}?d^6zkkx{{Xi; zrzvQgv;p}2{tH|le^=_zc65&Z?&8vMpZ`tJI$@pI zx^-(2VrU;~d^gR|;T})0)_K;%2fW@b*AR_IglHY;O^hxa*9KiVTbdAaUDVhZmuqX~ z^DIaVcs#imd%VGMMEA`uU$AjJmX0)+C)ke~$n|)(v^h`mfr*|!@uY{-h0xg}lRz&w)fCd7UHKM&CexP^(q6Tuts zC|@tZ*TI?V4Gujo8Kr9QO{()=XwL9NFV!&{?0g0&J<=ct**3vj*V&(lJeb` zn7iN{S(eeqI)v>ByAys&IE-*S;S9q0gv$+Z4&gNQUOY2|up8lhgtgUor!=T)>q4ke z_9QhD!|CR&DJ)PGC2U1F6yGA@X?)CaLcH5e_!(hKwe8fCu3g*9!YH!Y8@$<$#JmyW zcnXfA8R1Wa$BY<~mX^jYyzoL+y?S+a_0?Ci8*aFPHE-VB5Suk?#_zf6s;gLy8a4Q{ z77Ra1_yggssi!LkTf;_y8Et%1$U-$Hh5C(ssfo;}&PapTyk zRjb&MBS%=QaOlt>wqnH!Hg@b-_Rc%+usiR(lNBypSdZDu)xM>S07?_{JK|q2-5+5T zhe<4jEL7M7m&imdR;(C%`st_HlqpjjVWwR;eE2Y%Jb5zf)TtBiLj>}J!+$)rP#{mSpUj^X`6)MC!ckaw*P^!VvqeuA?o|Tm)GkP&$xnvS> zb52fem@~uFTk_}LN@~#`NoMY4s#MI0)v#ehwr<@zmg=x}?OIm9etntAZgnh40|XR= zIVE`Hg)jI{68m&H;Vwa>#~**3{r&gf>|6o#_0dNkm6^OVnM@{rz6a-!d|^Et%}MG{ z8EhRw&B3yF=FAy(t^xYozkh!|29?RaWG&aOoSgcI3<<5-6bD5Ab0|snX4p{Yi7)@% zci&~_I^YA9X7X>z5WKMeBK&8=hMmP}{|z)s;{H285aYoIA3P^#uHH<3?6JpWCih9w zGQEPY$~>Zv0_2jU=bjV-)w#6iTEX$-$7R9mL^AYb9;$%byZEa6 z_3Ot9I>5v#&Ene_*H~IaS#Hk&mUNj`^MEHObin{n4gMIF~=Nu;{Tz$)yEo0w*|2-Q$dNljui!a!K z0Ry-JLJ#p9?)m1MZ}>BK7VmHx-~m$^d|ai&gM?2JHc)942mkPvONqB$FgQ03E<#wR zJ|aA9vF-$uC)v@{M>0-UX)M-Lc9Dr%s*X4il3$L8A`|%R0#b zT9vC3Z-Zd)UpYBB6&!qbBf>p)h}pDhQ|^9?7IyC3$=-hZZC18y*?5KOXoxntckj;I zj23cpbJ=y*U1ztgy(;Y-fsKJcC3pxGTBr9o7=HzO_5so97A;z^2@@tTazr!wqS)fa zi&?K;y;$YSm9>FgfBp5g{k)j*SW+WHYl;>v%38H*#r?DsCr)H5SFYsk{q@&he4jT% z+=F`&#erw>4!jHRl-od?Uw-+e?Nx_DXIRaeHMQpv5`-;b>C&aVJqnLv`lf*m|~kca5VL~qon5&wXW z9XsauzKM6@-DpE@vt`Scw)W|J@4Z)h=H-`P=GHAE`1adxInC7j*EnGmK~x9vc0U+= z%%Skur^J8;4H^{27<|q9_wNrI)alcwS(`R(`286f8K%D9KmYub)vjGzBN+C`Y15`9 zOcF+0mt1m*);^Y9%zPtQxNxC%?-Nfvk>_{N0yL37lz{^W${*4bu`*-(_U%Q9w@1L> zlMW>s&qU{{Rja1imBB=p%f)Dg;CS-n$*_T9=>~K09K0|_v;D>!Z`20gwr$&_M0kK1 z;)4V>XwbkgF6_0}UgP&p@$yg&(*3`EA0A-6DRm`kKam{E^WH!B^q|@*undRzF}`hUuD2p@EcYi zJpe5PU1T+J{`~negPW%kgYOX?Tfct2*5Pg2wrK;QO<#AgcieFYe-6u<45LPk(gq9F zDAnNe&p+4t2dkM3(C=~mrkifkeHOG3bODXz06vMqty77?ZAHgubJu0Ck=+JJ@*9jaX?%bIrmz4zWrSw{lWW<)*Vn9Bljk|m0yF__ zm9~YUfB*a6+JIo$5%9?;pJ>-pIW`*kP@EBbVQkl1o*+QMAB_9JWGvM()TvWPvt{dfkd`c2 z!hZYhH@0uzzPK|HvI9Oww5ewj{nx+##rs;fZr!l!n>KCIKHw51N^sMy-Zlj%23)5S za|4P)dB{#P7y!4UTXYtAJGb6?E4S>x`}6Fx&$7!dyG$Dl2mk|rc=XBG~RNP!Azt&)wIj~(xXck1=mU*|c>Vyr6W zDxoY7B~=*=s6;rH@Qj&ztZLP&y7pw41jRk?zyH2=9Tqa9cfkq)7%?Kuq=<+{WJ;L1_wXC;!M*YaGHlo|%b) zay{W-!X|MEyo)n~b)6BA6wLq*h)4s%n{U2pIRj)t4SS}zE*PN)_)Xl0JzYSAk5(5& zxUX!GLEp_l3WlGakjTmeGk6jPckQ*;ni2ta+DN;$Y~VLSS;&zsLSKLVwP9Pb-YHw) z@Gh(N&?n)`71xaH?U5!-!U+YD!J|ZEgHUI=`<+j~?3fh_uWwyzjpI@(5F4q#QOQj1IEe0&Lf=T^{`u{~!6RjB=VQ z)IY&=Gha2LIHY%UDToYiCk6$%&oWXmcC0^wi}HZqOkIzE!f06Imj*n?+{ z)GP7q1s7bPJ%hG~4<8N2E^ZXBRSCq+Cn6xp2~%SYv?P&dCWkTww-V!q#}cn>3#|W#Ij}v zLa4%04X;b80$hDUKR1dg6VR<&H^JOfYKT*TW3Zws_S_+E2C)0uQFD?Fa)=F%i2 zoy@YwObJK2mNocmeh==&Gk8{sC_0Y7KzNCeHX~oh(ryJ9oAkcB|49r6{3M*`*ek67 zxy9wnm)8g;mPzgZueh2OdZshW9`;>cX4=KC#_@NgUmm{1%WXk@le0IB09guBkizt2 z5IETkMlAIqVaK%-K=;QVe?&$_u=MNevCMY|<)5hrnAvk6ORsZ7SX*e@EPz1Pd!^)W zXbn~Wi3|q3qDXO7X0~NSX$a#7pZOIkvCJ+#9cOGFM!(*JrIkC|E{qzB7A-Q(c)0Dh z+vE?UbFzq=3JgYY_jhuXgq}ekS%z}-VMdeNSoZJ>s@Qg`8 zgJ;z3sX#Hfryv9(3t0_4*Qp$Z0v?9o3)&EShB&0>50J`uH-=-8>#tk+tX{TV&_ z2bNy*3N24cj;)RatW*&N+`1JM2EQZ*b@9a)^Q?9=(Dq@HRX-jj9wlN7p zMaNEMYxW(;Hp!-__c7Z~|=T(y@3a6$gr~B#XhwGDN024_mck;uE>H zP>HfW|0ZT>_tu{mu~_QaVsE~B$~@~?JY^JqBk}lIK(PWoM}Ca?`)}M9#UyY%lAT+l9uY}=Nf|_RZMC% zS`{>jW$%qdNXCaqlHGRn7~fl$68?4UcvMWD7~F0>iwAzD^&g4qb|Av?)!|%Wa4B`! z;rp&xnu=Zkd0O?FjvFQ_>CC_zrq5@ex^mc2o3UQdsjb>cs}{=0u*#s6^RT4-c!x^6 zlxMJ}5+RAp4j^(uEYF4ReVtoe;f}6^D;^(h87L9ZXMDi)2dXnWCR!+mLEjI)4OXo zvnt=uj+x1rp;i*LGf|iC0-FSUKj~Q z$0>DW&<1bJOkTLtILZ?`b(!%qOrKA`v7v7DTq}U&EzROusmS2hMF*kNMgt-gC!=`_ zOB=Hpe3P>^W(N0MV{S^VH~m+0eOQhBfCdo_$hAq-P$tJ1>{LmAZrDJuS+pQd2FqyG z&Xjo9O`C7}p02Al8tTG**Sp!=KX>IpNXIMo?AOqL$h@dp^Er#n8Qe1DVL~OpXhEvs zF*R0Z$R+)qI+TN-m4x`=XhC?7(k`hH+QW(#E>RV559nxYsDZaQmD^EPLel+#j4?uMrQV=YHWLMOj*<$}FvFb@33-$nf!>73*2xaP%b* zYxL|NVyZ=dtxl5BgNTz?Vmiy}?6Eq|9E^3d=-Bk>(`^rE_UzeVwI^YKN0nCO^Wf+^ z6f~7XWr0XjF{)lSKDaGvk5l^v%h)eFcG+@D@QScf6bC8>;b?lOL{Rlmj7=0-732Bw z#~*Fe17#1Tu{Ml_A@adkP8@C5O3|tKZU*o!31T2~08GUh4|)+1C{rkBH5l1?51%|` zDdn2&?_anB+-|K0at&()E#Q~|y-M^jKO%xdY&%G;k*nxMQK%)RRF|_y+c|SMWe3G( zwKu^uQ8E~Wz#))U01u7O6|wvorH>d1T6VGggcq@^TE zp)HD<24Z&L2CB)yjVL@#N<_t15JV3kJY7Lf1Sd?GSwlv$G#w!jvl0bKagc^t&a%i+ zvSXV^Ab`|H%b0Xvci<{5o8twznTN_OZ!R6%@zat&*v6j-_LCH7b|z@eVfxGTiAL`b|L~!672gODWEbLj(3-xL+<0DdZPFjlwIxbmdy*z*Lh1L$X3cdOpC`Jl2Dx-w_ zCGieKRoaa3*d8l0T%JHDmoM-Ymgs?QZ_tV2m{Wxf)~sd}&Q}mB1j-~t3#e!VeN@aI zI~4+S-$P3{Bxdu#_I4U`&{w@fMyxVm*y1Hi<@-d^4=J0$ba^gaCQqh6a(_|b&gdk! zJhp2(ctbHbeA6goSaIO|VA^&^xqbd8X|47*^mqfy9AI!+5d&>i14}LqY$OQ_KwZm- zlSwoylD6;9nv*XEpE!Mn)t>r`{__0s*=q3R%9YF0K6G5GL$6TFQkY>ockXO@uT)Fx zM66~?)swW+<=awEfgRfI3qY$+cYw*G#Frj<7Lt)`%&N{5s@W(~#vvqcWY{B!UW>w{ zyxm^wTiRwmFZ zGr-dg8+H~K++Gi{+5raF6tlQVlP0G1rf{Gm?z{BTOHCzVWYUAFP$A@GHTn3RLXULf zOsPY&5h1S8viW|pN9R$Go_HF(XkT*bE^3TS@zPpLB!|W^av{XRq7e zfOxu2n$G?KE|0&bLyrGX6dMOi;+UCOBw?J7pfUK#=fjxOWcETfnw}BG2_*LzKY&<|tP`rZT zGw!)RUxmq0iBCKi=?{kCCZfCp3`DgZi=^}fz9ALqKY4y2GvEcp`Q08*?!^u=8TB|e zE7D<=uyn~LI}tJ~mTIfA!3Zc2YExSA5-jVBZ{wHwKvnb7E-bC}-K-d@5SZjs+8{g$ z;R=#6D&5M5UBYdvI9RtsbrBK|Jtd7c=iVM~aGb-bEI29^=LDURJwY(g!#ac-SW>VV zKjR43BFj5K&_TSHwydRRu*^3SPzbF@KP{LYZNr=xS%g$nx|I%i=2j`JG>A-*9VE)x zG7cX*wdZR5^99Be58pE}PgZtAvW4oid7H3bRnrz6@0gs)lYQSt52u z)7x3r(9v;YE?k8fjc?0SY(-IPR-$jP%E`LAqEkmx39p?sR^7fF1@iy4A>M7a44`!R zf{hX7v1wCo86`ddT^UJMON^Lpf~VEU|D)P9vM6QTeGkj}bhvYj{bYD3Yd^f?@Dajg z`RFt5UrhM66FRQJ#4HyQk|oL6^Z{?658*l#hcY3uow}uJT&dqk?2C zoYXQ>y+;HlppfYgVT7bvgW{ouUi?qK_GMHQfbN@KyDooM1e0*EW)-z!^diWTR35MGy`&979pW(k?GQ`W9mwS86WmpLviQ70;2M_ZyNzD_9xkzP@vP%p=uls6%$@ctTy(g0?Hlx#whWHPKIu4fi8r*;&IPaXySA6a3-Fa-DNs@$ zGS%>*cM0d)WcV)i-k$2SnW;WV@PcOTB=E*iC5mPyLwUxYj9_Zz+=DXeY-~o@M#X08 zwKC`0V88?HxfHE2I^Q!_Z%>Af3`vb%ey?&Kk^)d)!2<|XQSZ5SV6!)PGeR*bhU+^r zxm7t&^27kQP{D{nw70Daf-X3N79K{)i$#PAY=wxgPBe zbVJ~m+ZSwwC{b zv?IE$MKmO6nv#<)BN}!oY!2XKYf)z00000NkvXXu0mjfpQq-H literal 0 HcmV?d00001 diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index af67b7e60a9..f16dfb9698a 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -1145,6 +1145,52 @@ const walletData: WalletData[] = [ onboard_documentation: "", documentation: "https://help.pillar.fi/en/", }, + { + last_updated: "June 24, 2022", + name: "MEW wallet", + image_name: "mew", + brand_color: "#05C0A5", + url: "https://www.mewwallet.com", + wallet_live_date: "13 March 2020", + active_development_team: true, + languages_supported: ["en", "ru"], + twitter: "https://twitter.com/myetherwallet", + discord: "", + reddit: "https://www.reddit.com/r/MyEtherWallet/", + telegram: "https://t.me/myetherwallet", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: true, + repo_url: "https://github.com/mewwallet", + non_custodial: true, + security_audit: [""], + scam_protection: true, + hardware_support: false, + walletconnect: false, + rpc_importing: false, + nft_support: false, + connect_to_dapps: true, + staking: true, + swaps: true, + multichain: true, + layer_2: true, + gas_fee_customization: true, + ens_support: false, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + onboard_documentation: "https://www.mewtopia.com/", + documentation: "https://help.myetherwallet.com/en/", + }, ] export default walletData From 91cfd856dcacd25b6c4d02ada423b392af66c102 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Fri, 24 Jun 2022 13:06:20 +0100 Subject: [PATCH 184/310] small spacing in the table --- src/components/FindWallet/WalletTable.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 123bd39c406..8bf363f7119 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -124,6 +124,7 @@ const Wallet = styled(Grid)` td { padding: 0; border-bottom: none; + height:100%; } @media (max-width: ${(props) => props.theme.breakpoints.l}) { padding: 25px 1rem; @@ -229,7 +230,7 @@ const StyledSelect = styled(Select)` const FlexInfo = styled.div` display: flex; gap: 1rem; - align-items: start; + align-items: center; p { padding: 0; @@ -245,6 +246,8 @@ const FlexInfo = styled.div` const FlexInfoCenter = styled(FlexInfo)` justify-content: center; cursor: pointer; + height: 100%; + display:flex; ` const Image = styled(GatsbyImage)` From 90c34cb0fde5909d23e90caf204e0e279e4dbcd3 Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Fri, 24 Jun 2022 06:08:42 -0700 Subject: [PATCH 185/310] Apply suggestions from code review --- .../developers/docs/nodes-and-clients/run-a-node/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md index 8c793880cb5..cdf773129ce 100644 --- a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md +++ b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md @@ -108,7 +108,7 @@ Run your client on a testnet first to help make sure everything is working corre In order to connect to a consensus client the execution client must generate a `jwtsecret` at a known path. This path must be known by both clients as it is used to authenticate a local RPC connection between them. The execution client must also define a listening port for authenticated APIs. -**Note that it is recommended to connect an execution and consensus client on a testnet (e.g. Kiln) only for now and await merge-ready client releases before replicating the process on Mainnet.** +**Note that it is recommended to connect an execution and consensus client on a testnet only for now (e.g. Kiln) and await merge-ready client releases before replicating the process on Mainnet.** There are many ways to configure the execution client. You can use flags or the config file to declare your preferred configuration. Check out your client's documentation for the specific details. @@ -142,7 +142,7 @@ The consensus client also needs the path to the execution client's `jwt-secret` connection between them. Each consensus client has a command similar to `--jwt-secret` that takes the file path as an argument. This must be consistent with the `jwtsecret` path provided to the execution client. -**Note that we recommend waiting for merge-ready client releases before doing this on Ethereum Mainnet - for now just practise on a testnet such as Kiln** +**Note that we recommend waiting for merge-ready client releases before doing this on Ethereum Mainnet—for now just practice on a testnet such as Kiln** ### Adding Validators {#adding-validators} From 13fa4df3a0feb52ac637f025d6400a854c768ee2 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Fri, 24 Jun 2022 14:40:28 +0100 Subject: [PATCH 186/310] wallet name in bold --- src/components/FindWallet/WalletTable.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 8bf363f7119..4ed6441da08 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -235,11 +235,13 @@ const FlexInfo = styled.div` p { padding: 0; font-size: 1.2rem; + font-weight: bold; } p + p { margin: 0.1rem 0 1rem; font-size: 0.9rem; line-height: 1rem; + font-weight: normal; } ` From 7c145c0f803992fc4b67e5c006f4640d3f5958ef Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 24 Jun 2022 14:48:06 +0100 Subject: [PATCH 187/310] Add unstoppable --- src/data/wallets/wallet-data.ts | 46 +++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index f16dfb9698a..c86b211247e 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -1191,6 +1191,52 @@ const walletData: WalletData[] = [ onboard_documentation: "https://www.mewtopia.com/", documentation: "https://help.myetherwallet.com/en/", }, + { + last_updated: "June 24, 2022", + name: "Unstoppable wallet", + image_name: "unstoppable", + brand_color: "#ffbe43", + url: "https://unstoppable.money/", + wallet_live_date: "2017", + active_development_team: true, + languages_supported: ["en", "fr", "de", "ko", "ru", "zh", "es", "tr"], + twitter: "https://twitter.com/unstoppablebyhs", + discord: "https://discord.com/invite/3uECHQ3cEk", + reddit: "https://www.reddit.com/r/UNSTOPPABLEWallet/", + telegram: "https://t.me/unstoppable_announcements", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: true, + repo_url: "https://github.com/horizontalsystems/", + non_custodial: true, + security_audit: ["https://www.certik.com/projects/unstoppable.money"], + scam_protection: true, + hardware_support: false, + walletconnect: true, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: true, + multichain: true, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: false, + eip_1559_support: true, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + onboard_documentation: "", + documentation: "https://unstoppable.money/faq", + }, ] export default walletData From 4c1e9f25333e0aff28a0ce8ec77f721cdb26b912 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 24 Jun 2022 14:52:52 +0100 Subject: [PATCH 188/310] Add myetherwallet --- src/data/wallets/wallet-data.ts | 46 +++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index c86b211247e..be44d4f097d 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -1237,6 +1237,52 @@ const walletData: WalletData[] = [ onboard_documentation: "", documentation: "https://unstoppable.money/faq", }, + { + last_updated: "June 24, 2022", + name: "MyEtherWallet", + image_name: "myetherwallet", + brand_color: "#ffffff", + url: "https://www.myetherwallet.com/", + wallet_live_date: "August 2015", + active_development_team: true, + languages_supported: ["en"], + twitter: "https://twitter.com/myetherwallet", + discord: "", + reddit: "https://www.reddit.com/r/MyEtherWallet/", + telegram: "", + ios: false, + android: false, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: true, + repo_url: "https://github.com/MyEtherWallet/MyEtherWallet/", + non_custodial: true, + security_audit: [""], + scam_protection: false, + hardware_support: true, + walletconnect: true, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: true, + swaps: true, + multichain: false, + layer_2: false, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: true, + multisig: false, + social_recovery: false, + onboard_documentation: "https://www.mewtopia.com", + documentation: "https://help.myetherwallet.com/en/", + }, ] export default walletData From ad53302145346ed02e99fd72aba4e9c0d388529a Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 24 Jun 2022 15:01:47 +0100 Subject: [PATCH 189/310] Add alpha --- src/assets/wallets/alpha.png | Bin 4292 -> 2633 bytes src/data/wallets/wallet-data.ts | 46 ++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/src/assets/wallets/alpha.png b/src/assets/wallets/alpha.png index 6cb94600a68a845d50d69f8e0c289de2124d22b8..2c4119245690fd257ffa36f95be85d7cb20c972d 100644 GIT binary patch literal 2633 zcmV-P3byr$P)32*P6sN;(3v+XgCrGGQ}5Z}cTlb&Lv77dLz?Zu}-`;3Csmq*(}R z(xnaO9A)7u+|+@%x$6{y7amX(CgFFNRk5u4snE1RDr~Et0*B(Dy+~U_Xmg!DP{n-! zmID(va~#r9%>ahdegyPB&ZRXT0wr` ziAgDt#t90_K{g3Ky!O@Z3D@u!)&v4dNc?#(b0Z{DP@Jt3U4-0Qn^xT-v%8jY8f<(1509J;}g}9U7#AQe| zBoEV*4BnvcqtRrOQlTxgNX<o2Q0{x^K^GQ*+jn=dE!gHpEP z&nHp?WC}T@mCE}=|1lDw5wppYfb;rFk}G%PAuSaV$W$1|%#E8`^g_wz04Lrf?VTZq zHaW@F%&)BQ-pDCFPepLU)nT?7&!U)asUJii^blI594Br>PAso@o_!_fcnIJB*M_kf zm$PzX046)Zi4QV>_&0K6Wer}Xq9R5qCpCs%AW{P`m|3JANE!s?oZ!SfNf0yfFx;&1 z;B}Rp?>2EDNJ||Ee%$yY%s_V6&52zZK+HvPdbeg@Z-M|r?p-N-o+tumGmF&4Tn_ta zIk6d1HiLaOz#$W9gd~uQapOBOb7B^nFdDNKOsL7^{`%125L&jx0X&k_4|XvFIYMU? z--ip?&H&Zh57(FCy(uTL ziXbS-2R541_gF`wAB5PY%vdv zT1a0YWz)+vgw`WHf|L-Yh|RTu%&9v7YUxt|e0XYj-i<>%3L>R-oDKtEC@nxLU7#i# zfNA zgHu%!$T3bUIh0kl<05weoEsY?fNbKlSZ%}v;+cHw7QHe0#0g>sQW0mTPF1-)KrS=9 zKPUleX^bGABAeg&sr#{zl1IrIZWN9|hW)xIK_rKI7dL=dilJ`9B2`sX&Wx*VyYNgt zAg;A-Ps0sBHenL0yNtp)Y9ftBT4)1DVwWnV+9MTp&oq57mluK|6Ah8vKB(W1 z)#@cUpJ`TBI)b~D6Q*+?q&dThwDKsjg9!Iv^`R_bOmV4_C0?1Jm{b# z>*B~`3_vb%H;Pep^vD&RDnt7N#Kwi4#G$zGx$|`ana7asIK|}(-KZGWas)rq@Uwc9 z?#(Okko3a8SsCGZr}e~UL*E(k(F7NR*g+z#lbS}nWcO3=gr6;i0z=hg1h!Q#nH|O9 zNY(-5VFn<_yHq1@5OnK6yl%%m4EeotbS!o!1CZlf2O`}dKnY+xHnOZ{pOs(7EG{6I z6}plDtAKSQW6#z_49{q%8pvr3QICnP0kIrhiF3+e?xwuT{f#f^A`|&Zrn>?}(ja~C zgMzl$)bRJ9be^x>WJ#4npbNu7GaLtz3WfOURYK`^r0ERewWZ2aT%JKIJFd4|Q&>)1 zq6oxQ;+^YZpM11m|i6k(}H_*pKpEJYyBiEO+J$M{x;@93!#$nFeW`L+h7X1XE(ZF{%?6T!MqME1M3D)jV- z`>NJRbET@f4|*<75IoYggTteoM>!U0KqVRqMb=#mo3fELY(wuV;uOkaR|8^}XdoP$ z^!kX!$zVcTm8QsN43k_bpW+~jZhJCiFho{7=z5FT4}2}AgLML*)ldzP1OSgpzg^_a z#yY56-Aa(!rVPMy%?)L2Iv%dH0@=z^Gc9xE1WQp5bzL-}dHzZSHlQG}?uXYHjP7Ve z+E8gvl;wyx%=nI;ESefC&|*6>UlB+byUauSK=ggJdcVFWqU=_Bg^oKRH?ZFDV`UC- z&M(JK+-l8hYnpJcLVHao<%)w-4N5R;`bC7@sbuD^&?aJ1u0A>|Zd#=*2iMe|ptfnkFwr!Mf4#><8KjaRzEvojE>ved;L(LD%Z2mW z&1G?kPzC2WiOGb^76Az@jW$T6S^dvvF}2SQuF2RSvi+$2sLC=pHSf+!;x3Wc(=+qz zTYnyRaLvg2bbppr6Om?fY=-Un%M9V(Oi`yu@lYzXArA-r4gIYj>U*@qWPaLzH<1Ty rrJ*jc%MKRWj(|69CqvU%FOm5d;VXFp*GUyp00000NkvXXu0mjfzzE$s literal 4292 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
`3 zGEQH2;p5{EUdLPPDcj?czui&z58<)tSJow{8S7uUO1{1>N@Q!u)c)l)eQZ=7L)Cpqrhag0VD-+~o~(4z zkK+i4Fjada_7NqCauHh&OO&;=tPGvm$sk;2{_^I^G<5DK?`E0@xCZjuayU1Agthq| z!)FfQ_b5{Lt=8U&*sE4+xkE(widKCek4Y;SR$@Ha%qN7iK7cPcsCvd zN#l)DU^McAh>^c|e<6mHuv?7wPL|x@wKFlp`J=Or-@Q4CDx|<$+g>}87xHd1U>C2s zseK^8c|n}264duIyJ6kJYO2rCFLN!-%2B6eXorZyr0DxIo&v+Sssk1sQM4y>;AF=z zzxf;pROLf`%(sI!{YqE6__rJkvip}-*VY_m!~@AAl$TY9_YR$F1ptQflOg6LBisqwmPnq~Gg0>byw5qyoMSd?{s zrd1tW$|;aJ+|KM98vgVytgIt86I)F7fQP@HhLzb~b6%Od*s@$N z5jJ-rX^nS#*6ug6s4R_#)O3h<68tCg^y@BTEm!z6B86_LoP$zqsJ?)&5?cY&!Mu#4(Y9Tm#*UZ{B>F&FcOzUmaoWe!sls%F@*3 zLc`-*w?aoBxcs^>>;T_$Nns{~F;rYr<5^OJFP+(^FdCNRV@QUH{+AFE-WIXo&H2_| zd42-;X;LRzdlG{Jh{5Q<%fY|`GDH|6bPWu24H2$}2(+Ow+8CvcK%fzb56T03{!c=9 bM9}$jSO5QnI?KRfAOU1&ebTA|>reh4Pk#l} diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index be44d4f097d..137f15c7c4e 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -1283,6 +1283,52 @@ const walletData: WalletData[] = [ onboard_documentation: "https://www.mewtopia.com", documentation: "https://help.myetherwallet.com/en/", }, + { + last_updated: "June 24, 2022", + name: "AlphaWallet", + image_name: "alpha", + brand_color: "#ffffff", + url: "https://alphawallet.com/", + wallet_live_date: "2018", + active_development_team: true, + languages_supported: ["en", "zh", "es", "fr", "vi", "mm"], + twitter: "https://twitter.com/alphawallet", + discord: "https://discord.gg/qYkK6VrWEd", + reddit: "", + telegram: "https://t.me/AlphaWalletGroup", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: true, + repo_url: "https://github.com/alphawallet", + non_custodial: true, + security_audit: [""], + scam_protection: false, + hardware_support: false, + walletconnect: true, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: true, + multichain: true, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + onboard_documentation: "https://alphawallet.zendesk.com/hc/en-us", + documentation: "", + }, ] export default walletData From 577b7ddb97f71764cec753d22925a23111e20418 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 24 Jun 2022 15:10:27 +0100 Subject: [PATCH 190/310] Add opera --- src/data/wallets/wallet-data.ts | 46 +++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index 137f15c7c4e..09120c8d445 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -1329,6 +1329,52 @@ const walletData: WalletData[] = [ onboard_documentation: "https://alphawallet.zendesk.com/hc/en-us", documentation: "", }, + { + last_updated: "June 24, 2022", + name: "Opera wallet", + image_name: "opera", + brand_color: "#ffffff", + url: "https://crypto.opera.com/", + wallet_live_date: "January 19 2022", + active_development_team: true, + languages_supported: ["en"], + twitter: "https://twitter.com/Opera_Crypto", + discord: "https://discord.gg/operacrypto", + reddit: "", + telegram: "", + ios: true, + android: true, + linux: true, + windows: true, + macOS: true, + firefox: false, + chromium: false, + hardware: false, + open_source: false, + repo_url: "", + non_custodial: true, + security_audit: [""], + scam_protection: true, + hardware_support: false, + walletconnect: false, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: true, + multichain: true, + layer_2: false, + gas_fee_customization: false, + ens_support: true, + erc_20_support: true, + eip_1559_support: false, + buy_crypto: true, + withdraw_crypto: true, + multisig: false, + social_recovery: false, + onboard_documentation: "", + documentation: "", + }, ] export default walletData From 990a4357efcbce6329c7c0b0a9b914e0f9e6763d Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 24 Jun 2022 15:18:19 +0100 Subject: [PATCH 191/310] Add guarda --- src/data/wallets/wallet-data.ts | 46 +++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index 09120c8d445..384085222e7 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -1375,6 +1375,52 @@ const walletData: WalletData[] = [ onboard_documentation: "", documentation: "", }, + { + last_updated: "June 24, 2022", + name: "Guarda", + image_name: "guarda", + brand_color: "#ffffff", + url: "https://guarda.com/", + wallet_live_date: "2017", + active_development_team: true, + languages_supported: ["en"], + twitter: "https://twitter.com/GuardaWallet", + discord: "", + reddit: "https://www.reddit.com/r/GuardaWallet/", + telegram: "https://t.me/Guarda_community", + ios: true, + android: true, + linux: true, + windows: true, + macOS: true, + firefox: true, + chromium: true, + hardware: false, + open_source: false, + repo_url: "", + non_custodial: true, + security_audit: [""], + scam_protection: true, + hardware_support: true, + walletconnect: true, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: true, + swaps: true, + multichain: true, + layer_2: false, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: false, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + onboard_documentation: "", + documentation: "https://support.guarda.com/", + }, ] export default walletData From 1ef53772f471a8e68ce8af7ac19add2773631e9b Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 24 Jun 2022 15:26:24 +0100 Subject: [PATCH 192/310] Add web3auth --- src/assets/wallets/web3auth.png | Bin 0 -> 3499 bytes src/data/wallets/wallet-data.ts | 46 ++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 src/assets/wallets/web3auth.png diff --git a/src/assets/wallets/web3auth.png b/src/assets/wallets/web3auth.png new file mode 100644 index 0000000000000000000000000000000000000000..875563d9045c8088e8f0f0ce5907196d060b75b7 GIT binary patch literal 3499 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 Date: Fri, 24 Jun 2022 15:32:52 +0100 Subject: [PATCH 193/310] Add bridge wallet --- src/assets/wallets/bridge.png | Bin 0 -> 30752 bytes src/data/wallets/wallet-data.ts | 46 ++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 src/assets/wallets/bridge.png diff --git a/src/assets/wallets/bridge.png b/src/assets/wallets/bridge.png new file mode 100644 index 0000000000000000000000000000000000000000..51da90fba5559dacece320d6d6bdd770c018732a GIT binary patch literal 30752 zcmeFZ2UL?;_b;4K1%V(Upb&^y(2SsojiV3<9r#EGS;qu{KtlpQID>C2ZdxXI2xR?6+W%0<^+Y}hMEt0ufw70NjyBpB z=OS)xhqJ+od%L)S(GZA|inp7!trOM*VS{yWbj1jdRMZF~9PKc|Mlw2*I&SLN6OLNG z?pS?aT?1QRCtC$OVHIVBk~bPG;DYtAMtHk8yW-K_7~!RL(cm-fv4k*UX^4jtMp%uu zA;MVaFhU*Yjz!3dON!Y_N}>=*q^vknR$5M0RuqAfL?I<4Q4&Z6F_aV|faoe8UKz@bGX$OGtQmd5L>TiR0WIz+43d+8QX77#Jaj_i^>G_7-!+ zZ(ChK1B}=OobtAYtFRf{3D}i;!x?o*B@DfOI zB<)zs=XG&g8|;c-;VIy*gtxUD7%2JeKpmZb9_r$gQ!SHRXG~qq=d4l7tFy`cIWxLbSR-2Z-&ZwCB$M1#W)e?MoH z9Uc;H4&R(o!_noR$1k4}48ywOfw+JS|6;u6KTrK@AGdFC@*O+C58wn+YXrHSzC zCvg8krfWa19NW$oZI5$zu?Ea`bg_28O1QZ?(CBkR>j3E6S$kM(SbJbG!Zc8eNy>;x z${GMfBavuHnLUyyw4~(9V4R(!z0WTVRd>gN71xGJ(pE*H43P3@qyqTw+f|o_;@k~z zIOkQ>JMfoe5h!VKBx0A5qpKax3%`4b5FH)#0av_-wW}@mfCfewoI~8v(GG1bYilhj ziA0G>$)FU(WNoDF#cYt^FBv&$X=!^|YXut{nbr9kI9mcuNoezz?SLK57Ob(xIkcS} z7HcObX)R_W30AYQmX;H!Z8zdIHx|*K5BQQnQ&fl&|Ab{m$G*FWA z3Mgp>slEF(_9BrANNF{B83joVDWr^~yt@4A0!Oi~c8)YPS9i9?<1xZ+?l_!18b}>j zw!e6R*7vY>_aL|(cE{N}Is|b=(?`Y$U)$_!=xt73)~-P3y~XUX_SOVv z4`F3TTb!$s1kJ8GJA$E0pO$Aye6ton7r>ha*4@z)Yq#GW=Ym+Wd1%MKL!h0Ug0#G> zjhLO3jl7t>g0!`mg1wEcn4O)pt+X80S_*}g7G9YT@V16P8iMU;2>y-vxPOni~ z)^)7-5FJ1V2;sl+DJwsiV4a3dmw*q+dI#}VBA zmbzuL_HFV2CTgM`XcK5h0`bAJ4@4}lgjiZ?DGXQ{wH!rA(%kCO)Fr2E4RVUVVFoRZ z)I{T#Xj)#~=!B!ka>$^Gc3JY|z+bN{@39o096qY2zE59&<(WIp9;0NIgEJZh*d_bF z_Q1xO0BEKS_(q}r$F57vTv_p#ca{2KQz_ttmR4TgQwsHuTdM1r96}tW8P=sazq~6- zN_J(+>RFc~K~40^wz5Cpb{SK@z4IDVS9g~F{=||$-&vC;pWoehIfYmgE>d=t@yjQc zNB(?Yn$rEZ+sc8M@*DZ0q~w3T?_L1E-`!XG2LVefe77%B`k%491gsTv^1EB3e#G=D z>z6r=lv4QTBV&*<2ptSkQW9Z;QIJF&0v~^u1f;_1logaot$tso;b*7ENCFDL-X<7% z89>15*k1<@`U%j>KRO$v+$u%OLXi6z2!Q(2OwpPm{Jtq#Mb0V(+&tL$okPb#_35YaPux7}9 z8Hqm>Z{z&A{UKa!F_&Eob2%y=be`O1$Rwceh!1o|Tp?(R4OXm1r5rF!U0Oaa}6%NSD{X`FG>IWPm zjRpTo1k$Tf&k73w%fEGpNbvhVo1$d`Xn&hvP&5)ytJeIN^#DX#-x(vR@AUwfrhg`3 zNe`AO_*YUuO0EXFD@*`E$oEY684LgdR^y_7M}hR}kyj{Kv(GCykp4-wfdLMAl>+eb zUqxmzKZ;?ME6X$}{LCH#W4uZN;K#o(NT@aRuW$jiO3?}hKV!n0DgY1tZ}$H&_gb@% zD^fuHOc{Uz=+Lyl1S9>gC_pOwppM8NZSqg!Q?RiP2AE@D4`?K;BKen<5eatqP8*RR z)BR2xP(Mk?XdCO${xZSH(n$DygMdW-$c8lyU6zFWPjWMi3{4PVcR&J78`gsEUuMHv zSiS;95RZJz1mLOu*(NO^0mx#7fK^ZT%lji0RwcJW08(a^Co5o-{FzwdA?3ag>QEs4`)9(CNI4o|GIBJ+ z*0O^CnlR)KI70paB$VVo`?sTjnD01-SmpSCP1>*W?1wVACi>g*^U{ys)V4uIdg;;9 z9q!s?F73lNgI0mPRsh#@xAwuW;T=3SSgK1eT_i6RioV^Fw%B)fpGzaYt#~ijOK9p( zQ+@#L|A6VgW8o6c*OYAq=D%5o2HP$dD`?xVd9@!k>ObzjRvuf~eeL_Ql7U+7KSBBX z!>`3Mzq~u}^Q-b%D*Vf@8lvUh6@C_pe0%oaH+x9Q)$LXek6iPiD<%f{D-r3c>}7vj z^vJaUc$EOuDn%;<{OlIuJL&(v=lQEPxJrQZszg=@kog@E{C*e)Zsop5z+W-R3ITGz zL%{FXXpkTS{|CgPV>0CWj`PXOu%5TZbL#INh%+T>p+V2x=j z7(o4Cfl$8(!rx}VS{Amt|Js9P2%uJyav=xAmnEn z@?$aiw|THSVU+{2-xC0CIR2RfG}*7*Ytj7l>T~9V@$Yr?hnchnh##6AmPULN*{z0upxK)Cajnf8d|7K02aRqRVRz65 z{=kLnH3V`1bbYEBcqa~Z`6O;5BvHqV8tY?hP<158X?LM_ObQ3N4RqBWC!E|wkUO7C z8EclgSuuQ)*i&A*Wy3!Gn-%Z>C=Y*rH|w_ddWH>0I5j@hX@}b84$m)YJ(PXu;T3sz z*5LD8fU@AkVRYtfz}@lszPSVNo-KnO=u+ok0;KgmeKvi5I@}5#Br^mVgk(E18#7z! zD3Z_+r?=2nsBtq#J_qT#XVB`<;uE>NwNIXKIqeF6Uky_}TODf*DTL1nBn+nZ=PO!8 zUresgSKQVNkN$8L=h_61dB&lIe<;^B5~)RCW;o&}b9g``^^5@bYv`WWEA%N68UDV(Tu}#*EX{655-h-T!8QTz;63PBVsLEIx;q>=e_z2 zZKGs&P}< zygh1y+55wrC;=^vbeY4Dtcs^|@fur;DxQeqZs^?{3MQ&@K2Bk@kavc#m;g+EFvn?4 z?%~uJ+eA82RVx?h)ivzj)8ToSU^W*_6(r|2eY`P}lQi`Bktdi}OW!ksyi>8a$4sG( zU$&;~WHYvMKBCl`_*6Q6t*;UC8tIYB!Qg^nQQtLLZw4$3z!K*}+F4TtRkm zx7o}@%+R^9d+oA<#0rO(O;5do==}Q&KRdkb2)Jm+?DkGQo^&RL5dAzg7r)h)Ju zbVA-#MXzS2ow(Vq>^u>flrilESBG4*>I0$q%F8bsZ=2&>**g=gl<=P6XB5>NRkq=q zp_gVy#i|GB2eb)&chP5<_s@sgMXff)I-0~kG}Y=`HpY+ zWbq=Sl$?_v2Mh1}h>o5jkH+H{8m}BSH0GP_e(fv)T+84c8d+O-Rd^aE9u$hUO(EZ zGEWT7nKS;-U|3XeH%0anG5VQ6_nTzCz#h>-rOh+b^i+(tNdJ_HTH%44^larJXBSM` zj4J5;dTmo*zaU)i}H@TD<8 zr7<`!Ek5AjsOs7IQOj3@MCO^+5srDsTuRzkx2Pt{lLBQabltui3(CS^#DYaiKg)DrP`KXb$$ZFJHU~~2xZMrJ`KSS}_?R*YVCD^d{RTr16n7-^ z)u5kEO#vVo!Akq}W{+Fhp&^ok>Lh#M;v6W2ua4%7bt_mX7pD*|-aPUda?V0g?jbc{ zD0KSKjGq2UDLHAA`@Q>j(`&K*sxtjg6+HAnAcO4})bM}K{1xT>rCH`ZQBgwtFTNc3 ztiJx{j5b+{bRKFnh9{TZ7+KhQFZHPO(<_1gjT__IIDjo{RZW;Id@G^eqlo$_%ktJu%?mA1JH zi6c`c8rI0_Kce!=cudPH=w`s6!{z<5e9vedRd17{z; zmP|rW;D}qWKx{wJi@lHz_ufq9b7$cvWCGQ{q-y#dd0~39eG6vu{f!^W>C@)l)qwd? zu)@>sRbP#)M9^^AE)RBX*Xt7tB8lEy9pYwa?aTNrX&XNj)2Ge6i&gJ2lNx<6WzSgZ zn@jN+HhK7AC@^_y${(h5rb?)2Fm-Dk7FfzdvnGgGIN~;pn%YG9G*A9?G*?atX5KyG zp5R)!C4Fbf%-feynB-#}SDDxyWofR5v8r0Zi^lJ)Ao{roNAZ%g)g=>>dv>)YsCzwq zR%5Q|@NmJ*Zzw{lfzNX)p+k1Eib(Xa1!j-)F_t`Bz3uwre3h8zQ=hn_`(sLU0%wPK zsMXE6Q6Iw9ISytgS(IRKaKydWDWtHJ&v{Yp=)ITPQ)B%lwV1U&Qd~|81xVM0S?0=7 z6^39!Rxbs^oX19D&D{^!xBy{4eq<=C{+>o!^G4GaDfJ%W8{C)$hzW?nfd_Y8^AUU7 z%gK}7`O!MC=EJ2!Otbc`e|mH6X*YkbuDZ8pF$7@bWK*dAY-=F5w^NqsIS0o=rpn8@ zVLEc=U-R4al&7SxiJHoLaN@BV6I&2BVAQxKN-m$rI|h~cW?(pPhlm>Am5DraPeRS1 zF+Nab>b1Vf{W~MXQ?gzj{X~_HSL;JOf^OV8@aD`|SfFi|X?s;qC@`Iwq(GI)JQ(cb zt3whxHzg}iGX&OezXs)+neO4A?Jf=xH_w&JW1NP&jj5E}y{b7?aX7P;??l4Jeuk9w z{v)9Y)R!LX_=@S-OooK$=Ix`gW-SMMhB#*bY?O8udGl%!HMjZ1*LQkz^@#fExp%QA zFJ8DbGYYMq>l)!G@&mD%ws54Fbp z!!Yn=EKUUTP8CKRd!AAst^TL76z;fCnI)7ZZP7qw{%FpuDzPt2nKCefrt=|sIO~FRrMZN3^qtXoB1ON!pW?qym z3ORYPH;6hUQoNnrjDf>1UvaX^<*ajsP)OqS!720ue81Sh=+>N>uey{8f9 zYvlS1tmGKjjzOos4%O5g%b6sMY311l5N(uV=utODx;AQP1+2=;lNhz z+)p%PFL$m1VryNftTAw!yfiIw=<~yrcjs90@y&WquYnJ2=G_CWU>;NY)i6sRmGLGd)&-qaO zROa4p?8W!&yppZfc+n3Z9lHNh_q=;mS<1eO-SeFZ`u)V7&2BG)3tm6an z^tmqz=sT4@jCTOHXjtT~rm_d*CYH&)ADw1R+ID@e0Cu#pZ+_(MP2j=I-zLj+tOsH1 z!E3?BeB0@j@X=@Y_EdOBe-t1bH)Lmj1wD)YiohJ0IMJ)l_6o|Or^MRcNhv&eBAO!~ zHMYwRACI|_HsVBg+j#$gd{CO|zX}(B$>aPa{**ox7yeM1E?i!lMfH*OL5MJiJ{{+& zIIf`ZhgTpP0_hBh_mVpx8^U%&|6d)#gMIn*%^PE$`loDa+#_@XYy#_)PR{m-lg0-E zJ6x>q@wh3vF}rPa+cwHfK1qJwM3GI~a$iX!qxnG9#e3RYj?nQP`N8XpIG#$*LIiS{fuwX>RMw!1ky zBrb|emFe`ZYA*SwXbxndLq9RFfWzj{706LA{a|@p#RVmDAaDkW1Wu{l(Cwn(@8uvP zg^}vxVv|+o9>zO@&Vag!!l-vMqF}!H5<$t&CgXP>#?Xx*tL~aiC-C zIgPgxJA$B_tR7J@qccqu*CIBX3X1vkc!U2C%u_bk67{8gI#=LPb%hG*T)wDSy}K^M zjv!^mBlD)@ka+29i3HN0AWZu6k07APkafWhl=8aQ*E{0NiKX)%qcNI=9iNY>=RDkN zSi9~D#8=w?-0)DQ?4`uHev69gC$vfNZ;zkXJSl)I#2DJqk0(|(T{STwI(=il4Y zv8|p7%%VjyUsF0p>u-!yb=(~ThEI#kBsy%}?-5t|5sl_=oho{BnsL4S$Jfoqr3hZ; z4}I<@K>%egbC*Ff3~}BP>L)t3Nu=)sV2N#ucUiZe;;3xav_s24{y@5umAk&>g(UCi znWAQi&$zGAALw-eU=lsOt6}g1XX~~F#h?=7B9-vWRu}D}#ny>AQ2z3Mby-(LB=(x~ z@YNe5{z{owcSD_bW=MVMr1?a{i=a+a6}(qF5?M5@n?78AyN@zb35rnj6`O-A!-ia;eb| ze*(!I$G&tc>o(u(^*Kuk4fDojnU*1Qm_URhOvZvBYId8p&h+be-R1Zp&QNQ?c;l>v zPc&naF32~SRkwXTF*{w?L|JUUJ0@^(rp2&mJU)BNo|Y|&O_&Q~sI&6*#Myz2gq{m@ zA#h$dS?CA5f_kB_YOlm&y}(z%^IzZjx(E0%q=~e_T^Uch0M+w)N~ZZ%P(9yQmtUFs zH_qzN>Fxyaat(u$NY#l?4nB$}%DU${N4JEe8-a-8b)f6jlk9~riYOg8mFc%m5*N~i zUhDO^i$j3|Y#puixD|i7-3Ry(1tx9mn-ARi*~fC6wF_g8<{Y^>*YwhS9>F{(#ZZ5v5j{@~i%^qdRTH~gwx}>iYF8wsiCR>~>FX*y&R+O>DQF`L z@ZdSntc*vd*XAz--yadHxqU20Nw}WrVA1|omE&9vGnWw@{!dZ~15l(1L(N z65Psw2hN1MS9N3g zc}}RW7oR?Bjf_ zZ$}NCx9=yy6!?z3NrCM5nywO^#9SUPFvsOWUU~ZwcxtA4m?|;B$67#GFmlie6EC?X zmFG+~#i}B7o&_jF#_h3>)D**_OP>W6ZkzTRT1`b~DO6yP0oGh&cDpC5 zkRjXiVCvq#yQedWp_KZ_^op9w4gz*T#wdx$6O8o`OPzJUpbpKzlNP7S_3Bbr@g-iT$4kP zLE|0gKP?NLMF&$LMh>0bgc~C!%Hwkw5SRfT=<0bV!H(ROIoodO1U97anoBmiF(USS zCPOvd;Yqkm=I&pGIIrzno}MUuiVjM{UWG(HzmufISL6ck zzj<@|QK`vQY(IZ1bh}sC*8h`ZyT7OX|AJ8TJ}ACGnCY46i1bl(p7e%LMaV}n(PAEBsf7_9@{@r; zBYLB=)n140s=avVflhke!S^CSjgTT+f_0I^d z9S}{BoUnIEJiCx%`-~(;dZFGkCo!lxuFH~2I=#z+@eFBWjxF*&i#I5-q}=D&9(4u6 zx-f zF1iaE0gMcVE|>m%Ma)-^BmG1NFnZ^XAc6Hay@}<0_hU_K-X!T}h z%Ay8^iT_#DSQBOMAmUOQL$nkqL9)u_w(=i?Th)SSI-g@Z3y7w{&C@%Q1c;E67nCNe zZe@q?UE@;a0IqvueilIh6%E4lxogY8G`Gf>RB)bg?N;>)%w!cjCxq_|S5OS%JPztv z9I4JlIM`2&HDP`U+YuDOc*GCkc9kG-={oQ(%%;pQ_v{E_0}qj114U^whG(kVK!mMq z;wK0Gy&&L4d?!D8J?m2Au6ckCS8^+-nS2;Is`XTOeAeC`#W(2i_B(W1M>ro-Vg6r_ zdx7jix6%HK9V3_t3$8V--C9-vt_Kx!LgEf=Qe_1ZHoyPZkMD-p-F#CP@Xi3NR{HQ- z%K2?{qYn}1d#vCZ*Aiz~Br%)&b~YpIu9$-a_(FC_69K{kwsj&~6haET6x?>Z`ScUj zdq~n4|F5>e`oYbo`dFV)K`EEz8gv(wZFl&4RF}h>O)t4ecayh)7%qX(3oaiZ4NMk{ z0@nz0o4=a$6E)3bav3Dg48#mh*YWGN)du0!doJYAw+}DG3bmL7QY+fssJ3W+IZ>!_ z)!;S-s~Z1y-vO?{(Mui#z%>);YzE0x#QBn2b8&-5N}w}gO%!EY_*2i3uMJrsRq!D? zEG%?PjW6yv6zkr9E6P6Xqs7}B*gw;_0KPydbtvdaVCtg;khqj!Astn79TyZYCj`7L z^BQ{hFxRQQ)eN5ZDJm+>;djr{>I*!TIFku3Ka+MGv@)dQ8$rJV`u{5zZ~R(K5mx+RbaNe zLyR{4p`QEOc$@L*g#OM7&(z1f5+)BeCeLW_NC;&1WhMfN!Ctv)u%v2&J4BW@n3nyQ zCXzt_{1OF{mCexFomJfp>FnBzQ@(HR-y6ZwW}g#De)NEGoBoC`(bHcZ9)w^(Nf__Z zsM*(b`^HGT@~->lxJB-#A5KiaJ|2iY=|b&^dNq!!6{5s(3m>!qiHbb{un*7*)~>AX z@h<^Z037_;bbwM`y2ip275K(2J8@Ke&x@hs3gP}v4+3t9(q36~%u zm*uH~WWm|)$4lu)VUW3!SO(s*?n94jKe6nxuEN#Z7kF=T9bBS?Ab zmy$4Ra*N>*<>Yv=3dR5UpSv@XuJsi%p3{@Q%aG65d|4qt^xmeO4qV1uv&qjwwLmt2 z%#S>Bz4u15b@N3dH6eeuJbDhB8qBzlGh!g*^g&1h%T4diT_GoZCc2s^x&^dUM;TVy zba%m8=dl-x&?kne34Hbno9OrI-0uC-`A&O#vbGnYbXca{eCEehUd+4*+_7!`BeO9% z#}1TURio%1pPd>k1+~<;#OGbsso>^cxdj~_5TQ*|ZQkIqcef6_{tOb{!V{(DxX5vT zSmE{Z2?_1TUQ_dnwTYt)&pTX`Y%~@Qea;99pwoUaP_?jrZ;#aG(;#h7KpcP6EiDM_X_n=nw_r)013x{tZ^O*+<+NrTq9(2 z#8fQRiKL(NHsv9K)B#Gi+v@j&LvPUc>X{wLlqsQjC|EUIB1PU9VV~UCI=}$fd4#m- znPzi|XFt(?V+V+AE0Y%Fg}fcXEfh7mXX}-d7hU>y{;A*pZn*K|i&%W;soL9uMiNYz zJ!D_HrwoK#Z}r zIv>nGZzQ3hV8->+xNH{Uyi+R@!Wa0}GI$}DS_BULa4Fg3p-*906wf4d`wr%q2QEx~ zDQdGgkmG)s-QC^j(b@ z*E@56>*u36}T&vqx|Y>{Y7;OPhq$TIypw=|`L zE)a6I`k*VPL*l8k`wFFwgQf(Ns_OQ#Jumg*M*fu)>!egpdlw_`yxc216IUl)=XF(uay50SCqNOP}?x0EW&TD%#Kd zMx@@;_n!4brravoiM~6^8k~>I%JEWi%wVI%v{UOUjAcM&KMK*Y-v40E$sH|UxepaR znI0c}>FRiFkL_l^ zuM&tb%SC2mD)+jZ@-T<8pv3I}XO^z*0l@B2nUZzNy0xd?aY>oK0U0Fqoc>*zR_j0> z2MZ%}Yu^}0@mzdx;&upPZ1b_X!?I4L-F`gzsF3sqa66f)taRJJ=?i+ntfr)c647<4 z7M^X1qi_x&&ZjuH&ai!=rQ%iW3DmqMN-JM6^&{I``JF@fIgme^kaQf2W6qBF^(kJf z59}%!V~!Jn6wEEmNdkxC*y35%UAZ&Fe%cjm(pnD2KeW62^r*FuAtKynqO5M*jfeDE zSFtc_FVKl?K@0k>pU9vv?SGvez&v}zU>-Hv4pJz~*xleh<9HCnTOk3X_kMOT&!J{v z`j99|*`MD#`&h4)-wrFF?-0@4sAM+(M$xZWx1ye2ASr5kJGkO5<&&4HmkqLnN}SY- zpvc^N>IX!}H)=>8g4{lOt~W|W`Poii*|v{=hSqSu87=5Z0{25LH{T7=2RdG>%k25n z=&noyy~XucpWEm&KuTVd@@iHn-N4E3-Th`=V(!Z-ItP$v*Nash?x(4*C+YfY{=iaD zWEGP;!K>vzN!86VRZw_51>|v;l%a1tRZmg|sT^T2oS)$a;xRCa^sa3ry{G1DiW1{<&Z z6TG)zeBc5*{p(hdX{B-n=Ywv?YjAoIQAHw8^f8Cq^9G#uiUyqadyuL_%B7RicvGm~*1d(B-~`|R3ay=}9p zSC;7kf+gtSQV-t9W!g0k640qc7#>`^!gz+5j?A-N@RU+n$ER`XX5-D$Q{BNV`UtWgg3! zM}|%*-vJaMf?KpNzKKm~qKJM24m ziG+}NTBS{Fr$gX5wFJnO!FmHh)1JGA$;nTAg%019;h^V%m2GKWZ+;dlt#0s%^4RV; zbl&#K5a^k3C~(D}#iivp7zjO57&1~9r@jFk>2l_O_H1@TPrQ+~iAazUwljI^)?=8S zZz!;VWe4)`=>snV`Fg;W8+BKV)fcRCkqPJH_=Y=I2y{<<%kQ*->Pg7+Df=xdUICXM zpylLVGl&7aTbMR46A=P9{(6dc`XprJ{{H{!~eW~(2{iF9j zJSA){p%jSnzYwKW1CJWIeAI}ZWR>z(qDbDJ1K1m@*}-!lpi;JX8dYVv;{_|C#l*3M zT)Vj>wpcWvfo*=S20-8xyZ>iU$hbyeb9|11+AWyhual7XRW0jQ+BrZdzIzo0YBcdc z_ayP#?N8Z1*bJI5h^)m9COd=bWLXiDm=_8u)ZOot&KIY^3pj`Jk{+z%J7Sut+ zvd*&lb2c?)vgD0)o@p!D5u%K^y(?q>)A+lH4&p&W_DwR-N1&tuaG;%5ws6q)ma z3i6)n_}~Q-+16l#yvfAfmw|qsdS7#{@08k;p^N1dSh*F@4)sgHA3&-W-(Z1ZGE3Yp z&2DlGV$w*Zgo1?+1Cv_rH-~>P*l|gp$$VJn-2SccFaChq&Atu=t|}QzOgJ!mBWmQ3 zxBodHoSHWDS+*``xayXIgOI2OP;}9ng^(Em&07x^oqeXky=@mSY(m@AkcISRLnjlL z|F9~P5fy_YeXNc>!TmLMV4CSjr323p_mpVRq-zs?CNnwy>5UPGcH>G{^_?mS7vdlV z)jqbb**(7Eh&G+>ms;vVt78XjAIdtviF-ECBD^z5!~R}93$J)Vj99<6Yu$&}J{vZw z-i1AT`UaOx&&j{OmdDQBtvH;8tY^p$l7{0OEwC0@@fTa6++CL*UqHp{-vhtxd{}%r znX`BHOk3=g9%JUi9*1}&8tkUO2=9cv=%eOnd;6E{tgKEm-f1EtY93c_R2a^JXuegH z(7yBCR9DRC?4?U>j|}+M^V(0$MBLLAX`U0%*sgir7#gkxvhx3PuH61_rsX054Ikvw z(9qa!JIja=7JiS|1Q8Y%<~R!d|G)fyng^zKaMhzvo;=A`=iCf#e6dzAD+wzvD54r6-MeEMqfkcCPkU5Osvxmmxyzqql4@oX{TVBL9p_Kk>1a z$EEe5o8{IQZv6vd2X2G%Ajxz}A;YS9YSnLAo5k1`H_rHi<|zK!ZQJfh_S##^YA^=X zSj}l6z*);*0zDcUlIo4+gnq zMJt-`S=j0zUDli4LSz9lBWe1{yKw$tI%Vd0;?n)~w)Q=Br6x3%9QIb@#;s3eujG2u zC@&BbpUbGsAiLE;d_HR2 zLXb*!Z`o9s!TB_Lzs)n?Ry_9}$NsbWaiV(a8VDKq<;eE3EDB*8ACa-8HuF4CwNn>o96xQEREFvr`&R_wqW{kbnJR_6%Lt;vuL|`bxOM)xBm!ce!77PJHSVaF zRna3M{bQxVx12Gf=yG08o^9=Ys@6~HA2^4z2HgOs+&;RAeB{ZEaIJAyhU87N-4faK zn+dBlGJ%4uEGZ+Hgyz}sOnY4=04EVNKkQrmeRiqCAU3D~&|s6!mLYw z(fbJ++rTe`MasK909e}S|%@&7ia`d zhw{8T!?;#B-UQak*2&b#+R4(%(Wyg$qMZ7b?WdK?Yd*DVOO$MQGyi$SCFpT8HBh1J z)_${Qf9DC%B(f(69(0wYONu1rp2%Gn>jz&4w4f2qd1z$|9@-X~l=*7G62-T}&|HQ9 z_Iak#Ev25XGYCn^%DyUORq|o7B-zT!tm4jg=!ULAhE`K%n;T0)d~}Zvq=3grA3Zi^ zedyTk#yCn(4kJaW_c(Q&y&|D`rtM3?iFXfTCCmzD4D#*|<#sq1InN>81`lDb=Q1S& z1%bB)+hr~<6+>q=%S*+QjPKPOgFaNljJ_M)W=l9qJ|wxbyLkcX8RoeC@iLx8g(m%8pIVxvL7IXa#M*K zsZDLGtKEly3iDPsS?#-U zj!_-*L()g_o?)=85intQNzjnojKWj&Nd!t$S&dHLA`!Gy*dRGCyV5Tua7|*VKjB038(ml}1 z(v6O`Ue=HZH`>9Emh;XGSS)_fhNdufZ<+1RY5mi9cUwXRJr0{DAvn}jmRE1!$D1_w zzRvV`d5hr}FY;C;o7$`8rIIEay4EwcnK7g8EEBjv3<553;9ZvKsLH`$kN|s~BOnZE zr8N>USj4#Y(%sD6>2JN7&yA!OA``;ehGxRM?tG~cGLvYzCBroiT6&aEz#k!4rCfRJ z)%R!91dc1GG>FS_U|%1ns|1aIDrNxvw9fs?&EE7hbFZH?XOnJP^3o(_5q`qV#q52m zI;@#7^r0EO0I()P+4KXNOY(TSZWCZ$Ak;e-G*Eq!@(|K4c!K5xr7^q^S?T=Zo5lAvg^FY@6pBmv_9B>jCm$H;B2GMjTV0c*xnnD%veARwmM=fSAk< zivWjo_}oyF=G*aZS~2@m{zDFI`}=*FMMot0`z`oK%?4GAmmSIWFh*L{meIlyUK{QW z8@+Z@7mkhvolu)bk>rsa+f&CKnwdaRU7^Uv%Go)B)_H~T>QcBm#oGj&BJnDLGhx}6 zKRZH$+O&tz<+8WvYl#&s-UltR=I?`2st7$VU581nFs!XTKQgmpG4bubGZsEX!G(U! z!WJ(0rnuUkAbL>!d4Y~*UN$Tr(f~4Mw98>5G41{=-k?LSy_1x*4akz8yuRNzI_6cG zm)K>mPB#5#LaDT7oG?LxsAAr0hSUjf(|)35AqSlS)U*=WozVa$bk z%B&Zzu_?bg_pvqD7+h^gFe$T~aQ}LGpfeD5xuh%Z`H|qOSze!>K7?Uk(h(BGN;k`s z#^VK-#lN4%WzCoVK~dG2FoHNTK7P%s{(}AM?{-s=wLG}qo9Wz zwYh28-k^2?73^l6!IZxlfl`4n_i0t536jd1=mgi~$i6)naoQJjmpwtprCmLFF_eTP z?IvCB=a?)j)1t;i`E6&0dqflXd`?N_iC={+dTuyIE%~0q@qok)L#li?O!YmFdv7zxr;C;&oXf0HNA(<)Swa(Wtp#XW{2-_J4c+!Zpw<@k* zT!w#|F$A>RYmw2?Db$pKhQ_4%W4a1PxpI_L#hJ3{y0#ujAE@i#OqnmGfs%{T=oa!b z)vdaBB#xI~>5Wv3%qf2R9L?>-ALI|pLU>d5l|>D}qLo5jj{fUowx1o10Ih^4;To;! z5~CH|@-NZXB0A}{Awr-oJx~{%a1ZovZF1un-6;^4Oq}}MBH;5Orq$XwAx+VLw8$~L zav2AqG#t?Pb1arA^f{1;q}`FqX?=_&(5h-jrjQgs5skSuc>4_lCs8^Jwt1yF=fAbhA}^kAi8^&(ajTF zFo4kY0H_`^(@~j}TG7{(OzznL)DxY>(+|pBI=JERGJdR>VK=??%4^P>W4=(2lkGGm z#)<4*CiCa}^+*%oA_&BWT%Z;v6%+-j0Pf1GRsbLILX&>yKsS7}HqCGag@bPsz?FfIApPtuA>WxnV(UAMxoOKw;$V7;P}i|Z?@560#&{$dyFi6c9ir4R9whl zm`+O=)GOlH4)b83S?Y(Sl>XMa;DzQy(QSF)biKhbLZSo8tdtL++i)Ca^+(H=JbGm- zc$ic1+mm~A<=-*z07l-30u}u0YP{l0G1}&Q+Df4$hmGtzsk!tV;5DBR0>WfZTLO-* z+XY@5Jebd@wp#$u(8Z8p>B@a$M&(fo)oe4T zK!=@uuQvn$R1sQBFG8Pztkn+J6!MqOGR%4Y$Nfrq1bC;R@4<37I#5Upe2{MIyAHnH zG}T10aHc7uP{-Ux@`*uXrq|G9(22MB5JYj>DsFx2BRn@uYnE$@iGzz25l_o9aKCp? z#EqwGo8(;3WnSiP=ohY83(KhNWj+qnKuXtnd!k={c%=v&bQXb=#={H2J;-ui?|{-{ zIhC#GaBE=SSjhFQrzQtD$_v*ont{6JIc6*H6dtKG{`7)jo`wHug6QU1+G~je4#CUO zpEAv#T53~xwi#7|rW^pfxzO&}^@C1`*NhDS*qzGC7zcKyjOy39cEjk ze(opNaL>@+lAE#IM=_#mshpMT3!9UJjxcn$fR{dSaP4H!4wMW0I-R*Zp)_dt&8Wtp zYQcxs8z8kD3n{#yqj}|Q(Zl2vie++wB6tHN!lOsDWlII5hOrn>vc7@78@$z9(}<2f z0($Oipb~|V+qPknSeIoSpFxwcSvjRsynZ{v%o6l-I4-*z6=>wW$XhTMG6`I|T_zwN z0?^=~vY zEKUe$?o5=Y1N;VkO@$Yp)cKP@3&C5EDCU43g0}_*Bfuc_nKC1R439tq7)9?zh7RvD zmjG8(fv?cfH(76%YIw~KC;{~d_IMAf_<@3oJ6LY zm)ESzVW#dT`v94RZkcbENiq|}!8P|QgK9kwYaj#AHK`z+9sk91azG#!gNOpz1%n#1 zdqUy91Os67%Ltq__6R{N9N^5OcR>SaZFY#84tOz$q1zU&$&?IQVs@DM-q_WfzFrez z9#{7s#mh`}q&_>rws=|fHY9|~n=dr4ZWYWF$lqM{2{kB>Iy`glRueB2T!9&o4-d*8 zEryn)O9y}}2S1G4X@USIj)8V>DhEt54aK|N&Ref5fog*5FdQ;Mtvs2%v*84HPY7B% z{Cx(9Tr69I({A@`Lb^}DRhcXRHKyPUhQL)bc7t<9aYz6z5S*E*fj}C0t>hF~vqEhs z^My^mY`dKS=!L=g)>UXyx>>$}x0t-%B~EC?H(+AT zYGY7=zM{L+gj49euM!}e48X<$A#KkE$<3nt!gw2SIIEr zb?Xx$lp0R6@1(4pUM&-a$toGxyylT7^*590cFmS$>X5X0G?mZbpHa!wEIPJDW?Q+L zl+-^1(-IHKiEJ|2T6^Ut52Ue(1A!g6j?4Wl40?JG1<9GzBBMAw`(A8BVyZ^G*sc#l z!T@^%t(uD2PM~==Eo9yb70_oj0^y1u;_LNTCCAG_S(N!2jyKQI;XakXg3W_2n5`|( z7LPoKr@l(&6B<~*6FzNGUY2=>BVN#q^|l)$0-AIijh8@u z>JPVKwdPuIr5xzcl)K#uEt2E_*L=<@SIm76;(eC@**$lL0NI~R@7=0acWa#&)|gwe z(M2!9(i)7;YAVa54<$bGy+JdDM)YAoEH{Nf8k|Gm+`rg>4)XEKJ(gpRg+G!6QO00U zl9cOo6~O-fCoTtB)A7wPz{VHGUiPGx)>GRv4>LkW83rLoKYd730g{v>YYfVN8f$EY zvf0i)sPVGv{Bjk{t+af-dttY42VRGt1J zk*_4xJH6dMwBZQ9tWL5cT>a8{Lx_MAT=jhQ;QPmc&AOo7SkRF2LS%r7?d&E3d~93r zWAG^*5STg+^gv41Gm)_Fz#rN)TZ~Gzfoq;$>{y1_X7KM)^vHmJ5+p5y1-!c^Lazwk zR9GN&pq%vzj=eE2vU_(rDZTdk-d);Ih=4U*^?&WuzI53J!PDv&zCLn#%^)=4tBSfX z&?CH(+cj@$maLogszfeV);XvvgyBs-(0T8GYc955bCj?IE`_cXd3gQYOv&xbGwZl> ztitaCGf~vFd;1@zyq1_0w1g=^9vEC-f?qT6$fn31kok9MRhZi@1K?&3_epR6aQ(jt zEZk=USGzCXV43~+*H`~7eTtf{S`6Pd@F}-5r`to(-JpUXK zvvl1Bo41$pcxnbQPWZ~A7OC}SdZr%mY!#L_X|l&<>XKz0m^SSz_;#u1wy<>T*~o5j z-4nlime>X}8c5}B<2!I--8IHDkIjLzpbr{&Ztq$OT-0CP_O^5Gp=WDUyT$dlL7Xrx zntj5eLv=HsP5dhS@>l6<;Bv|nn+mQ?{&y$v#++_&vRrdB$;B zps@<4mAv==ySwq2Rl^pYs4XX~T8{J}=Am4zn1FLnO18s#`eoE}XmgCe{{K9;@L$-a QQ1BhTp00i_>zopr0QN&T*8l(j literal 0 HcmV?d00001 diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index 0304daf7645..a69f339dfc3 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -1467,6 +1467,52 @@ const walletData: WalletData[] = [ onboard_documentation: "https://web3auth.io/docs/", documentation: "", }, + { + last_updated: "June 24, 2022", + name: "Bridge wallet", + image_name: "bridge", + brand_color: "#ffffff", + url: "https://www.mtpelerin.com/bridge-wallet", + wallet_live_date: "April 2020", + active_development_team: true, + languages_supported: ["en", "fr", "de", "it", "es", "zh", "zh-tw"], + twitter: "https://twitter.com/mtpelerin", + discord: "https://discord.gg/WErDKTvMr7", + reddit: "", + telegram: "https://t.me/mtpelerinchat/", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: false, + repo_url: "", + non_custodial: false, + security_audit: [""], + scam_protection: false, + hardware_support: false, + walletconnect: false, + rpc_importing: false, + nft_support: false, + connect_to_dapps: false, + staking: false, + swaps: false, + multichain: false, + layer_2: false, + gas_fee_customization: false, + ens_support: false, + erc_20_support: false, + eip_1559_support: false, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + onboard_documentation: "", + documentation: "", + }, ] export default walletData From f3d35203dc78b6d31e565860e595b2dba7e422c0 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 24 Jun 2022 15:43:32 +0100 Subject: [PATCH 194/310] Add torus --- src/data/wallets/wallet-data.ts | 73 +++++++++++++++++++++++++++------ 1 file changed, 61 insertions(+), 12 deletions(-) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index a69f339dfc3..a058409039f 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -43,6 +43,7 @@ interface WalletData { social_recovery: boolean onboard_documentation: string documentation: string + mpc?: boolean } const walletData: WalletData[] = [ @@ -1466,6 +1467,7 @@ const walletData: WalletData[] = [ social_recovery: false, onboard_documentation: "https://web3auth.io/docs/", documentation: "", + mpc: true, }, { last_updated: "June 24, 2022", @@ -1490,29 +1492,76 @@ const walletData: WalletData[] = [ hardware: false, open_source: false, repo_url: "", - non_custodial: false, + non_custodial: true, security_audit: [""], - scam_protection: false, + scam_protection: true, hardware_support: false, - walletconnect: false, - rpc_importing: false, + walletconnect: true, + rpc_importing: true, nft_support: false, - connect_to_dapps: false, + connect_to_dapps: true, staking: false, swaps: false, - multichain: false, - layer_2: false, - gas_fee_customization: false, + multichain: true, + layer_2: true, + gas_fee_customization: true, ens_support: false, - erc_20_support: false, - eip_1559_support: false, - buy_crypto: false, - withdraw_crypto: false, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: true, multisig: false, social_recovery: false, onboard_documentation: "", documentation: "", }, + { + last_updated: "June 24, 2022", + name: "Torus", + image_name: "torus", + brand_color: "#0364ff", + url: "https://tor.us", + wallet_live_date: "May 2019", + active_development_team: true, + languages_supported: ["en"], + twitter: "https://twitter.com/web3auth", + discord: "https://discord.gg/web3auth", + reddit: "", + telegram: "https://t.me/web3authdev", + ios: false, + android: false, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: true, + repo_url: "https://github.com/torusresearch/torus-website", + non_custodial: false, + security_audit: ["https://web3auth.io/docs/overview/audits"], + scam_protection: false, + hardware_support: false, + walletconnect: true, + rpc_importing: true, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: false, + multichain: true, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: true, + social_recovery: false, + onboard_documentation: "", + documentation: "https://web3auth.io/docs/", + mpc: true, + }, ] export default walletData From 4eb439b20a74e2e6b9da9dec10cfeb5c15f91d74 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Fri, 24 Jun 2022 15:51:51 +0100 Subject: [PATCH 195/310] Add tokenpocket --- src/data/wallets/wallet-data.ts | 57 +++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index a058409039f..55e795659fd 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -1562,6 +1562,63 @@ const walletData: WalletData[] = [ documentation: "https://web3auth.io/docs/", mpc: true, }, + { + last_updated: "June 24, 2022", + name: "TokenPocket", + image_name: "tokenpocket", + brand_color: "#2980fe", + url: "https://www.tokenpocket.pro/", + wallet_live_date: "April, 2018", + active_development_team: true, + languages_supported: [ + "en", + "ph", + "hi", + "jp", + "ko", + "ru", + "zh", + "es", + "th", + "zh-tw", + ], + twitter: "https://twitter.com/TokenPocket_TP", + discord: "", + reddit: "", + telegram: "https://t.me/tokenPocket_en", + ios: true, + android: true, + linux: false, + windows: true, + macOS: true, + firefox: false, + chromium: true, + hardware: false, + open_source: false, + repo_url: "", + non_custodial: true, + security_audit: [""], + scam_protection: false, + hardware_support: true, + walletconnect: true, + rpc_importing: false, + nft_support: true, + connect_to_dapps: false, + staking: false, + swaps: false, + multichain: false, + layer_2: false, + gas_fee_customization: false, + ens_support: false, + erc_20_support: false, + eip_1559_support: false, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + onboard_documentation: "", + documentation: "https://help.tokenpocket.pro/developer-en/", + }, ] export default walletData From d08d3569e510c769b73819c0eab2132115e850e1 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Fri, 24 Jun 2022 15:54:35 +0100 Subject: [PATCH 196/310] add a helper microcopy to the personas tab --- src/components/FindWallet/WalletPersonasSidebar.tsx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 7d59f5406cc..0f45df10cd8 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -145,6 +145,16 @@ const H3 = styled.h3<{ selected: boolean }>` margin-bottom: 0; font-size: 1.3rem; padding: 0 0.25rem; + line-height: 1.7rem; +` +const H4 = styled.h4` + margin: 0; + font-weight: normal; + font-size: 0.875rem; + padding: 0 1.2rem; + line-height: 1.3rem; + text-align: center; + color: ${(props) => props.theme.colors.secondary} ` const Grid = styled.div` @@ -521,6 +531,7 @@ const WalletPersonasSidebar = ({ return ( +

Choose the profile that matches your type of user and filter the wallet list

{personas.map((persona, idx) => { return ( Date: Fri, 24 Jun 2022 15:54:39 +0100 Subject: [PATCH 197/310] Add image imports on find-wallet --- src/pages/wallets/find-wallet.tsx | 55 +++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 95b13da9926..d1d7f48626d 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -540,5 +540,60 @@ export const query = graphql` gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } + pillar: file(relativePath: { eq: "wallets/pillar.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + mew: file(relativePath: { eq: "wallets/mew.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + unstoppable: file(relativePath: { eq: "wallets/unstoppable.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + myetherwallet: file(relativePath: { eq: "wallets/myetherwallet.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + alpha: file(relativePath: { eq: "wallets/alpha.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + opera: file(relativePath: { eq: "wallets/opera.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + guarda: file(relativePath: { eq: "wallets/guarda.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + web3auth: file(relativePath: { eq: "wallets/web3auth.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + bridge: file(relativePath: { eq: "wallets/bridge.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + torus: file(relativePath: { eq: "wallets/torus.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + tokenpocket: file(relativePath: { eq: "wallets/tokenpocket.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } } ` From ddfc458653f07661a65f1e454cd30bf0f4585aca Mon Sep 17 00:00:00 2001 From: Pablo Pettinari Date: Fri, 24 Jun 2022 13:22:59 -0300 Subject: [PATCH 198/310] update ethlatam website --- src/data/community-events.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/community-events.json b/src/data/community-events.json index 7b28ab9d9a4..90701ebc4bf 100644 --- a/src/data/community-events.json +++ b/src/data/community-events.json @@ -307,7 +307,7 @@ }, { "title": "ETHLatam", - "to": "https://twitter.com/ethlatam", + "to": "http://ethlatam.org/", "sponsor": null, "location": "Buenos Aires, Argentina", "description": "A 4-day conference that builds upon the work of the local pioneers that laid the foundations for a vibrant community that made crypto mainstream in Argentina.", From e75f196fc6e135a44b0d527995745cfd92b688ac Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Fri, 24 Jun 2022 17:26:32 +0100 Subject: [PATCH 199/310] remove the primary color --- src/components/FindWallet/WalletTable.tsx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 4ed6441da08..1eed76bc53b 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -37,10 +37,7 @@ const Container = styled.table` th{ font-weight: normal; p{ - font-size: 0.8rem; - strong{ - color:${(props) => props.theme.colors.primary}; - } + font-size: 0.9rem; } } ` From a04563a9dd6f0b965f1e040920467db0462de587 Mon Sep 17 00:00:00 2001 From: Nuno Date: Sat, 25 Jun 2022 12:24:20 +0100 Subject: [PATCH 200/310] eip1559 icon ready to be pulled in --- src/assets/wallets/eip1559.svg | 5 +++++ .../FindWallet/WalletFilterSidebar.tsx | 1 + .../FindWallet/WalletPersonasSidebar.tsx | 8 ++++++-- src/components/FindWallet/WalletTable.tsx | 18 +++++++++--------- 4 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 src/assets/wallets/eip1559.svg diff --git a/src/assets/wallets/eip1559.svg b/src/assets/wallets/eip1559.svg new file mode 100644 index 00000000000..854f73debbf --- /dev/null +++ b/src/assets/wallets/eip1559.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 9e9cd47bc27..a0d12204761 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -28,6 +28,7 @@ import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" import Multisig from "../../assets/wallets/multisig.svg" import SocialRecover from "../../assets/wallets/social_recover.svg" import Swap from "../../assets/wallets/swap.svg" +import Eip1559 from "../../assets/wallets/eip1559.svg" import { filter } from "lodash" // Styles diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 0f45df10cd8..ef2bd01fe4f 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -24,6 +24,7 @@ import WithdrawCrypto from "../../assets/wallets/withdraw_crypto.svg" import Multisig from "../../assets/wallets/multisig.svg" import SocialRecover from "../../assets/wallets/social_recover.svg" import Swap from "../../assets/wallets/swap.svg" +import Eip1559 from "../../assets/wallets/eip1559.svg" // Styles const Container = styled.div` @@ -154,7 +155,7 @@ const H4 = styled.h4` padding: 0 1.2rem; line-height: 1.3rem; text-align: center; - color: ${(props) => props.theme.colors.secondary} + color: ${(props) => props.theme.colors.secondary}; ` const Grid = styled.div` @@ -531,7 +532,10 @@ const WalletPersonasSidebar = ({ return ( -

Choose the profile that matches your type of user and filter the wallet list

+

+ Choose the profile that matches your type of user and filter the wallet + list +

{personas.map((persona, idx) => { return ( props.theme.breakpoints.l}) { padding: 25px 1rem; @@ -246,7 +247,7 @@ const FlexInfoCenter = styled(FlexInfo)` justify-content: center; cursor: pointer; height: 100%; - display:flex; + display: flex; ` const Image = styled(GatsbyImage)` @@ -358,20 +359,19 @@ const Socials = styled.div` color: ${(props) => props.theme.colors.primary}; margin: 0; } - a{ + a { height: auto; align-items: center; display: flex; - :hover{ - opacity:0.8; + :hover { + opacity: 0.8; } } - ` const LastUpdated = styled.p` color: ${(props) => props.theme.colors.text300}; - margin:2rem 0; + margin: 2rem 0; font-size: 0.875rem; ` From dc6012bdfb7bec0db2a8a95dfc6dca0052dad34e Mon Sep 17 00:00:00 2001 From: Patrick Aljord Date: Sat, 25 Jun 2022 16:51:08 +0400 Subject: [PATCH 201/310] Add community meetups in the UAE --- src/data/community-meetups.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/data/community-meetups.json b/src/data/community-meetups.json index 7d494b72d56..a2b9df76535 100644 --- a/src/data/community-meetups.json +++ b/src/data/community-meetups.json @@ -280,5 +280,17 @@ "emoji": ":us:", "location": "Chicago", "link": "https://www.meetup.com/Chicago-Ethereum-Meetup/" + }, + { + "title": "Web3Dubai", + "emoji": ":uae:", + "location": "Dubai", + "link": "https://www.meetup.com/web3dubai/" + }, + { + "title": "DeFi Dubai", + "emoji": ":uae:", + "location": "Dubai", + "link": "https://www.meetup.com/defi-dubai/" } ] From 97c3413b048bf1aa0b822af71630543adafb8f53 Mon Sep 17 00:00:00 2001 From: Nuno Date: Sat, 25 Jun 2022 19:10:45 +0100 Subject: [PATCH 202/310] nem ENS icon --- src/assets/wallets/ens_support.svg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/assets/wallets/ens_support.svg b/src/assets/wallets/ens_support.svg index 4a4324fe30c..7340241a682 100644 --- a/src/assets/wallets/ens_support.svg +++ b/src/assets/wallets/ens_support.svg @@ -1,4 +1,4 @@ - - + + From 3d1e942d62baa8ee5e0d8e788716373c935444b7 Mon Sep 17 00:00:00 2001 From: vdusart Date: Sun, 26 Jun 2022 12:58:58 +0200 Subject: [PATCH 203/310] fix comments --- src/components/Layer2/Layer2Onboard.tsx | 21 ++++++++++++--------- src/components/Layout.tsx | 12 +++--------- src/types.ts | 2 ++ 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/components/Layer2/Layer2Onboard.tsx b/src/components/Layer2/Layer2Onboard.tsx index 7f86965c294..fbfc74e0fed 100644 --- a/src/components/Layer2/Layer2Onboard.tsx +++ b/src/components/Layer2/Layer2Onboard.tsx @@ -182,16 +182,19 @@ interface Layer2 { export interface IProps { layer2DataCombined: Array - ethIcon: any + ethIcon: string + ethIconAlt: string } -const Layer2Onboard: React.FC = ({ layer2DataCombined, ethIcon }) => { +const Layer2Onboard: React.FC = ({ + layer2DataCombined, + ethIcon, + ethIconAlt, +}) => { const intl = useIntl() - const [selectedExchange, setSelectedExchange] = useState< - Exchange | undefined - >(undefined) - const [selectedL2, setSelectedL2] = useState(undefined) + const [selectedExchange, setSelectedExchange] = useState() + const [selectedL2, setSelectedL2] = useState() return ( @@ -221,7 +224,7 @@ const Layer2Onboard: React.FC = ({ layer2DataCombined, ethIcon }) => { l2.value = l2.name return l2 })} - onChange={(selectedOption) => { + onChange={(selectedOption: Layer2) => { trackCustomEvent({ eventCategory: `Selected layer 2 to bridge to`, eventAction: `Clicked`, @@ -278,7 +281,7 @@ const Layer2Onboard: React.FC = ({ layer2DataCombined, ethIcon }) => { cex.value = cex.name return cex })} - onChange={(selectedOption) => { + onChange={(selectedOption: Exchange) => { trackCustomEvent({ eventCategory: `Selected cex to onboard`, eventAction: `Clicked`, @@ -294,7 +297,7 @@ const Layer2Onboard: React.FC = ({ layer2DataCombined, ethIcon }) => { /> - + {selectedExchange && ( diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx index f984c66498d..323619d3569 100644 --- a/src/components/Layout.tsx +++ b/src/components/Layout.tsx @@ -26,6 +26,8 @@ import { scrollIntoView } from "../utils/scrollIntoView" import { isMobile } from "../utils/isMobile" import { SkipLink, SkipLinkAnchor } from "./SkipLink" +import type { Context } from "../types" + const ContentContainer = styled.div` position: relative; margin: 0px auto; @@ -60,14 +62,6 @@ const Main = styled.main` flex-grow: 1; ` -interface PageContext { - intl: any - isContentEnglish: boolean - isLegal: boolean - isOutdated: boolean - ignoreTranslationBanner: boolean -} - export interface IProps { data?: { pageData?: { @@ -80,7 +74,7 @@ export interface IProps { hash: string } path: string - pageContext: PageContext + pageContext: Context } const Layout: React.FC = ({ diff --git a/src/types.ts b/src/types.ts index fa512ff0dbf..26ab1faa98e 100644 --- a/src/types.ts +++ b/src/types.ts @@ -16,7 +16,9 @@ export type Context = { relativePath: string intl: Intl language: Lang + ignoreTranslationBanner?: boolean isOutdated: boolean + isLegal?: boolean isContentEnglish?: boolean } From 2b31ba6051a56c8ab82eb69b951b036924832056 Mon Sep 17 00:00:00 2001 From: nysxah Date: Sun, 26 Jun 2022 07:03:48 -0400 Subject: [PATCH 204/310] update QuickNode QuickNode rebranded + product, feature & industry updates --- .../nodes-as-a-service/index.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/content/developers/docs/nodes-and-clients/nodes-as-a-service/index.md b/src/content/developers/docs/nodes-and-clients/nodes-as-a-service/index.md index 15251e43aba..87c24a99677 100644 --- a/src/content/developers/docs/nodes-and-clients/nodes-as-a-service/index.md +++ b/src/content/developers/docs/nodes-and-clients/nodes-as-a-service/index.md @@ -183,13 +183,20 @@ Here is a list of some of the most popular Ethereum node providers, feel free to - The most private, censorship-resistant option - Hands-on developer support - [Pocket Portal](https://bit.ly/ETHorg_POKTportal) dashboard and analytics -- [**QuikNode**](https://www.quiknode.io/) +- [**QuickNode**](https://www.quicknode.com) + - [Docs](https://www.quicknode.com/docs/) - Features - - 7 day free trial - - Varied support - - Webhooks - - Dashboard - - Analytics + - Industry-leading performance and reliability + - 24/7 technical support & dev Discord community + - Geo-balanced, multi cloud/metal, low-latency network + - Multichain support (Optimism, Arbitrum, Polygon + 11 others) + - Middle-layers for speed & stability (call routing, cache, indexing) + - Smart-Contract monitoring via Webhooks + - Intuitive dashboard, analytics suite, RPC composer + - Advanced security features (JWT, masking, whitelisting) + - NFT data and analytics API + - SOC2 [Certified](https://www.quicknode.com/security) + - Suitable for Developers to Enterprises - [**Rivet**](https://rivet.cloud/) - [Docs](https://rivet.readthedocs.io/en/latest/) - Features From a3866cf791031fd9bcd67823b3df76edc0af78f2 Mon Sep 17 00:00:00 2001 From: nysxah Date: Sun, 26 Jun 2022 07:10:54 -0400 Subject: [PATCH 205/310] update to QuickNode "QuikNode" rebranded to "QuickNode" in 2021 --- .../developers/docs/nodes-and-clients/run-a-node/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md index c769b2eec8f..50eafe07faa 100644 --- a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md +++ b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md @@ -47,7 +47,7 @@ To simplify, let's think about running a node on both a local physical machine a Both options have different advantages summed up above. If you are looking for a cloud solution, in addition to many traditional cloud computing providers, there are also services focused on deploying nodes. For example: -- [QuikNode](https://www.quiknode.io/) +- [QuickNode](https://www.quicknode.com/) - [Blockdaemon](https://blockdaemon.com) - [LunaNode](https://www.lunanode.com/) - [Alchemy](https://www.alchemy.com/) From 905351f60f05c6a5b4a68db1c0b87ac463ff8660 Mon Sep 17 00:00:00 2001 From: Ikko Ashimine Date: Mon, 27 Jun 2022 11:33:53 +0900 Subject: [PATCH 206/310] Fix typo in optimism-std-bridge-annotated-code/index.md recieve -> receive --- .../tutorials/optimism-std-bridge-annotated-code/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/translations/ro/developers/tutorials/optimism-std-bridge-annotated-code/index.md b/src/content/translations/ro/developers/tutorials/optimism-std-bridge-annotated-code/index.md index 0b1ba32bb31..5bac34ca543 100644 --- a/src/content/translations/ro/developers/tutorials/optimism-std-bridge-annotated-code/index.md +++ b/src/content/translations/ro/developers/tutorials/optimism-std-bridge-annotated-code/index.md @@ -329,7 +329,7 @@ contract CrossDomainEnabled { * Variables * *************/ - // Messenger contract used to send and recieve messages from the other domain. + // Messenger contract used to send and receive messages from the other domain. address public messenger; /*************** From e6d315ed6c87c160e9cb2241b000a622c9c8a372 Mon Sep 17 00:00:00 2001 From: Nuno Date: Mon, 27 Jun 2022 08:58:21 +0100 Subject: [PATCH 207/310] add padding left to wallet logo in the table --- src/components/FindWallet/WalletTable.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 20eb4b5bba6..f6306939096 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -229,6 +229,7 @@ const FlexInfo = styled.div` display: flex; gap: 1rem; align-items: center; + padding-left: 0.3rem; p { padding: 0; From 8bee0c7911c8c72ff4f2cd11e9989501e577eec5 Mon Sep 17 00:00:00 2001 From: Joe Date: Mon, 27 Jun 2022 10:27:39 +0100 Subject: [PATCH 208/310] adds energy expenditure graph --- src/content/energy-consumption/energy.png | Bin 0 -> 18965 bytes src/content/energy-consumption/index.md | 5 +++++ 2 files changed, 5 insertions(+) create mode 100644 src/content/energy-consumption/energy.png diff --git a/src/content/energy-consumption/energy.png b/src/content/energy-consumption/energy.png new file mode 100644 index 0000000000000000000000000000000000000000..1733a392f0bce2aa79e59956c4d69c29e079b861 GIT binary patch literal 18965 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 literal 0 HcmV?d00001 diff --git a/src/content/energy-consumption/index.md b/src/content/energy-consumption/index.md index 61cdea07d50..18ba13fc4c0 100644 --- a/src/content/energy-consumption/index.md +++ b/src/content/energy-consumption/index.md @@ -38,6 +38,11 @@ More relevant is the overall energy consumption and carbon footprint of the netw [Digiconomist provides whole-network energy consumption and carbon footprints for Bitcoin and Ethereum](https://digiconomist.net/ethereum-energy-consumption). At the time of writing this article, Ethereum's total energy consumption is ~112 TWh/yr, comparable to that of the Netherlands, with a Carbon emission equivalent to that of Singapore (53 MT/yr). For comparison, Bitcoin currently expends about 200 TWh/yr of energy and emits about 100 MT/yr C, while generating about 32,000 T of electrical waste from obsolete hardware annually. Switching off Ethereum's proof-of-work in favor of proof-of-stake will reduce this energy expenditure by more than 99.95%, implying that the total energy expenditure for securing Ethereum is closer to **0.01 TWh/yr**. +![Comparison of energy expenditure across industries](./energy.png) + +_Note that the estimates presented in the plot are from publicly available sources that have been linked to in the text below. They are +illustrative and do not represent an official estimate, promise or forecast._ + To put Ethereum's energy consumption in context, we can compare annualized estimates for other industries. If we take Ethereum to be a platform for securely holding digital assets as investments, perhaps we can compare to mining gold, which has been estimated to expend about [240 TWh/yr](https://www.kitco.com/news/2021-05-17/Gold-s-energy-consumption-doubles-that-of-bitcoin-Galaxy-Digital.html). As a digital payments platform we could perhaps compare to PayPal (about [0.26 TWh/yr](https://app.impaakt.com/analyses/paypal-consumed-264100-mwh-of-energy-in-2020-24-from-non-renewable-sources-27261)). As an entertainment platform we could perhaps compare to the gaming industry which has been estimated to expend about [34 TW/yr](https://www.researchgate.net/publication/336909520_Toward_Greener_Gaming_Estimating_National_Energy_Use_and_Energy_Efficiency_Potential), or Netflix which expends about [94 TWh/yr](https://www.carbonbrief.org/factcheck-what-is-the-carbon-footprint-of-streaming-video-on-netflix), or Youtube which has been estimated to expend about [244 TWh/yr](https://thefactsource.com/how-much-electricity-does-youtube-use/). Estimates of Youtube's energy expenditure have been broken down by channel and individual videos. [Those estimates](https://thefactsource.com/how-much-electricity-does-youtube-use/) imply that people consumed 45 times more energy watching Gangnam Style in 2019 than proof-of-stake Ethereum will use in a year. ## A greener Ethereum {#green-ethereum} From 3764ca5e7754f89c4d602715d3c1ec54986b062d Mon Sep 17 00:00:00 2001 From: Nuno Date: Mon, 27 Jun 2022 10:41:48 +0100 Subject: [PATCH 209/310] changed the colors for better theme wide fit --- src/content/energy-consumption/energy.png | Bin 18965 -> 19493 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/content/energy-consumption/energy.png b/src/content/energy-consumption/energy.png index 1733a392f0bce2aa79e59956c4d69c29e079b861..79c120b45fc55fb93c6069ca5d49aec194b4adfb 100644 GIT binary patch literal 19493 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 XoW}esDb%z^#Mf07wG=Aktl#}#C4!78 literal 18965 zcmdtK2T)UAyEhsO=pO`BL<9s>EEECh(t8o4H|a`|5<(9>prW8CqSAYnP9i0g(8Pv< z(jl}EkP=Af5D)_7u6W+>-kERan>pW|_uhNXWyT5a>}+;fYdydATj<;XML&hAnMYKqXIg) zB6<9SNhi-?**_x3_bfD_r7xQp=qeuW+T`39C_Ow7I$Dm)zwgQWLi7I1Xp0bmrz!7Z zua1acxtgdSJlbo1NMKh~ND)K5VHYP*Lb5MQ5GEUcPRRQc_E%(gCIaUr?3Q7%Eq2b{ z1P*X|kmoR)C0J<-x2LNTqXyOEq&jWmzTeNuh;ZZqL3-1Q@eFOtpIN=_?IHgqWp~=u zL-qsuWdGxrp~ptY!G@2}r&nli*z=t`0$$cQ^G<@7N7$3#mO&uRTKq@B%aoMb--Dsf z#L~6~$Ng9SsK=3G^rud8)HW2|TlJI&*D|8b@1Z5(+P&nzwa_;%<27-6@yiR=pf>Wb zjn%Zz?bf0Y^W9;Em*<5!&BizCyz$wHsgIBE(8D`_{nGa**+sI8*rpm|o2^$9ZWuCS z>rPer!}N}UO?b9EhVJ6J?KAamYirBLz`%f-J|DUHOQwco zJ-IYmV@lax=8`T+7#^sspG=pI*#Cn?Px40mnU<=@1&-$~^zw~q1x@&Nu&b5Kw@?o$ z606Od-A9FI=29F)_EI8uQ}WPs*5K~f!k*?o-1vBmrEq1Wicj3>+bc)K$y#?)mj@3X zykOG)(YIN4&53$=kd)q5 zQ{YP@V%^dG)%Vk^6Ga+l-+h6iTBIXqzQq*>#F21KLHWYtTsKYKmPc!D5ZJ+J{Bp@U z*7`ZdnTbcCfuPQ!7@!O7sdnl5RzjyEd`C*rFewP$L{V_gdpohK(b(Ad9{Cg9EO44O zJA&hl29KKk6G<#Bu8!Cn$T?5{Io@F2Qb-H-xWjysH+-#qh(4}}95xdtvmMW@>=9zh z-Zb`vAAEA(57}bp+Ut4FQ}X!}OdHO(gFEtMGIhySnTxzfLV34sbPB2SX}!|<`Te`j z;YLbZIFd;>rINBaB*KJC|L?rRYJ`hnl_0Sl*59bgZk zc#SLO^bWZn8$Cy>mt_6tD@6GD`B@B_{``I^4^?^jmQUOM?9H~{u|n^Z_t!o%Fd;v9 z<69Y;mJMVhzk6kzCIrwPTT$S4-N#(35#6o03>ojqu+K~~=cJt@>|%6o{J{=q8B|^* z8l)s9)_%#=Lb@1yc7qN!ME^uV&y2#eSG6(*b{%>YHh(TW_#7>4&MpuCJa8Jvc`8aI z2wY)ROmhCi{8%(BNvC%iOk($T_jZQc>B9+zO0xW7VqyV!#EuK`d}a}pS<0DXOu9fT zPSE6@ppa0x8Od&I_dYnpbMD%6N6+Pm3#6x)xUP9_LOjr^TVC!24y$31mf&G_SSr@ae?aqE9tz>4(I z`+r)?3wrX*ufgM9QV$cA-0?q8?Zn5+-zd_il*=8u4;5vd(8~#bK-lAM61uR=0*-f6 zRqu@Tkm&rwhw)s#eYy8oz#j`Xw{|4@*R&?%cHVVQGA)2xss)zuph*5Hq$(MHE>kD|}hCMRtV@bdq0 zaY1iir;p>35t&Q2@%k}Q2ebK6VO7I`bCPMP+jzP-F!S>S?*(3X^VE~x{@u+Ri-&pY zF@kLr-0J)eaY$(E3#*}XQ%HK5?RA69hA+Whi~a8t{QUeFq`fBYNqbK=i-E$@t`Du; zNU;xH%mNcMr8`qrVsoQQ)X;r#BW$IynELz-U%%aMx)ikT=DiR1p?WDYf%v|OIj}gX zI`3^QmTSMh$k9qdHdR|UH8<{@At#YqTa~YWTsF1F>`%w=cH_}d%ek5!r3}R3E+Gc& zgx(RTM6W&<@vcO4jA9HQ;Ef{@h3IVo7z{tnlW}3Nd-8nhg#k1a8yxmhK6q`)H>}(* z9=A2tX}L5mQ-q!V{LeS_?E$+GbCmt=N>%Hvy>f0HpVp$Akq@?~&ZzgZf`Mj7jZzkN zUvf?KQ|@|ytu-OB{=lzQA`xqbq=dWjqsp7}aw?}>1&6;l^UK+d$NgA=-W>_n$>aZ# zdLGuYu6WKa`9Lch3?Y^Bnauwj?06(`mN{kyUJlI$W<lvmE%a|CMt`ZVMM^#~bhq z3%B^LPPWvO>JXIer3IfFpXpDpz&n$zzBAwMoM66~8bCeRDb^5GpG%MU{pCdyK9p2> z6U>#~Phb#o>QB3_|NiPUjI?WNvTF(qId+2Cw!g}$BiJTTeDG(sqCEK%FK4*mV&hSqVLq}o?(LKaH_T{?z_ETY!6Zg0Rvxv7Hb7bhM5XHA3a$?u}OY1OLn zGO#f-_s>6*y>OT;PXWw)I#gs7j5UpctzhC{spei7)-H%Vi2sprBZifgRUK5ZuU;I| zw_#P&{G(us)Lv3M^GFLUqV_*R2w6MfA3PU&^L|ivR#5@*>Ul;J-C6QoPc}yuW5TwV zthh5VfyX*@ujsk))>FwY12P@-kJ_Zf%*4>BOLa1gFGb1CThu}2EE`ZY*C{krT_nd)|QEy^b zGcIrQU49p+Xo5`OfiTh@2&^kbl(!1hnHHG|AN2=YweiY_4WFWmy4$N06BD26XGojZ zU$3;OM>ea+Fc;g-l<1|1__lAp1IM>Mns@S}yH%a1)jS=$ZLh455L91(z#(}0nPZmg zEYdD9BO{~ebZy}Bn4hABr97J9SB`R9=t-|<1sUG0vWTHF^J@T`@2@Y}wYB0n%?lZ81ounIGmGf7GcpuHHW=*67Z&;oN<(c; zOiWgySHN-H1eTXzk5$pj-<)^QCo1A%I$xFE6@U1`T~+iakAkC4s2cA~X;(G=y9AFB zqtVU^Zsy4Y{&cnBRs`j>_LaASe@B;_z|r1{a{)v~c{ts5P*3K+$^N?+J+us@d1G@m z?G+R$S^DBKt2hroN;0W!++CL^yxVgm=(`zMZ6EPJz4DO{8sVwMvgBg&O8czmA4<%r zgyi9Ys}2#U-S^% z;fm4f`|VFEcP9J|sb~1K3Y#{*t;nZ0?MJaFJ-?fygdhWe{W%B+x3qw!$m}TPxBB6* zI~~Ux5W0FPG?ca56u4X#zCG$%)1yq?H-e_r&nmqy+DMadeP|!CJ12nLe-EmR>+Z(f zdtp2K@t`Jjr%hPSr`CeQJss$>>DXB7XGLkTlB^ctTVh2}EOLGOe9+od`^>h*98c3C zItevW?|m2bIfnIB%u;dFMwxxf2F?lbV9Qee%~ZI))#0b5cE0Gs8(U)8n8Op1*8L+r z3u%c|0?VPaqYtX{+)P!F^2wx$gMGSZE53S2s)RsF@*e|}$?dN3PS^B}WMM3VRwB$N zdwVR_B-o&i;^(rEw7Dg9-BY2^DAD=u%eu)wJh38O5qv$hxekgRTDFMB^*}^dBuwh7 z6R$)$Z74zr|9|19|Lq9%fBuB6!&sxV0Bqrr@-WMxVQahQVBe~+r6R1wq^yjL^Y*fY zQtaxWfC%BOc69)Cq{_*>=HV~FyE;10snaZxsf+XOWqxT&h&_*)#>~vj3PN_6*8!-_ zg3Eh9K9B@vi=?!7Ek*6pJbyl%so`lso+QjpB+l_rSAyDve)RN+{^;&DXaoex#5Tlf zhx?aZE8w@)&CSjEuU@@+`VZ^%!ur4v|5ZMs5Eg-my!&XpxHe#SqS2p`g-79@6etxx znYrb@fPM53!hww>pL5e@66Cl@knH@r`gm+kFA_d zr;THdiRmsOXF7qTlQTEWkD6)1S4L3hWyzx-<~(5add%K7SlS-pf8 zEaTJ9SUPw$+u=7HZ1mShI$rHmCITX0mTCI`oHjJ|0^9&p1}GrKm(CseXl0-}zgV2J z(nbStqcyI@!;(F-KN3E7B@1(HPlm0=z0Q`t|MAhA?53dA$#J;6&(z1lz5?wVoDhgn zWy=vrCVHg}@S7Xi!Hybt?%WB{)zwwg-{fC&8#_Fpu<*+I6$*y#f%0F&%&TOZl$p67 ze)Vi==rS5B4tvBIHW@-t^agcJSQFwSEhHj>yr3MhPdeBmchx^81nY0k&dye>4wYjg zD*!wU+LA+gI|51&Vs;X)TVsj)pR|ht5 z?&%mBn!Y931=JK5QAi>-7;RlxrM7r2En^ zF)<;@{#+V1_GJoyKaD)fMX=GvyG2SE@Z(wQw@BGsf=`r*L#dI;rZS2GDCV>Sr`%dp{LPA0g zFHNlb9K&KMY~OslyeI@L7g=(Cv)|3Y!3F?7=sktx@HGt{=_L)ka{WCc_a$;wUN)_W ziAyOwxHCR-e* zdZP8KvzS2d8p7|Z*R#i}EdjbNYOB-azkE+AXl3Hnr%#{W_4oHndia2&6Uy;CsmFTX5oFK26%Gn=bZ`=TVfS>36Fo;Q&R? z?Ug^i0Jwpl?aq*+Bu&72%`N|JF+#sm7xJiv7fcd}Mw*zDR@Fg4#t)#5Qr14RblH|0 z0p|NXI=>98uv>jjT+jcdC#|+oBV1tWLB}B7_B3H4zvQJY4J~_?8|RFBHNkpQ#hfA* zi)iZJrQ0a$=Yv^Dhqj1adPwhen$G;Z+WE)3JoV^PcLcysj<}0%1ejTkM<8Er($r|< z>gwv@5oIW+I0`d{n8YzddbI%l|2K`<%9abv%NgNBVym&FrpYZ02Nxz z%-|BIY;*8_4I-XP+5FCDg`sh-GOL=0Y}Wy!qOQd#{|wlaG;gGVJM_9OP=bg3dlc&< zut>Y4zys$I@;SeO^n(5J6y#m$hc)X~@%ENa{r$W;{o*5cn(#@p1VW0lt81|>e8^k? z*<3|=o!%K1u$the5Qsm9?^5uq-EUZtAuDO_kPrSjjP%L@Wyzn=Evyi{c7Nz+nuG*R z&clz*2{#&+mWFT4{wM|OnO@+WkR@`W(POAgM=u4tjq|G9C>klwyc43OrS%CEN1#Py zD~5G~(GqKoX>KI3yPEL2S0Z$6#)BFY=C5}6rn`I+jChx|stkLZMmA|4e^P#a z{_o%bE7Rl|iFSCk`#@0(P(IEn8k#1@Gp({@FwZj%g!}#JJ&Y|us6L~Nzd>j?b;<`d zD2Oy>+_{xK);JUYHkR*1SwP!0pkA2Uo0*+kbY>CB5}p&T0%yO!x%%k`yl_^v&}*2j^c@S-aG?!A5>a9l7O_qrSCU>IebCYE&P+f6ayg=eEt z+NbUqE;uQ`t+u&Bis%lA#uC4YU2*j!n?q>101qYA{jEi3Oyt^9ZXcibuUpxBD=ley zhqYn;HN5)GQk9n#;tjEo!t)So zMjA*RD?B7*a)k;ZyS{j5bK#YTkG)+`WR|}nLY`|tISZZQgs3E3{<~kK(oXXra=CjQ zsaG<&`I!*71WJ)UP|CnkhP+*ms9rZ4lRaz=g19mNPr}}Rdz0ork17Al8B%U=Fv9I+ zjzKDO|GO*_2jLIChuc03m;M*V%{+DXf4Ml=%~{%qxcC9E!mp^PSmEyC;*tcgn9u>q zfy!w)u)j?;SjD$Rerlsq+Ssvm`(v%+mFAP@D2WmRJ-`x4z4bs1BZRMUHMFv~w>Ji= zX3)X!yF|XR;##ect)O6F3_Ux+!c*a~xDg#e!2Rz4XZx_HlK*#Bmd0&?0tLLQ9zf!S z35q3bc9Ul*iRqonRFTYyhkFKtmR>?OFWBvaA517yH+um`-vD4Q z6Y_4~g$3)HUFt_5=sj#Axbe%wg32?9&a_0JJyLx1@$ZKPQ)==QO3ms+zAzmGXp{u|aK9{qikXig5U3D;=9Qu9*z;OaYbGB%v`*m+@VNjKo6 z&27&A66%|wX{AducYyF^Wo=~SQ!QX*N2>E274Mt8Qm1(p4X~^*hK26*xMMYdl8{;^ z)1tehr^6M1bV)=OZ|iIeHH$%$9+G~Vw&v7gu=ZiXHKxS|>vHvO zK+-Pf0{|$aXqb;H*#z0LJ+=>=z7QPK1(nVFTe3i9B`VQuq9B8AAf85as$8Qvi#T^p7Qa`Xd?q1of007a+VrMeU+l>Z&7-$xvJ0_wN0QN4agJ>=<{!`uFHg7)B z5cvug<#6{^>xrqQ|M=*)=**$IBz`@+`9ZZpai&@o#?z0IHU1t|Yg)Tf3BznmLpnr8 zb>c%;Z`*>CDhWU$g*>t-M*6ouXgHF4P3)@7zX_`R4>Nw5CX?`O{nXKK*y|?6z*|2+ z)hG?ypj>g6-?p~eqbQ$e-_N1idjAVRxqa|zd8dx0F4QgEV^KGV=_WiAX?i%7YjDTm zpO%f@nsO%KaPQC_;{AeReCC|qC5Am>Qj3WwSBT39-n@dHNxur%z!;mgXyLZ4DR}YxWd$wq$vy76I_DI3BE_sO^@gv}*9nHW^*8Cr_fwMNUhFOYXfgZ5U z@@ge87ZYg~=#W26255c0Owq9r7lmMQ=QMqcsHR8%>PE&{#&Jzw*scoUp- zzIv4!Qd#gTLuM6Ck}XFP+~h0nRXG-qGh25A%0^8Dz!Jdh$I)1h-rn}I-X%G`zbfw7 zZM5{&>(`_IFWX`_1HWH1LSK+LmhE)Ru=>fH`JtIo)8g~A+2pbRXZ?l{5unarBh@Z? z&OlD2tE=Yq-Q2qZibiHiO1;wA7iNp=<)~Kc{7a@bmU8vnMTR-8=JDuOnuFkZTQ_jC z0(b!xmMD8_AIhOEJgP=343OJL(v@IZ<^gbTdbBHsH{#ygv@|OyKXJ5%AQ}}vBsd6s zxL_N1(I6M#A}sHssC%gLp&{CgUkCX175_yJL;k5|5TCe#C6$?%mtplm0^vK|`%CrQ zPX=ORV>_RW=Yjmg#8id49$*nFr{n<5S^xGEWpUYNQM4{;TU;^l@*@6l86QmskAG8> z-R>OlcZ>t|3EaD%o@D`^d^;*tjW*TSCO$o5lo&K$%8TK#UhUi?lPnQlZ!z&WpU+Is ztgNh{oq# zhS|+mLQg*fc%0aAK-p2|cw|fJ0}=?=kQA!2|0AoM;djO1MvXmEw{UFHW>o->iI4o& z(x`+pHpTLoS*<2*IzN)`Ht*++++QbdA_A1&7_3Bs#We^MA}MaYmVO(P-OXyKAojak ze)VR_;%sD=@+Qz{k^tjyO-(M2J#5*T%qXf(r{{RC$=UARnJBQhGNv(5q^~z#<)rI3Y@U-v*cnZDS$XAaJbU6Dk7QP z0Hj0dh8+~SY!mqe>%j>KyQ7!a%EJAwH`cfS*p+(jz|~2+^ApUs<^Qh4DyMplMz`xU zDp^5FN1g|lF5&$B4O@F>m^w0{z-56`Gt{28pocdZ7$a6AC!0gAff0vLYCsMVlM@ro zNP#E&>Fk-h8UEhI3nrF6vN$jA&}>n=c@GmT1!#fwkkR2j1T$FkY0-is(%oTV?{xKF zbIvUHW-cf11DM9yD$H&2p*Sy>gCj|3~VvZ>Fo`atb%M|7 za4n`&!>Ji_$tn$|5lkjI;N>^;9OPv05@=H^XrIQAPY__88#%4b<-xzsYvqvod41m_1@#c_CuVv2(kRU*AK!FOde&C}ORAuvr&Gz2itQjXvwLN@4q3jqHx3ZR_%xy0u@|V}yydasX4b7!jWPJ$ zt<2B!ywvsV>-eAsKU~mU+rh%j_h&uSm__pX?hW--Ga8v1A0kojBx?gfxhgJ+<*_ymk#^OTnja z9Cq@L~g!KrmoAQK;V4 z)ph40u!nv+1h7J^J3&f;we66MaxfW)7{g&zKTatCa8*JCc>DWda*?K}VH+y_VXvc` zfLewO2sseXzgQT~mS1V$gV7dY42o|VIHxJEOFD+&vzpqWt-HUxqs{vy-A-fW3Mpl& zK%w=Hp$hd z)z+Ws^G6_(ZM2BoP%TTKOI@p@NW;_<(+HO3$3o0TS=aua4~T`V#j*(n(s$K2%@1(GPTp`@^m~o5#0XX{IQ4lr} zz;O++E&aHWGvNq^t@Q=)lmtA^RI{xd-?=Azp-$>bg~dPEceQ|7ZMbHKJlp~~C4+xV z28s=PJ|u0Z1sx~gg79%NB`L#mriO~}W~YwVzT5nx>p&QP&lHl48K>hN@Ww>YFzf8f z3FQHDRb|L%d&igss(C{fhK-`J<*)6=?r zr*%{hBqv;Go{^6{c?Cytrki`lZqLsnALz-;9?cWFkY~pI>mO$0o6nv-yXHXM!;HsFtXNQX^&%gu>CFER-%#>@eNlgHQYy| z9j{m7j$|&M)Fk(!6|#eWzc_WSm5!`d#Dz;qF%$L42_uvA+M6ubZkfHPkMxt4!h43PV zyy!_DkeyKlEJwOeR+w{3ZCrz7lb85*fLKJn*sQqr@t7hLr~cOMiahauVh`34Eq z);eia3(Pyy=+{{O6maAT`tgljy{v>1WRsvMu+&Nx_l#S8j!k6xcgx<8Tsj2Ml}gA8 znoJu>Y}aY)Q9{j(-A%ovdg6$D(}SF$XSS4=_Z8`XeaTB4UEYi7o54OuVj`Sj>`3g zXi8PS#1zrFbCKla`-Jbf@l<%%N^*a-;5`Jhr187mEwMedZmDGlwD<6l6#V|Y%vYkI z2TT6d2r32N^FdhC1;Ccy256&lwK9K(t;S&~tu3xxLZeGV*D*I<-maVwtmFBMr@nBX z3Q%8f(z|pV>+5sicF=@ZM9*qcndu{4rR><-2j#HgeJS=nZ3BYXK*q!QZ=6F`_6YJ& zR(sUlvdnUkJouc_xL^=zaWh-MypGuv=~wTClQT~nE~gh{u-~%E@wZcv!|>#M%mF=TONk=4l6Sq{8xM9?5A>0$*;4(xCf#Kkd^SMhymmz^qq&2UBvx zkA)8CMI2hgpHgt9*OdRrFJMq7B3-GAIfnw~T_5r!=V*aTv+_iW{$OJ)11hw&PMyXA z78p4@^Pr=pk6MhG!t}bZ+`I0cQA&0MQ_US26oU}90i-9a>4h)5L%6Ri`jEfE0Svzf zuy_z6O%^(ZInVctFq}|XzyE{h>UW$;dHZ;6~}m^!mxUgec@ zQoV(D5{4I@t;rlg4#AW;L$i80nfSm4InIKtC+=6QvzvG?>RRJgmy9!yAKZhcM<*OE z6vVp~(LbU$`CgUuNpIqlu{OcAg(`Z#7d*mMVp|z`u_dn?dO)p3i`r%3+_D)o zJluOj%`Me!Uf8z)t7`+;y{;qYUl2bOLaVP{yY{uwXtso6u@+>+wmx>)2K0c0fr)Eu zgJeCsYdE=`_n(y9dUJh%ok?~bZY40#`PMT_{&{wAk$FI_8XjYi(_?B5VuHx1a!m9D z;QM-#ZA_ZQH!a71*(q!93~el0r%p&qs&HxYdt6$+RqMoT-=QTx1wxuR{bm;x^zEL%Ha8oS_j@8B5@>Q0(bO!V9WnR%f0TF3hs(uPIlKFD` z8Rm*u12!WWP44^Xc64FU96igP2Ui)-;KcZ8H-Svk0D23gEk`5Bq?*{}Y|(N9bT{Bk zz0XCx&Rw~qudiPLwE{u{Dq98<*%Xl()rIxx7<*g#OjlbBepS03Ec{AVh$^NscRNj% zMlOAlx%SUfoO1y&VF%4>0UMXpwoZQ^eKtWm>0e)wi8p{*2M-{trr`3Q3;!HhfPWBk*`41&=nr9^v9!a zxTuGy0ZW4XQQDfF=<>U$bWXc6U;36gOTcueRQ!0(M8JT)0MVeBG8PR;4$>?!!)Yz z%5w)j)#AHUYV$04+Ta^}sju!c=I~h&ttBLi25pEDEyM!kMZ6C_b9H) zl+k2b{8fK$59fdENb2>X&NfU7G>ZfuIj@2ejS&MVfJsiqnq&uOL@zWV^Q`_V#*WzN($1TXHlK zUk4jMf^ZGL?c*oysIziC-`T-bd3`LJD^U44vbl9SA8He!9+UQ(&g;1i4lAWOXhMi~ z9GU^C#L_{g7s!I&-fahgXLL@+Cl~&?`m6?)Q_=zv*LUh7{zq4dcVeL^AIl&jNoMW?(^qCCa0MG;BV8nDk(l zs~AZ(ANRKLZ(%+da*=umaveJ%l%cvwwD%t}DzZghMyB2@o=oAm_^`Du^z~}Wabs@P zc6k~O6*5)SD7c2HPLECsN(pfX6)!t1d$^H)hJo2NK3P@In6(rZV>IsbS&%UqD`UHr z#w@|j7!Y8CpyEzfU{JaR(f5a(!Umxg@|gUB-{}rJQqASBpS#~ShQIKw^kq;Td!Q+5 zv$^=B#mj0;)!nt2!ntj}+2}GOAyCY8o@8PoUgOvJ% zFpZlV6g;){3)*erswcagvHUQ+s}x4gffqe6D5*vr)I~6EY;L{`$45xf zA>cPGh2Al0kQIwt{qXL}2+;0E>`5E0EY}8cf}O#3VH~#oXcqLsQYY$|{qg+ab`?f9 zQ%Skk<5q5O7{jj0%tqgDS;&8>=JD$v`+MD0+5?v5Y0aeNMfREY}YzPeE;~mt>O8;lgS=r-(w=j zu?6&9L_qGoCpE3S2t1UuTipPy8TPD8pTO|pKicbtX4)xhR~}3f!c08tqlxlE@zDk= zaOKk&RP_!%vhC*-<2@|IXL~?}RSF(f?%sQYtku_U$(1TO=8(U=p5wq?)?0VUd;%n$ zN}uK@cgSk0CX?q7aXirC}r~WqEK56L;;wOj+l`EJJ4j;_(OG--as`HLp#3jgw zaf_LzRqk&d>pfWkh1{kHEb-s^l_^_;VY?%&mX?+#Acv9wfH`8U);$f_QlglJ{BG%6 zeJ)jOy(Y&8)j!8aC{=h?t7Zk%3IPyddX7(_JcS0f45YU%3+j#K zfS|2w9_sG`dQ?UaXzd?@GPTjMzwnN?rG-TVjYOYj1yL~YIwhr*15Abg!YoUkUMO<$;n*XZMe%<&)6jg`mfG4aExM~9Wntq4GgM zBv)X~GG21v%lVu4Zs~Mc`I>)XU3lJXLzR9p<$1G{$~;#(2q#?ApJ%AsBuSO7;4g~jxj zzyR6pHpr6u+O|CgjoUkgvTZckL}3qT7f&L$0u%V!*RNk)9xrOmfeslK(7@Gr?+D@d zOHl)(M#^Nv+Rh>#HLXt%Kz$SfZO7s{qahtm@8^J9SXWV*Gp zT#px_Y}dEpOxc3RJB=$kvoL}nt!bwSqx*o#m+=@ZSpyiY%xrNez?{>&VLEyZ5Ti~8 z28K@D#@VxHe*@5OT+w0ujiyB!bfL9zLgs0(yIDi>;l44pm39@MZ(Z-!3@*#He(qlx#F0o{#SVr;%a};vMeA zgeFKKIS{l=GIjm5 z1pcPFv{54PPZYahHNX!GuJ?qAwiE*q@_lH_Fqy+=vuU{(=vu^;#~v+x)I5r&rlw0f z{A_qj`wlU?cn+$FtrLz~g5sNi$~x0d7_;aVY}uY7Nc_22$yl%CS#AXX69ODgy$OoX z5=PwJ-TlS37kN8qE>Qj&ad*sqMe2A?@#;O0A_(2dDp{<_hfDbW{_>%fcg&teVNHby znr_WJ+T>m6A!Cnd;sLPE3Uy}+;+4{+T)Q)eh{)u3@7|sEtTalIvnh@9-wayly?jW^ zqNi)KxxuL>bogHdi*i>cX|AMs-B8jGi^Jij*w*CY^QE8zX|D8%n^5*>=n5@fER+bk zmX0=>QQI&=rG8~01rGI?9xKF>-zJnn6W-z_95(+m4H2-!=K zzV`}CFY;@NF#klhCXeAL@YNyu$4B9hO&gic>eVXjjKRu3zq?O2QOU|xtJ}JbMzJ+) zEPOB-AlbBrhrETo=N}9m2n`y@$Ao@v45Umm`q zQ@+u@yi%7%v0Z5NN^8fi)S2o}h)<9hz4&0RJCmM1KbmROAs)mh)ce zHQJ+IFs>}~1i^Up!-LPs*+G*bJtz>UbOlLnPdAKUSlJ+5Pg6(p}bT@X4&Ez@raq^z3B)umr zPZ(d9`qU#-cts)?TSj$=mx>>@(LXYr9M@Op+tmXa7EDx_Bbd)Ue?q#lM@7A~&#+Ezfc&&g17eJJ$>%&L&QNIG zd3*aj=-Y!kRH5S~Nt(E40RfY($<9eZi~ZNSCEq*&%C(KbBwffmpWDKelMgDQrV+Q`6KZ z^^0uI1~Np@PhgBvs`n0g5%gsHA;0-#?|N-=D3`eNcY!0l`ay)<<5VhU0o_Qz^th_$ zaKS(bDvT^!Rq6E)gV(l-+6$%^XOaZmO7E%){JA*(duX7NwXglef%(D!!Eh&P;A`Dk zi^y%q<$ZBTRUGh)YVRP`hC!p^8_ZgRU(mUxMj_|2(@>uyIEQ*KyHbNUGI6s{^qjJ1 ztf2t`RG{Q2$zrku57CO+!fbGT?3n{#DVUF{BsgLn$l+31ORL>2FCtLZcn0-4G^rsB z0c@ok*fvHvCM#`gURn~XVdk}be?a!T&g@WPX#$R5t?Tru5`pT#A=vLvH0rprW-%sZ zWmQgD95jZ2FD$rHSJ7X0Jsr#ra~9qHFJ_cTPAS_H}d#0 zWXe-R@603VA9P2#?*zFJc?#R)rty+*fg*vu*J$_Qe)}!+3mx&i)IFKj^|+xv?XHZM zO!tRYjVteZsQSue6`0t3?3XinsRhHHGkLUsuo~%*uTq-)cub44rt3b2DdRKWmr!KC?#VG7SZF$jn{dPHeDAvHM--l3WXoL zVhg%EZ`ho-!`8(s?JZPrmHv9h9u$#;`O)YF7aWk3G07?kE3 z4@jfEA6gs>i8rhCgo@J!r+`40=M znE4y>Ucjfr0YhcG?e-JAW`Z9*Le-9o(ojA>`ghF z`jLm<-&_`$Kh-#w1Z=Xl-T932`WcWwEB~AYWin>Jla=F=KODpLr5*NiHIhmhdT;=I zB8AG8m|s6Cm0>f$g2_6iOtc_G6D-z-9I%S!QP(s?wR2dQr1L1-nDzHLRZBV}?EzegbvhD~`>_zZJz_&X=~{M=-bRO5 zFm>8)_{}X>hXEpJqWTGj8X2q4X2*2b$RCA zw~kp8_IXY_RJr|D!Dj5%Xzvu~ibUZ`X{e}F91j6wqZL$n>`~pT%Z*2JnLQBwy}!`# zGbYy@!1c})ZtU6HY&Gwd@6uvZZH`}KU-YR%p~n?u6l&Zb?M;R`**m~`D&2Qot0ykW zCLF0!4$WY_pi7hER(qq%hd) zrq*5%l!#s4X9FH?DNkMx`uu{mB{vdnR<=389=;SW{%#< dHT4@*mX9vo=lZ*dQ?xhkXc}lB)$Tv}KLD+7#6|!B From 9dfc0f1eec06c6738a303be0d960016690a719e8 Mon Sep 17 00:00:00 2001 From: Nuno Date: Mon, 27 Jun 2022 10:45:53 +0100 Subject: [PATCH 210/310] one last thing to the image --- src/content/energy-consumption/energy.png | Bin 19493 -> 18174 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/content/energy-consumption/energy.png b/src/content/energy-consumption/energy.png index 79c120b45fc55fb93c6069ca5d49aec194b4adfb..e10189d7b98f0a652b407f3b1d6fd856cfc284f1 100644 GIT binary patch literal 18174 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 O_(LTPMU;YN@c#t{Q`Hv$ literal 19493 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 XoW}esDb%z^#Mf07wG=Aktl#}#C4!78 From a5e0b2cb335a76ddb32af3353602123514a2173c Mon Sep 17 00:00:00 2001 From: Nuno Date: Mon, 27 Jun 2022 10:50:14 +0100 Subject: [PATCH 211/310] remove text from image to be better for translations --- src/content/energy-consumption/energy.png | Bin 18174 -> 15204 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/content/energy-consumption/energy.png b/src/content/energy-consumption/energy.png index e10189d7b98f0a652b407f3b1d6fd856cfc284f1..fbb60a78b6930f51123a45229a528c65bc1119af 100644 GIT binary patch literal 15204 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 literal 18174 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 O_(LTPMU;YN@c#t{Q`Hv$ From c832d37b5cce62b3fa489ff0c9345ef0ba77ebd5 Mon Sep 17 00:00:00 2001 From: Joseph Cook <33655003+jmcook1186@users.noreply.github.com> Date: Mon, 27 Jun 2022 10:54:43 +0100 Subject: [PATCH 212/310] move axis label to text for easier translation --- src/content/energy-consumption/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/content/energy-consumption/index.md b/src/content/energy-consumption/index.md index 18ba13fc4c0..4b858f88c8c 100644 --- a/src/content/energy-consumption/index.md +++ b/src/content/energy-consumption/index.md @@ -40,6 +40,7 @@ More relevant is the overall energy consumption and carbon footprint of the netw ![Comparison of energy expenditure across industries](./energy.png) +The figure above shows the annual energy consumption in TWh/yr for various industries (retrieved in June 2022). _Note that the estimates presented in the plot are from publicly available sources that have been linked to in the text below. They are illustrative and do not represent an official estimate, promise or forecast._ From 4b4c891ce28c2b081bc5637fc080a6583695d288 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Mon, 27 Jun 2022 12:39:07 +0100 Subject: [PATCH 213/310] Update src/content/developers/docs/nodes-and-clients/nodes-as-a-service/index.md --- .../docs/nodes-and-clients/nodes-as-a-service/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/nodes-and-clients/nodes-as-a-service/index.md b/src/content/developers/docs/nodes-and-clients/nodes-as-a-service/index.md index 87c24a99677..232b9adc3b1 100644 --- a/src/content/developers/docs/nodes-and-clients/nodes-as-a-service/index.md +++ b/src/content/developers/docs/nodes-and-clients/nodes-as-a-service/index.md @@ -195,7 +195,7 @@ Here is a list of some of the most popular Ethereum node providers, feel free to - Intuitive dashboard, analytics suite, RPC composer - Advanced security features (JWT, masking, whitelisting) - NFT data and analytics API - - SOC2 [Certified](https://www.quicknode.com/security) + - [SOC2 Certified](https://www.quicknode.com/security) - Suitable for Developers to Enterprises - [**Rivet**](https://rivet.cloud/) - [Docs](https://rivet.readthedocs.io/en/latest/) From 1ddfb3ff63d6dbc5789b703aabdf4e398a6c9b25 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 27 Jun 2022 12:11:41 +0000 Subject: [PATCH 214/310] docs: update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 904ce746b63..37671e59275 100644 --- a/README.md +++ b/README.md @@ -1275,6 +1275,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d

+

Damian Schenkelman

📖

Hendrik Eeckhaut

📖

Hendrik Eeckhaut

📖 💻

Susannah Evans

📖

Minimalist Optimalist

🐛

vluna

💻 🐛 🖋
+

+ Showing {filteredWallets.length} wallets out of{" "} + {walletCardData.length} +

+
+ { + setFirstFeatureSelect(selectedOption) + }} + defaultValue={firstFeatureSelect} + isSearchable={false} + /> + + { + setSecondFeatureSelect(selectedOption) + }} + defaultValue={secondFeatureSelect} + isSearchable={false} + /> + + { + setThirdFeatureSelect(selectedOption) + }} + defaultValue={thirdFeatureSelect} + isSearchable={false} + /> + + +
+ +
+
+

{wallet.name}

+ {deviceLabels.join(" | ")} + Go to {wallet.name} +
+
+
+ updateMoreInfo(idx)}> + {wallet[firstFeatureSelect.filterKey] ? ( + + ) : ( + + )} + + + updateMoreInfo(idx)}> + {wallet[secondFeatureSelect.filterKey] ? ( + + ) : ( + + )} + + + updateMoreInfo(idx)}> + {wallet[thirdFeatureSelect.filterKey] ? ( + + ) : ( + + )} + + + +
updateMoreInfo(idx)} + > + +
+
+
- - + +

tree

📖

Stephen Fluin

📖

hakuta

📖

MiloBowman

📖
From fbf63dee47c4b711424e8441a253f20e2337c7e1 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 27 Jun 2022 12:11:42 +0000 Subject: [PATCH 215/310] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 0f775a07ebd..871af35bf78 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -7927,6 +7927,15 @@ "contributions": [ "doc" ] + }, + { + "login": "MiloBowman", + "name": "MiloBowman", + "avatar_url": "https://avatars.githubusercontent.com/u/104447804?v=4", + "profile": "https://github.com/MiloBowman", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, From 3f374bb8720480fde200b0416ba3443a2d6ff660 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 27 Jun 2022 12:59:53 +0000 Subject: [PATCH 216/310] docs: update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37671e59275..a19060da937 100644 --- a/README.md +++ b/README.md @@ -1276,6 +1276,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Stephen Fluin

📖
hakuta

📖
MiloBowman

📖 +
tadeo

📖 From c26dcd13a644c61e3bb6c613aeb101c7024b7eea Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 27 Jun 2022 12:59:55 +0000 Subject: [PATCH 217/310] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 871af35bf78..2ef84320601 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -7936,6 +7936,15 @@ "contributions": [ "doc" ] + }, + { + "login": "tadeodao", + "name": "tadeo", + "avatar_url": "https://avatars.githubusercontent.com/u/94108039?v=4", + "profile": "https://github.com/tadeodao", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, From bd22553a1a91b6c82336b418ddc0ccb0b79a15bb Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 27 Jun 2022 13:19:45 +0000 Subject: [PATCH 218/310] docs: update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a19060da937..a31251f4f30 100644 --- a/README.md +++ b/README.md @@ -1277,6 +1277,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
hakuta

📖
MiloBowman

📖
tadeo

📖 +
Jorge Santana

🖋 From 1b094255ffbe9f73eed53212482dfe85238dd162 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 27 Jun 2022 13:19:46 +0000 Subject: [PATCH 219/310] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 2ef84320601..5155ccd5f50 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -7945,6 +7945,15 @@ "contributions": [ "doc" ] + }, + { + "login": "creacodigos", + "name": "Jorge Santana", + "avatar_url": "https://avatars.githubusercontent.com/u/50615503?v=4", + "profile": "http://creacodigos.com", + "contributions": [ + "content" + ] } ], "contributorsPerLine": 7, From 14b8815c1f3c770d8da634810894ff679d7147b3 Mon Sep 17 00:00:00 2001 From: RanchHowards <69303624+RanchHowards@users.noreply.github.com> Date: Mon, 27 Jun 2022 16:08:47 +0200 Subject: [PATCH 220/310] Correct tutorial link [Fixes #6672] --- src/data/externalTutorials.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/externalTutorials.json b/src/data/externalTutorials.json index db35ffffbb9..c025eb087b0 100644 --- a/src/data/externalTutorials.json +++ b/src/data/externalTutorials.json @@ -133,7 +133,7 @@ "publishDate": "02/11/2022" }, { - "url": "https://www.youtube.com/watch?v=pdsYCkUWrgQ", + "url": "https://www.youtube.com/watch?v=AhJtmUqhAqg", "title": "How to build an on-chain DAO", "description": "Using Compound and Openzeppelin as a basis, we build a 100% on-chain DAO using an ERC20 governance token for votes.", "author": "Patrick Collins", From 33613fd9ed8dcb42f2e5dd668e09caa04ee52161 Mon Sep 17 00:00:00 2001 From: Pablo Pettinari Date: Mon, 27 Jun 2022 11:10:07 -0300 Subject: [PATCH 221/310] Update src/components/OrderedList.tsx --- src/components/OrderedList.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/OrderedList.tsx b/src/components/OrderedList.tsx index f385c3c3ce6..049fc157b7f 100644 --- a/src/components/OrderedList.tsx +++ b/src/components/OrderedList.tsx @@ -27,7 +27,7 @@ const Content = styled.div` position: absolute; top: -2px; /* adjusts circle + number up and down */ left: -3rem; - width: "35px"; + width: 35px; aspect-ratio: 1; height: 2rem; padding-top: 7px; /* adjusts number up and down */ From 9fa3332eaa64fdac79c613489ac0003574a5dc38 Mon Sep 17 00:00:00 2001 From: Pablo Pettinari Date: Mon, 27 Jun 2022 11:29:09 -0300 Subject: [PATCH 222/310] add alt attr to eth logo --- src/pages/layer-2.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/layer-2.js b/src/pages/layer-2.js index ff38c6dfefd..b58f82b81de 100644 --- a/src/pages/layer-2.js +++ b/src/pages/layer-2.js @@ -774,6 +774,7 @@ const Layer2Page = ({ data }) => { From 37490d1b9a799231362daaf0a366e1853fa507bf Mon Sep 17 00:00:00 2001 From: Gamaliel 'Yel' Padillo Date: Mon, 27 Jun 2022 11:15:00 -0700 Subject: [PATCH 223/310] Update wallets.csv --- src/data/wallets.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/wallets.csv b/src/data/wallets.csv index ecbe25c0669..31776aa3efd 100644 --- a/src/data/wallets.csv +++ b/src/data/wallets.csv @@ -12,7 +12,7 @@ trezor,Trezor,https://trezor.io/,#FFF,FALSE,FALSE,TRUE,TRUE,FALSE,FALSE,FALSE,FA monolith,Monolith,https://monolith.xyz/,#E5189E,TRUE,FALSE,FALSE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,FALSE,TRUE,TRUE mycrypto,MyCrypto,https://www.mycrypto.com/,#FFF,FALSE,TRUE,TRUE,FALSE,TRUE,TRUE,TRUE,FALSE,FALSE,TRUE,FALSE,TRUE rainbow,Rainbow,https://rainbow.me/,#FFF,TRUE,FALSE,FALSE,FALSE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,FALSE,TRUE -myetherwallet,MyEtherWallet,https://www.myetherwallet.com/,#FFF,TRUE,FALSE,TRUE,FALSE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,FALSE,TRUE +myetherwallet,MyEtherWallet,https://www.myetherwallet.com/,#FFF,TRUE,FALSE,TRUE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,TRUE alpha,AlphaWallet,https://alphawallet.com/,#FFF,TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,TRUE,FALSE,FALSE,TRUE,FALSE,FALSE enjin,Enjin,https://enjin.io/wallet,#2A2B56,TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,FALSE,TRUE,FALSE,FALSE,TRUE status,Status,http://status.im/,#4360DF,TRUE,FALSE,FALSE,TRUE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE From 5ec2d6877e98b183541ce097d4dccc6825b4af08 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 27 Jun 2022 14:37:59 -0600 Subject: [PATCH 224/310] overflows --- src/components/FindWallet/WalletTable.tsx | 6 +----- src/pages/wallets/find-wallet.tsx | 22 +++++++++++++++------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index f6306939096..7d1052c0861 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -83,7 +83,7 @@ const Grid = styled.tr` const WalletContentHeader = styled(Grid)` position: sticky; - top: 76px; + top: 0; padding: 8px; background: ${(props) => props.theme.colors.background}; z-index: 1; @@ -94,10 +94,6 @@ const WalletContentHeader = styled(Grid)` border-bottom: none; } - @media (max-width: ${(props) => props.theme.breakpoints.l}) { - top: 140px; - } - @media (max-width: ${(props) => props.theme.breakpoints.s}) { grid-template-columns: auto; gap: 1rem; diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index d2105b8faac..2a9eb35c122 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -68,9 +68,19 @@ const HeroImage = styled(GatsbyImage)` const TableContent = styled(Content)` display: flex; gap: 24px; + height: 90vh; + overflow: hidden; + position: sticky; + top: 76px; + margin-bottom: 100px; @media (max-width: ${(props) => props.theme.breakpoints.l}) { padding: 1rem 0; + margin-bottom: 120px; + } + @media (max-width: ${(props) => props.theme.breakpoints.m}) { + padding: 1rem 0; + margin-bottom: 200px; } ` @@ -127,6 +137,7 @@ const FilterSidebar = styled.div<{ showMobileSidebar: boolean }>` display: flex; flex-direction: column; gap: 0.55rem; + overflow-y: scroll; @media (max-width: ${(props) => props.theme.breakpoints.l}) { width: ${(props) => (props.showMobileSidebar ? "350px" : "0")}; @@ -145,7 +156,7 @@ const FilterTabs = styled.div` border-bottom: 1px solid ${(props) => props.theme.colors.primary}; cursor: pointer; position: sticky; - top: 76px; + top: 0; padding-top: 8px; min-height: 50px; background: ${(props) => props.theme.colors.background}; @@ -155,10 +166,6 @@ const FilterTabs = styled.div` margin: 0; letter-spacing: 0.02rem; } - - @media (max-width: ${(props) => props.theme.breakpoints.l}) { - top: 140px; - } ` const FilterTab = styled.div<{ @@ -191,8 +198,9 @@ const FilterTab = styled.div<{ const WalletContent = styled.div<{ showMobileSidebar: boolean }>` width: 75%; - table{ - margin:0; + overflow-y: scroll; + table { + margin: 0; } @media (max-width: ${(props) => props.theme.breakpoints.l}) { From 78c91f75042b5b3a89669c6f36dddde6b83402d1 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 27 Jun 2022 15:11:53 -0600 Subject: [PATCH 225/310] features stacked in mobile --- src/components/FindWallet/WalletTable.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 7d1052c0861..ee9e1274b9c 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -287,6 +287,11 @@ const Features = styled.div` display: flex; flex-wrap: wrap; gap: 0.2rem; + + @media (max-width: ${(props) => props.theme.breakpoints.m}) { + flex-wrap: nowrap; + flex-direction: column; + } ` const ColoredLine = styled.div<{ color: string }>` From 17b40490587904c07e5f6c5bde7d920b7a783fde Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 27 Jun 2022 15:24:10 -0600 Subject: [PATCH 226/310] fixed icon container height and width --- .../FindWallet/WalletPersonasSidebar.tsx | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index ef2bd01fe4f..4690aef4ebc 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -134,6 +134,7 @@ const Persona = styled.div<{ const Title = styled.div` display: flex; + gap: 0.5rem; align-items: center; gap: "1rem"; margin-bottom: 0.6rem; @@ -166,6 +167,11 @@ const Grid = styled.div` row-gap: 0.5rem; ` +const IconContainer = styled.div` + width: 14px; + height: 14px; +` + const StyledIcon = styled(Icon)<{ selected: boolean }>` width: 1.3rem; height: 1.3rem; @@ -551,11 +557,13 @@ const WalletPersonasSidebar = ({ }} > - <StyledIcon - name="check" - selected={selectedPersona === idx} - size="2rem" - /> + <IconContainer> + <StyledIcon + name="check" + selected={selectedPersona === idx} + size="2rem" + /> + </IconContainer> <H3>{persona.title}</H3>

{persona.description}

From 5a0dfcf81b1c11c54ef4dcdc7871c6e02c438009 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 27 Jun 2022 15:44:49 -0600 Subject: [PATCH 227/310] choose to compare filter header --- src/components/FindWallet/WalletTable.tsx | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index ee9e1274b9c..3f79285c321 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -557,7 +557,12 @@ const WalletTable = ({ data, filters, walletData }) => { { setFirstFeatureSelect(selectedOption) }} @@ -569,7 +574,12 @@ const WalletTable = ({ data, filters, walletData }) => { { setSecondFeatureSelect(selectedOption) }} @@ -581,7 +591,12 @@ const WalletTable = ({ data, filters, walletData }) => { { setThirdFeatureSelect(selectedOption) }} From 4f6c1049b9b127ebae737c8e7e4e6fa1af2d28ba Mon Sep 17 00:00:00 2001 From: Hursit Tarcan <75273616+hursittarcan@users.noreply.github.com> Date: Tue, 28 Jun 2022 02:49:36 +0200 Subject: [PATCH 228/310] Fixed USDC Typo --- src/intl/en/page-stablecoins.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intl/en/page-stablecoins.json b/src/intl/en/page-stablecoins.json index b0ff9796645..4ae6da34aee 100644 --- a/src/intl/en/page-stablecoins.json +++ b/src/intl/en/page-stablecoins.json @@ -134,7 +134,7 @@ "page-stablecoins-top-coins-intro": "Market capitalisation is", "page-stablecoins-top-coins-intro-code": "the total number of tokens that exist multiplied by the value per token. This list is dynamic and the projects listed here are not necessarily endorsed by the ethereum.org team.", "page-stablecoins-types-of-stablecoin": "How they work: types of stablecoin", - "page-stablecoins-usdc-banner-body": "USDc is probably the most famous fiat-backed stablecoin. Its value is roughly a dollar and it’s backed by Circle and Coinbase.", + "page-stablecoins-usdc-banner-body": "USDC is probably the most famous fiat-backed stablecoin. Its value is roughly a dollar and it’s backed by Circle and Coinbase.", "page-stablecoins-usdc-banner-learn-button": "Learn about USDC", "page-stablecoins-usdc-banner-swap-button": "Swap ETH for USDC", "page-stablecoins-usdc-banner-title": "USDC", From b2c9cddd4251da1ee87e8d8f24bc2940ea7f2c9d Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 27 Jun 2022 19:22:20 -0600 Subject: [PATCH 229/310] mobile sticky styling --- src/components/FindWallet/WalletTable.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 3f79285c321..954d5cf43c1 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -111,6 +111,10 @@ const WalletContentHeader = styled(Grid)` } } } + + @media (max-width: ${(props) => props.theme.breakpoints.m}) { + top: 50; + } ` const Wallet = styled(Grid)` From d2930016cd900f3c73516549dc4aebf882698c2f Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 27 Jun 2022 19:51:49 -0600 Subject: [PATCH 230/310] update persona filters --- .../FindWallet/WalletPersonasSidebar.tsx | 171 +++++++----------- 1 file changed, 65 insertions(+), 106 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 4690aef4ebc..91d7278c2b5 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -311,35 +311,36 @@ const WalletPersonasSidebar = ({ title: "I'm new to Ethereum", description: "You are a first time user looking for your first wallet", featureHighlight: [ - filterLabels.buy_crypto, - filterLabels.withdraw_crypto, - filterLabels.nft_support, + filterLabels.connect_to_dapps, filterLabels.layer_2, + filterLabels.ens_support, + filterLabels.erc_20_support, + filterLabels.buy_crypto, ], presetFilters: { android: true, ios: true, - linux: false, - windows: false, - macOS: false, + linux: true, + windows: true, + macOS: true, firefox: true, chromium: true, hardware: false, - open_source: true, - non_custodial: true, + open_source: false, + non_custodial: false, hardware_support: false, - walletconnect: true, + walletconnect: false, rpc_importing: false, - nft_support: true, + nft_support: false, connect_to_dapps: true, staking: false, swaps: false, layer_2: true, - gas_fee_customization: true, + gas_fee_customization: false, ens_support: true, erc_20_support: true, buy_crypto: true, - withdraw_crypto: true, + withdraw_crypto: false, multisig: false, social_recovery: false, }, @@ -348,71 +349,66 @@ const WalletPersonasSidebar = ({ title: "I'm a hodler", description: "You are someone that has tokens and don’t want to touch them", - featureHighlight: [ - filterLabels.hardware, - filterLabels.hardware_support, - filterLabels.open_source, - filterLabels.layer_2, - ], + featureHighlight: [filterLabels.hardware, filterLabels.non_custodial], presetFilters: { - android: true, - ios: true, - linux: true, - windows: true, - macOS: true, - firefox: true, - chromium: true, + android: false, + ios: false, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, hardware: true, - open_source: true, + open_source: false, non_custodial: true, - hardware_support: true, + hardware_support: false, walletconnect: false, rpc_importing: false, nft_support: false, connect_to_dapps: false, - staking: true, + staking: false, swaps: false, - layer_2: true, - gas_fee_customization: true, + layer_2: false, + gas_fee_customization: false, ens_support: false, - erc_20_support: true, + erc_20_support: false, buy_crypto: false, withdraw_crypto: false, - multisig: true, + multisig: false, social_recovery: false, }, }, { - title: "I'm use decentralized finance", + title: "Finance", description: "You are someone that follows DeFI and want’s a wallet easy to use", featureHighlight: [ - filterLabels.swaps, - filterLabels.erc_20_support, filterLabels.hardware_support, - filterLabels.layer_2, + filterLabels.connect_to_dapps, + filterLabels.gas_fee_customization, + filterLabels.erc_20_support, ], presetFilters: { - android: true, - ios: true, + android: false, + ios: false, linux: false, windows: false, macOS: false, - firefox: true, - chromium: true, - hardware: true, - open_source: true, - non_custodial: true, + firefox: false, + chromium: false, + hardware: false, + open_source: false, + non_custodial: false, hardware_support: true, - walletconnect: true, - rpc_importing: true, - nft_support: true, + walletconnect: false, + rpc_importing: false, + nft_support: false, connect_to_dapps: true, staking: false, - swaps: true, - layer_2: true, + swaps: false, + layer_2: false, gas_fee_customization: true, - ens_support: true, + ens_support: false, erc_20_support: true, buy_crypto: false, withdraw_crypto: false, @@ -425,70 +421,34 @@ const WalletPersonasSidebar = ({ description: "You are developer and needs a wallet that helps develop dapps", featureHighlight: [ - filterLabels.rpc_importing, + filterLabels.open_source, filterLabels.walletconnect, - filterLabels.nft_support, - filterLabels.erc_20_support, - ], - presetFilters: { - android: true, - ios: true, - linux: false, - windows: false, - macOS: false, - firefox: true, - chromium: true, - hardware: false, - open_source: true, - non_custodial: true, - hardware_support: false, - walletconnect: true, - rpc_importing: true, - nft_support: true, - connect_to_dapps: true, - staking: false, - swaps: false, - layer_2: true, - gas_fee_customization: true, - ens_support: true, - erc_20_support: true, - buy_crypto: false, - withdraw_crypto: false, - multisig: false, - social_recovery: false, - }, - }, - { - title: "I use multiple chains", - description: - "You use wallets on other chains and wants to get in ethereum", - featureHighlight: [ - filterLabels.layer_2, filterLabels.rpc_importing, + filterLabels.connect_to_dapps, + filterLabels.gas_fee_customization, filterLabels.erc_20_support, - filterLabels.nft_support, ], presetFilters: { android: true, ios: true, - linux: false, - windows: false, - macOS: false, + linux: true, + windows: true, + macOS: true, firefox: true, chromium: true, hardware: false, open_source: true, - non_custodial: true, - hardware_support: true, + non_custodial: false, + hardware_support: false, walletconnect: true, rpc_importing: true, - nft_support: true, + nft_support: false, connect_to_dapps: true, staking: false, swaps: false, layer_2: true, gas_fee_customization: true, - ens_support: true, + ens_support: false, erc_20_support: true, buy_crypto: false, withdraw_crypto: false, @@ -503,29 +463,28 @@ const WalletPersonasSidebar = ({ featureHighlight: [ filterLabels.nft_support, filterLabels.layer_2, - filterLabels.walletconnect, - filterLabels.hardware_support, + filterLabels.connect_to_dapps, ], presetFilters: { - android: true, - ios: true, + android: false, + ios: false, linux: false, windows: false, macOS: false, - firefox: true, - chromium: true, + firefox: false, + chromium: false, hardware: false, - open_source: true, - non_custodial: true, - hardware_support: true, - walletconnect: true, + open_source: false, + non_custodial: false, + hardware_support: false, + walletconnect: false, rpc_importing: false, nft_support: true, connect_to_dapps: true, staking: false, swaps: false, layer_2: true, - gas_fee_customization: true, + gas_fee_customization: false, ens_support: false, erc_20_support: false, buy_crypto: false, From 13c348949fd5e2a63e12613dda6cddb75cb35b41 Mon Sep 17 00:00:00 2001 From: rolodexter Date: Tue, 28 Jun 2022 10:27:53 +0800 Subject: [PATCH 231/310] Update index.md --- src/content/community/research/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/community/research/index.md b/src/content/community/research/index.md index a6f3a91f345..716edde0938 100644 --- a/src/content/community/research/index.md +++ b/src/content/community/research/index.md @@ -11,7 +11,7 @@ One of the primary strengths of Ethereum is that an active research and engineer ## How Ethereum research works {#how-ethereum-research-works} -Ethereum research is open and transparent. The culture is to make research tools and outputs as open and interactive as possible, for example, through executable notebooks. Ethereum research moves quickly, with new findings posted and discussed in the open on forums such as [ethresear.ch](https://ethresear.ch/) rather than reaching the community through traditional publications after rounds of peer review. +Ethereum research is open and transparent. Ethereum's research culture produces tools and other output that are as open and interactive as possible, for example, through executable notebooks. Ethereum research moves quickly, with new findings posted and discussed in the open on forums such as [ethresear.ch](https://ethresear.ch/) rather than reaching the community through traditional publications after rounds of peer review. ## General research resources {#general-research-resources} From ba9bb97dfba120020bb3f47105ce9db8c77b4aea Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Tue, 28 Jun 2022 10:02:37 +0100 Subject: [PATCH 232/310] Update src/theme.ts --- src/theme.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/theme.ts b/src/theme.ts index c5cfe1adaaa..053aeb983cb 100644 --- a/src/theme.ts +++ b/src/theme.ts @@ -251,7 +251,7 @@ const lightColors = { layer2Gradient: "linear-gradient(85.12deg, rgba(185, 185, 241, 0.2) 0%, rgba(84, 132, 234, 0.2) 56.29%, rgba(58, 142, 137, 0.2) 99.99%)", feedbackGradient: - "linear-gradient(83.46deg, #2C2C3211 7.03%, #44404D11 52.42%, #30303811 98.77%)", + "linear-gradient(102.7deg, rgba(185, 185, 241, 0.2) 0%, rgba(84, 132, 234, 0.2) 51.56%, rgba(58, 142, 137, 0.2) 100%)", } // TODO replace random variables w/ baseColor variables From 286c9dd61b41bacf553135ee5a86baccb644cd65 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 28 Jun 2022 12:47:11 -0600 Subject: [PATCH 233/310] add eip-1559 and swaps features --- .../FindWallet/WalletFilterSidebar.tsx | 18 ++++++++++++++- .../FindWallet/WalletPersonasSidebar.tsx | 14 ++++++++++- src/components/FindWallet/WalletTable.tsx | 23 +++++++++++-------- src/pages/wallets/find-wallet.tsx | 1 + 4 files changed, 45 insertions(+), 11 deletions(-) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index a0d12204761..05225ca8850 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -29,7 +29,6 @@ import Multisig from "../../assets/wallets/multisig.svg" import SocialRecover from "../../assets/wallets/social_recover.svg" import Swap from "../../assets/wallets/swap.svg" import Eip1559 from "../../assets/wallets/eip1559.svg" -import { filter } from "lodash" // Styles const Container = styled.div` @@ -301,6 +300,14 @@ const WalletFilterSidebar = ({ showOptions: undefined, options: [], }, + { + title: "Swaps", + icon: , + description: "Swap ERC-20 tokens right in the wallet.", + filterKey: "swaps", + showOptions: undefined, + options: [], + }, { title: "Layer 2", icon: , @@ -336,6 +343,15 @@ const WalletFilterSidebar = ({ showOptions: undefined, options: [], }, + { + title: "EIP-1559 support", + icon: , + description: + "Supports type 2 transactions saving users money in gas fees.", + filterKey: "eip_1559_support", + showOptions: undefined, + options: [], + }, ], }, { diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 91d7278c2b5..f746ee8e73b 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -141,7 +141,7 @@ const Title = styled.div` padding: 0.5rem 0.5rem 0 0.5rem; ` -const H3 = styled.h3<{ selected: boolean }>` +const H3 = styled.h3` margin-left: 0.5rem; margin-top: 0; margin-bottom: 0; @@ -221,6 +221,7 @@ interface Personas { withdraw_crypto: boolean multisig: boolean social_recovery: boolean + eip_1559_support: boolean } } @@ -297,6 +298,10 @@ const filterLabels = { label: "Token support", icon: , }, + eip_1559_support: { + label: "EIP-1559 support", + icon: , + }, } const WalletPersonasSidebar = ({ @@ -316,6 +321,7 @@ const WalletPersonasSidebar = ({ filterLabels.ens_support, filterLabels.erc_20_support, filterLabels.buy_crypto, + filterLabels.eip_1559_support, ], presetFilters: { android: true, @@ -343,6 +349,7 @@ const WalletPersonasSidebar = ({ withdraw_crypto: false, multisig: false, social_recovery: false, + eip_1559_support: true, }, }, { @@ -376,6 +383,7 @@ const WalletPersonasSidebar = ({ withdraw_crypto: false, multisig: false, social_recovery: false, + eip_1559_support: false, }, }, { @@ -387,6 +395,7 @@ const WalletPersonasSidebar = ({ filterLabels.connect_to_dapps, filterLabels.gas_fee_customization, filterLabels.erc_20_support, + filterLabels.eip_1559_support, ], presetFilters: { android: false, @@ -414,6 +423,7 @@ const WalletPersonasSidebar = ({ withdraw_crypto: false, multisig: false, social_recovery: false, + eip_1559_support: true, }, }, { @@ -454,6 +464,7 @@ const WalletPersonasSidebar = ({ withdraw_crypto: false, multisig: false, social_recovery: false, + eip_1559_support: false, }, }, { @@ -491,6 +502,7 @@ const WalletPersonasSidebar = ({ withdraw_crypto: false, multisig: false, social_recovery: false, + eip_1559_support: false, }, }, ] diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 954d5cf43c1..4107e7cbd89 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -29,8 +29,6 @@ import Swap from "../../assets/wallets/swap.svg" import Eip1559 from "../../assets/wallets/eip1559.svg" import Warning from "../../assets/staking/warning-product-glyph.svg" import GreenCheck from "../../assets/staking/green-check-product-glyph.svg" -import { opacify } from "polished" -import { opacity } from "styled-system" // Styles const Container = styled.table` @@ -474,6 +472,13 @@ const featureDropdownItems = [ category: "feature", icon: , }, + { + label: "EIP-1559 support", + value: "EIP-1559 support", + filter: "eip_1559_support", + category: "feature", + icon: , + }, { label: "Buy crypto", value: "Buy crypto", @@ -657,7 +662,7 @@ const WalletTable = ({ data, filters, walletData }) => { updateMoreInfo(idx)}> - {wallet[firstFeatureSelect.filterKey] ? ( + {wallet[firstFeatureSelect.filterKey!] ? ( ) : ( @@ -666,7 +671,7 @@ const WalletTable = ({ data, filters, walletData }) => { updateMoreInfo(idx)}> - {wallet[secondFeatureSelect.filterKey] ? ( + {wallet[secondFeatureSelect.filterKey!] ? ( ) : ( @@ -675,7 +680,7 @@ const WalletTable = ({ data, filters, walletData }) => { updateMoreInfo(idx)}> - {wallet[thirdFeatureSelect.filterKey] ? ( + {wallet[thirdFeatureSelect.filterKey!] ? ( ) : ( @@ -709,7 +714,7 @@ const WalletTable = ({ data, filters, walletData }) => { if (feature.category === "feature") return ( {feature.icon}

{feature.label}

@@ -725,7 +730,7 @@ const WalletTable = ({ data, filters, walletData }) => { if (feature.category === "security") return ( {feature.icon}

{feature.label}

@@ -741,7 +746,7 @@ const WalletTable = ({ data, filters, walletData }) => { if (feature.category === "trade_and_buy") return ( {feature.icon}

{feature.label}

@@ -757,7 +762,7 @@ const WalletTable = ({ data, filters, walletData }) => { if (feature.category === "smart_contract") return ( {feature.icon}

{feature.label}

diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 2a9eb35c122..ee3c671b985 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -284,6 +284,7 @@ const filterDefault = { withdraw_crypto: false, multisig: false, social_recovery: false, + eip_1559_support: false, } const randomizedWalletData = shuffle(walletData) From 9380a43416beaa41efbd5ded5ee3ebcfb913d33d Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 28 Jun 2022 13:35:03 -0600 Subject: [PATCH 234/310] add feature count to feature filter tab --- src/pages/wallets/find-wallet.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index ee3c671b985..fb13325508b 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -382,7 +382,16 @@ const FindWalletPage = ({ data, location }) => { active={showFeatureFilters} onClick={() => setShowFeatureFilters(true)} > -

Feature Filters

+

+ Feature Filters ( + {Object.values(filters).reduce((acc, filter) => { + if (filter) { + acc += 1 + } + return acc + }, 0)} + ) +

From f5c44d57e692f18d8b562ee3cee8652a7739a686 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 28 Jun 2022 13:40:59 -0600 Subject: [PATCH 235/310] add find-wallet to useSurvey hook --- src/hooks/useSurvey.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/hooks/useSurvey.ts b/src/hooks/useSurvey.ts index 6ed42569bab..41665df2f96 100644 --- a/src/hooks/useSurvey.ts +++ b/src/hooks/useSurvey.ts @@ -23,6 +23,10 @@ export const useSurvey = ( [YES]: `https://gzmn3wgk.paperform.co/?url=${location}`, [NO]: `https://zlj83p6l.paperform.co/?url=${location}`, }, + "find-wallet": { + [YES]: "https://wsf1ubwu.paperform.co", + [NO]: "https://wsf1ubwu.paperform.co,", + }, } let url = surveyUrls.__default[isHelpful ? YES : NO] Object.keys(surveyUrls).forEach((key) => { From 53f3ee803c01cc679514bc09727dc96b3c901a2f Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 28 Jun 2022 15:04:13 -0600 Subject: [PATCH 236/310] refactor for tooltips --- .../FindWallet/WalletFilterSidebar.tsx | 178 ++++++++---------- src/components/FindWallet/WalletTable.tsx | 125 ++++++++++-- src/data/wallets/wallet-filters.ts | 163 ++++++++++++++++ 3 files changed, 355 insertions(+), 111 deletions(-) create mode 100644 src/data/wallets/wallet-filters.ts diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 05225ca8850..82ae90400ba 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -6,6 +6,9 @@ import styled from "styled-components" import Checkbox from "../Checkbox" import Icon from "../Icon" +// Data +import walletFilterData from "../../data/wallets/wallet-filters" + // Icons import Browser from "../../assets/wallets/browser.svg" import BuyCrypto from "../../assets/wallets/buy_crypto.svg" @@ -147,73 +150,73 @@ const WalletFilterSidebar = ({ open: true, items: [ { - title: "Mobile", + title: walletFilterData.mobile.title, icon: , - description: "Phone or mobile based wallets.", - filterKey: undefined, + description: walletFilterData.mobile.description, + filterKey: walletFilterData.mobile.filterKey, showOptions: filters.android || filters.ios ? true : false, options: [ { - name: "Android", - filterKey: "android", + name: walletFilterData.android.title, + filterKey: walletFilterData.android.filterKey, inputType: "checkbox", }, { - name: "iOS", - filterKey: "ios", + name: walletFilterData.ios.title, + filterKey: walletFilterData.ios.filterKey, inputType: "checkbox", }, ], }, { - title: "Desktop", + title: walletFilterData.desktop.title, icon: , - description: "Desktop based wallets.", - filterKey: undefined, + description: walletFilterData.desktop.description, + filterKey: walletFilterData.desktop.filterKey, showOptions: filters.linux || filters.windows || filters.macOS ? true : false, options: [ { - name: "Linux", - filterKey: "linux", + name: walletFilterData.linux.title, + filterKey: walletFilterData.linux.filterKey, inputType: "checkbox", }, { - name: "Windows", - filterKey: "windows", + name: walletFilterData.windows.title, + filterKey: walletFilterData.windows.filterKey, inputType: "checkbox", }, { - name: "macOS", - filterKey: "macOS", + name: walletFilterData.macos.title, + filterKey: walletFilterData.macos.filterKey, inputType: "checkbox", }, ], }, { - title: "Browser", + title: walletFilterData.browser.title, icon: , - description: "Browser extension wallets.", - filterKey: undefined, + description: walletFilterData.browser.description, + filterKey: walletFilterData.browser.filterKey, showOptions: filters.firefox || filters.chrome ? true : false, options: [ { - name: "Firefox", - filterKey: "firefox", + name: walletFilterData.firefox.title, + filterKey: walletFilterData.firefox.filterKey, inputType: "checkbox", }, { - name: "Chromium", - filterKey: "chromium", + name: walletFilterData.chromium.title, + filterKey: walletFilterData.chromium.filterKey, inputType: "checkbox", }, ], }, { - title: "Hardware", + title: walletFilterData.hardware.title, icon: , - description: "Hardware baesd wallets.", - filterKey: "hardware", + description: walletFilterData.hardware.description, + filterKey: walletFilterData.hardware.filterKey, showOptions: undefined, options: [], }, @@ -224,19 +227,18 @@ const WalletFilterSidebar = ({ open: true, items: [ { - title: "Open source", + title: walletFilterData.open_source.title, icon: , - description: - "Wallet code for the wallet is open sourced for users to inspect and edit.", - filterKey: "open_source", + description: walletFilterData.open_source.description, + filterKey: walletFilterData.open_source.filterKey, showOptions: undefined, options: [], }, { - title: "Non-custodial", + title: walletFilterData.non_custodial.title, icon: , - description: "Who has control over the keys for your wallet.", - filterKey: "non_custodial", + description: walletFilterData.non_custodial.description, + filterKey: walletFilterData.non_custodial.filterKey, showOptions: undefined, options: [], }, @@ -247,108 +249,98 @@ const WalletFilterSidebar = ({ open: true, items: [ { - title: "Hardware support", + title: walletFilterData.hardware_support.title, icon: , - description: - "You can connect a hardware wallet and sign transactions with it.", - filterKey: "hardware_support", + description: walletFilterData.hardware_support.description, + filterKey: walletFilterData.hardware_support.filterKey, showOptions: undefined, options: [], }, { - title: "WalletConnect", + title: walletFilterData.walletconnect.title, icon: , - description: - "You can connect to applications that support WalletConnect.", - filterKey: "walletconnect", + description: walletFilterData.walletconnect.description, + filterKey: walletFilterData.walletconnect.filterKey, showOptions: undefined, options: [], }, { - title: "RPC importing", + title: walletFilterData.rpc_importing.title, icon: , - description: - "You can import RPC endpoint data to connect to different nodes/networks.", - filterKey: "rpc_importing", + description: walletFilterData.rpc_importing.description, + filterKey: walletFilterData.rpc_importing.filterKey, showOptions: undefined, options: [], }, { - title: "NFT support", + title: walletFilterData.nft_support.title, icon: , - description: - "You can view and interact with your NFTs in the wallet.", - filterKey: "nft_support", + description: walletFilterData.nft_support.description, + filterKey: walletFilterData.nft_support.filterKey, showOptions: undefined, options: [], }, { - title: "Connect to decentralized apps", + title: walletFilterData.connect_to_dapps.title, icon: , - description: - "You can connect to applications build on the Ethereum network.", - filterKey: "connect_to_dapps", + description: walletFilterData.connect_to_dapps.description, + filterKey: walletFilterData.connect_to_dapps.filterKey, showOptions: undefined, options: [], }, { - title: "Staking", + title: walletFilterData.staking.title, icon: , - description: - "You can use a simple interface to stake directly in the wallet.", - filterKey: "staking", + description: walletFilterData.staking.description, + filterKey: walletFilterData.staking.filterKey, showOptions: undefined, options: [], }, { - title: "Swaps", + title: walletFilterData.swaps.title, icon: , - description: "Swap ERC-20 tokens right in the wallet.", - filterKey: "swaps", + description: walletFilterData.swaps.description, + filterKey: walletFilterData.swaps.filterKey, showOptions: undefined, options: [], }, { - title: "Layer 2", + title: walletFilterData.layer_2.title, icon: , - description: "You can use layer 2 networks in the wallet.", - filterKey: "layer_2", + description: walletFilterData.layer_2.description, + filterKey: walletFilterData.layer_2.filterKey, showOptions: undefined, options: [], }, { - title: "Gas fee customization", + title: walletFilterData.gas_fee_customization.title, icon: , - description: - "The user is able to customize their gas inputs (base free, priority fee, max fee).", - filterKey: "gas_fee_customization", + description: walletFilterData.gas_fee_customization.description, + filterKey: walletFilterData.gas_fee_customization.filterKey, showOptions: undefined, options: [], }, { - title: "ENS support", + title: walletFilterData.ens_support.title, icon: , - description: - "The wallet supports sending transactions to ENS addresses.", - filterKey: "ens_support", + description: walletFilterData.ens_support.description, + filterKey: walletFilterData.ens_support.filterKey, showOptions: undefined, options: [], }, { - title: "Token importing", + title: walletFilterData.erc_20_support.title, icon: , - description: - "Can import ERC-20 token contract addresses into the wallet.", - filterKey: "erc_20_support", + description: walletFilterData.erc_20_support.description, + filterKey: walletFilterData.erc_20_support.filterKey, showOptions: undefined, options: [], }, { - title: "EIP-1559 support", + title: walletFilterData.eip_1559_support.title, icon: , - description: - "Supports type 2 transactions saving users money in gas fees.", - filterKey: "eip_1559_support", + description: walletFilterData.eip_1559_support.description, + filterKey: walletFilterData.eip_1559_support.filterKey, showOptions: undefined, options: [], }, @@ -359,20 +351,18 @@ const WalletFilterSidebar = ({ open: true, items: [ { - title: "Buy crypto", + title: walletFilterData.buy_crypto.title, icon: , - description: - "User is able to buy crypto with fiat directly in the wallet.", - filterKey: "buy_crypto", + description: walletFilterData.buy_crypto.description, + filterKey: walletFilterData.buy_crypto.filterKey, showOptions: undefined, options: [], }, { - title: "Withdraw crypto", + title: walletFilterData.withdraw_crypto.title, icon: , - description: - "User is able to withdraw to fiat directly in the wallet.", - filterKey: "withdraw_crypto", + description: walletFilterData.withdraw_crypto.description, + filterKey: walletFilterData.withdraw_crypto.filterKey, showOptions: undefined, options: [], }, @@ -383,20 +373,18 @@ const WalletFilterSidebar = ({ open: true, items: [ { - title: "Multisig", + title: walletFilterData.multisig.title, icon: , - description: - "Wallets that require two or more signatures from private keys for a transaction.", - filterKey: "multisig", + description: walletFilterData.multisig.description, + filterKey: walletFilterData.multisig.filterKey, showOptions: undefined, options: [], }, { - title: "Social recovery", + title: walletFilterData.social_recovery.title, icon: , - description: - "Wallets that allow guardians to change the signing key for smart contract wallets.", - filterKey: "social_recovery", + description: walletFilterData.social_recovery.description, + filterKey: walletFilterData.social_recovery.filterKey, showOptions: undefined, options: [], }, diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 4107e7cbd89..87f782894b1 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -7,6 +7,10 @@ import styled from "styled-components" import Icon from "../Icon" import Link from "../Link" import { StyledSelect as Select } from "../SharedStyledComponents" +import Tooltip from "../Tooltip" + +// Data +import walletFilterData from "../../data/wallets/wallet-filters" // Icons import BuyCrypto from "../../assets/wallets/buy_crypto.svg" @@ -317,17 +321,6 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` padding: 0.2rem; margin: 0 1rem; position: relative; - svg { - width: 1.75rem; - height: 1.75rem; - - path { - fill: ${(props) => - props.hasFeature - ? props.theme.colors.text - : props.theme.colors.secondary}; - } - } p { margin-bottom: 0; color: ${(props) => @@ -346,6 +339,20 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` } ` +const FeatureIcon = styled.div<{ hasFeature: boolean }>` + svg { + width: 1.75rem; + height: 1.75rem; + + path { + fill: ${(props) => + props.hasFeature + ? props.theme.colors.text + : props.theme.colors.secondary}; + } + } +` + const SocialsContainer = styled.div` p { margin: 0; @@ -379,6 +386,16 @@ const LastUpdated = styled.p` font-size: 0.875rem; ` +const StyledIcon = styled(Icon)<{ hasFeature: boolean }>` + fill: ${(props) => + props.hasFeature ? props.theme.colors.text : props.theme.colors.secondary}; + &:hover, + &:active, + &:focus { + fill: ${({ theme }) => theme.colors.primary}; + } +` + // Constants const featureDropdownItems = [ { @@ -475,7 +492,7 @@ const featureDropdownItems = [ { label: "EIP-1559 support", value: "EIP-1559 support", - filter: "eip_1559_support", + filterKey: "eip_1559_support", category: "feature", icon: , }, @@ -716,8 +733,27 @@ const WalletTable = ({ data, filters, walletData }) => { - {feature.icon} + + {feature.icon} +

{feature.label}

+ + { + walletFilterData[feature.filterKey] + .description + } +

+ } + > + +
) })} @@ -732,8 +768,27 @@ const WalletTable = ({ data, filters, walletData }) => { - {feature.icon} + + {feature.icon} +

{feature.label}

+ + { + walletFilterData[feature.filterKey] + .description + } +

+ } + > + +
) })} @@ -748,8 +803,27 @@ const WalletTable = ({ data, filters, walletData }) => { - {feature.icon} + + {feature.icon} +

{feature.label}

+ + { + walletFilterData[feature.filterKey] + .description + } +

+ } + > + +
) })} @@ -764,8 +838,27 @@ const WalletTable = ({ data, filters, walletData }) => { - {feature.icon} + + {feature.icon} +

{feature.label}

+ + { + walletFilterData[feature.filterKey] + .description + } +

+ } + > + +
) })} diff --git a/src/data/wallets/wallet-filters.ts b/src/data/wallets/wallet-filters.ts new file mode 100644 index 00000000000..f4713f6b04b --- /dev/null +++ b/src/data/wallets/wallet-filters.ts @@ -0,0 +1,163 @@ +interface WalletFilter { + title: string + filterKey: string | undefined + description: string +} + +const walletFilterData: { [key: string]: WalletFilter } = { + mobile: { + title: "Mobile", + description: "Phone or mobile based wallets.", + filterKey: undefined, + }, + android: { + title: "Android", + description: "", + filterKey: "android", + }, + ios: { + title: "iOS", + description: "", + filterKey: "ios", + }, + desktop: { + title: "Desktop", + description: "Desktop based wallets.", + filterKey: undefined, + }, + linux: { + title: "Linux", + description: "", + filterKey: "linux", + }, + windows: { + title: "Windows", + description: "", + filterKey: "windows", + }, + macos: { + title: "macOS", + description: "", + filterKey: "macOS", + }, + browser: { + title: "Browser", + description: "Browser extension wallets.", + filterKey: undefined, + }, + firefox: { + title: "Firefox", + description: "", + filterKey: "firefox", + }, + chromium: { + title: "Chromium", + description: "", + filterKey: "chromium", + }, + hardware: { + title: "Hardware", + description: "Hardware based wallets.", + filterKey: "hardware", + }, + open_source: { + title: "Open source", + description: + "Wallet code for the wallet is open sourced for users to inspect and edit.", + filterKey: "open_source", + }, + non_custodial: { + title: "Non-custodial", + description: "Who has control over the keys for your wallet.", + filterKey: "non_custodial", + }, + hardware_support: { + title: "Hardware support", + description: + "You can connect a hardware wallet and sign transactions with it.", + filterKey: "hardware_support", + }, + walletconnect: { + title: "WalletConnect", + description: "You can connect to applications that support WalletConnect.", + filterKey: "walletconnect", + }, + rpc_importing: { + title: "RPC importing", + description: + "You can import RPC endpoint data to connect to different nodes/networks.", + filterKey: "rpc_importing", + }, + nft_support: { + title: "NFT support", + description: "You can view and interact with your NFTs in the wallet", + filterKey: "nft_support", + }, + connect_to_dapps: { + title: "Connect to decentralized apps", + description: + "You can connect to applications built on the Ethereum network.", + filterKey: "connect_to_dapps", + }, + staking: { + title: "Staking", + description: + "You can use a simple interface to stake directly in the wallet.", + filterKey: "staking", + }, + swaps: { + title: "Swaps", + description: "Swap ERC-20 tokens directly in the wallet.", + filterKey: "swaps", + }, + layer_2: { + title: "Layer 2", + description: "You can use layer 2 networks in the wallet.", + filterKey: "layer_2", + }, + gas_fee_customization: { + title: "Gas fee customization", + description: + "The user is able to customize their gas inputs (base fee, priority fee, max fee).", + filterKey: "gas_fee_customization", + }, + ens_support: { + title: "ENS support", + description: "The wallet supports sending transactions to ENS addresses.", + filterKey: "ens_support", + }, + erc_20_support: { + title: "Token importing", + description: "Can import ERC-20 token contract addresses into the wallet.", + filterKey: "erc_20_support", + }, + eip_1559_support: { + title: "EIP-1559 support", + description: "Supports type 2 transactions saving users money in gas fees.", + filterKey: "eip_1559_support", + }, + buy_crypto: { + title: "Buy crypto", + description: "User is able to buy crypto with fiat directly in the wallet.", + filterKey: "buy_crypto", + }, + withdraw_crypto: { + title: "Withdraw crypto", + description: "User is able to withdraw to fiat directly in the wallet", + filterKey: "withdraw_crypto", + }, + multisig: { + title: "Multisig", + description: + "Wallets that require two or more signatures from private keys for a transaction", + filterKey: "multisig", + }, + social_recovery: { + title: "Social recovery", + description: + "Wallets that allow guardians to change the signing key for smart contract wallets", + filterKey: "social_recovery", + }, +} + +export default walletFilterData From 911bd40dccc555692cbef3aeae0f8ccea477cea9 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 28 Jun 2022 16:02:16 -0600 Subject: [PATCH 237/310] OR logic for devices --- src/components/FindWallet/WalletTable.tsx | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 87f782894b1..9e0775036f4 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -33,6 +33,7 @@ import Swap from "../../assets/wallets/swap.svg" import Eip1559 from "../../assets/wallets/eip1559.svg" import Warning from "../../assets/staking/warning-product-glyph.svg" import GreenCheck from "../../assets/staking/green-check-product-glyph.svg" +import { filter } from "lodash" // Styles const Container = styled.table` @@ -551,13 +552,30 @@ const WalletTable = ({ data, filters, walletData }) => { const filteredWallets = walletCardData.filter((wallet) => { let showWallet = true - Object.keys(filters).forEach((filter) => { + const featureFilterKeys = featureDropdownItems.map((item) => item.filterKey) + const deviceFiltersTrue = Object.entries(filters) + .filter((item) => !featureFilterKeys.includes(item[0])) + .filter((item) => item[1]) + .map((item) => item[0]) + + let orCheck = true + + for (let item of deviceFiltersTrue) { + if (wallet[item]) { + orCheck = true + break + } else { + orCheck = false + } + } + + featureFilterKeys.forEach((filter) => { if (filters[filter] && showWallet === true) { showWallet = filters[filter] === wallet[filter] } }) - return showWallet + return orCheck && showWallet }) const filteredFeatureDropdownItems = [...featureDropdownItems].filter( From e48ad8195c0a0b6d06cba2552a6cd1251f1f6168 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 28 Jun 2022 16:23:18 -0600 Subject: [PATCH 238/310] close icon for mobiel filter panel --- src/components/Icon.tsx | 2 ++ src/pages/wallets/find-wallet.tsx | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/components/Icon.tsx b/src/components/Icon.tsx index d4e53ec3449..785ea9d91bd 100644 --- a/src/components/Icon.tsx +++ b/src/components/Icon.tsx @@ -13,6 +13,7 @@ import { import { MdAdd, MdBrightness2, + MdOutlineCancel, MdCircle, MdClose, MdDone, @@ -62,6 +63,7 @@ const Icon: React.FC = ({ {name === "chevronDown" && } {name === "circle" && } {name === "arrowRight" && } + {name === "cancel" && } {name === "close" && } {name === "darkTheme" && } {name === "github" && } diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index fb13325508b..81fa82402c2 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -126,6 +126,12 @@ const MobileFilterToggle = styled.div` } ` +const StyledIcon = styled(Icon)` + fill: ${(props) => props.theme.colors.primary}; + width: 24; + height: 24; +` + const SecondaryText = styled.p` font-size: 14px; line-height: 14px; @@ -366,7 +372,7 @@ const FindWalletPage = ({ data, location }) => { active
- + {showMobileSidebar ? : } From 1ae2a326652d261ed6be832b056a40d92be3555d Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 28 Jun 2022 17:53:04 -0600 Subject: [PATCH 239/310] remove pipes for mobile view of device labels --- src/components/FindWallet/WalletTable.tsx | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 9e0775036f4..702fd7f02a1 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -240,7 +240,7 @@ const FlexInfo = styled.div` font-weight: bold; } p + p { - margin: 0.1rem 0 1rem; + margin-top: 0.1rem; font-size: 0.9rem; line-height: 1rem; font-weight: normal; @@ -263,6 +263,22 @@ const SecondaryText = styled.p` font-size: 0.7rem; line-height: 0.85rem; color: ${(props) => props.theme.colors.text200}; + + @media (max-width: ${(props) => props.theme.breakpoints.s}) { + display: none; + } +` + +const SecondaryTextMobile = styled.p` + display: none; + + @media (max-width: ${(props) => props.theme.breakpoints.s}) { + display: block; + font-size: 0.7rem; + line-height: 0.85rem; + margin: 0; + color: ${(props) => props.theme.colors.text200}; + } ` const WalletMoreInfoArrow = styled(Icon)` @@ -355,6 +371,7 @@ const FeatureIcon = styled.div<{ hasFeature: boolean }>` ` const SocialsContainer = styled.div` + margin-top: 1rem; p { margin: 0; } @@ -675,6 +692,9 @@ const WalletTable = ({ data, filters, walletData }) => {

{wallet.name}

{deviceLabels.join(" | ")} + {deviceLabels.map((label) => ( + {label} + ))} From 8c89d930902dc58123055e1c6f16e153e6d69e00 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 28 Jun 2022 18:06:53 -0600 Subject: [PATCH 240/310] copy pass and typescript pass --- .../FindWallet/WalletFilterSidebar.tsx | 6 +++--- .../FindWallet/WalletPersonasSidebar.tsx | 8 ++++---- src/components/Icon.tsx | 2 +- src/data/wallets/wallet-filters.ts | 19 +++++++++++-------- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 82ae90400ba..932047b9b98 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -490,12 +490,12 @@ const WalletFilterSidebar = ({ for (let filterOption of item.options) { if (filterOption.name === option.name) { - if (!filters[filterOption.filterKey]) { + if (!filters[filterOption.filterKey!]) { closeShowOptions = false break } } else { - if (filters[filterOption.filterKey]) { + if (filters[filterOption.filterKey!]) { closeShowOptions = false break } @@ -514,7 +514,7 @@ const WalletFilterSidebar = ({ }} >

{option.name}

diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index f746ee8e73b..d6f9d4a6a53 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -313,7 +313,7 @@ const WalletPersonasSidebar = ({ const themeContext = useContext(ThemeContext) const personas: Personas[] = [ { - title: "I'm new to Ethereum", + title: "I'm new to crypto", description: "You are a first time user looking for your first wallet", featureHighlight: [ filterLabels.connect_to_dapps, @@ -389,7 +389,7 @@ const WalletPersonasSidebar = ({ { title: "Finance", description: - "You are someone that follows DeFI and want’s a wallet easy to use", + "You are someone that uses DeFi and want a wallet that allows you to connect to DeFi applications", featureHighlight: [ filterLabels.hardware_support, filterLabels.connect_to_dapps, @@ -429,7 +429,7 @@ const WalletPersonasSidebar = ({ { title: "I'm a developer", description: - "You are developer and needs a wallet that helps develop dapps", + "You are developer and need a wallet to help develop and test dapps", featureHighlight: [ filterLabels.open_source, filterLabels.walletconnect, @@ -470,7 +470,7 @@ const WalletPersonasSidebar = ({ { title: "I'm all about NFT's", description: - "You are someone that is all about NFTs a wallet has to ready", + "You are someone that is all about NFTs and want a wallet with NFT support", featureHighlight: [ filterLabels.nft_support, filterLabels.layer_2, diff --git a/src/components/Icon.tsx b/src/components/Icon.tsx index 785ea9d91bd..704ba7558de 100644 --- a/src/components/Icon.tsx +++ b/src/components/Icon.tsx @@ -46,7 +46,7 @@ const socialColors = { export interface IProps { name?: string - color?: string + color?: string | boolean size?: string className?: string } diff --git a/src/data/wallets/wallet-filters.ts b/src/data/wallets/wallet-filters.ts index f4713f6b04b..2a82ba38a5a 100644 --- a/src/data/wallets/wallet-filters.ts +++ b/src/data/wallets/wallet-filters.ts @@ -63,7 +63,7 @@ const walletFilterData: { [key: string]: WalletFilter } = { open_source: { title: "Open source", description: - "Wallet code for the wallet is open sourced for users to inspect and edit.", + "Code for the wallet is open sourced for you to inspect and edit.", filterKey: "open_source", }, non_custodial: { @@ -107,7 +107,7 @@ const walletFilterData: { [key: string]: WalletFilter } = { }, swaps: { title: "Swaps", - description: "Swap ERC-20 tokens directly in the wallet.", + description: "You can swap ERC-20 tokens directly in the wallet.", filterKey: "swaps", }, layer_2: { @@ -118,32 +118,35 @@ const walletFilterData: { [key: string]: WalletFilter } = { gas_fee_customization: { title: "Gas fee customization", description: - "The user is able to customize their gas inputs (base fee, priority fee, max fee).", + "You are able to customize your gas inputs (base fee, priority fee, max fee).", filterKey: "gas_fee_customization", }, ens_support: { title: "ENS support", - description: "The wallet supports sending transactions to ENS addresses.", + description: "You are able to send transactions to ENS addresses.", filterKey: "ens_support", }, erc_20_support: { title: "Token importing", - description: "Can import ERC-20 token contract addresses into the wallet.", + description: + "You can import ERC-20 token contract addresses into the wallet.", filterKey: "erc_20_support", }, eip_1559_support: { title: "EIP-1559 support", - description: "Supports type 2 transactions saving users money in gas fees.", + description: "Supports type 2 transactions saving you money in gas fees.", filterKey: "eip_1559_support", }, buy_crypto: { title: "Buy crypto", - description: "User is able to buy crypto with fiat directly in the wallet.", + description: + "You are able to buy crypto with fiat directly in the wallet. \n *Note: buying crypto may be region locked.", filterKey: "buy_crypto", }, withdraw_crypto: { title: "Withdraw crypto", - description: "User is able to withdraw to fiat directly in the wallet", + description: + "You able to withdraw to fiat directly in the wallet. \n *Note: withdrawing crypto may be region locked.", filterKey: "withdraw_crypto", }, multisig: { From 13010d7fac179cd3da642ff4392ccf83bfd214d7 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Wed, 29 Jun 2022 09:49:16 +0100 Subject: [PATCH 241/310] feature details styling and tooltip smaller --- src/components/FindWallet/WalletTable.tsx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 702fd7f02a1..78c8f9d9cf6 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -310,6 +310,7 @@ const Features = styled.div` display: flex; flex-wrap: wrap; gap: 0.2rem; + @media (max-width: ${(props) => props.theme.breakpoints.m}) { flex-wrap: nowrap; @@ -338,6 +339,7 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` padding: 0.2rem; margin: 0 1rem; position: relative; + width: 200px; p { margin-bottom: 0; color: ${(props) => @@ -345,6 +347,13 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` ? props.theme.colors.text : props.theme.colors.secondary}; } + p + div{ + svg{ + width: 1.5rem; + fill: ${(props) => props.theme.colors.secondary}; + padding-right: 0.5rem; + } + } :after { content: ""; display: block; @@ -354,6 +363,7 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` props.hasFeature ? "rgba(0, 0, 0, 0)" : props.theme.colors.secondary}; position: absolute; } + ` const FeatureIcon = styled.div<{ hasFeature: boolean }>` From 04fdadcbf21e80dd58a354c3521f80107f853807 Mon Sep 17 00:00:00 2001 From: Hendrik Eeckhaut Date: Tue, 14 Jun 2022 20:04:22 +0200 Subject: [PATCH 242/310] Javascript -> Typescript re #6392 --- ...slationBanner.js => TranslationBanner.tsx} | 21 +++++-- ...nerLegal.js => TranslationBannerLegal.tsx} | 22 ++++++-- ...derboard.js => TranslationLeaderboard.tsx} | 14 ++++- ...Progress.js => TranslationsInProgress.tsx} | 17 +++++- src/components/{Trilemma.js => Trilemma.tsx} | 23 ++++++-- ...torialMetadata.js => TutorialMetadata.tsx} | 13 ++++- .../{TutorialTags.js => TutorialTags.tsx} | 30 ++++++---- ...ngEventsList.js => UpcomingEventsList.tsx} | 43 ++++++++++---- ...knowledgements.js => acknowledgements.tsx} | 13 ++++- .../{contributors.js => contributors.tsx} | 56 +++++++++++++------ 10 files changed, 189 insertions(+), 63 deletions(-) rename src/components/{TranslationBanner.js => TranslationBanner.tsx} (91%) rename src/components/{TranslationBannerLegal.js => TranslationBannerLegal.tsx} (90%) rename src/components/{TranslationLeaderboard.js => TranslationLeaderboard.tsx} (96%) rename src/components/{TranslationsInProgress.js => TranslationsInProgress.tsx} (85%) rename src/components/{Trilemma.js => Trilemma.tsx} (95%) rename src/components/{TutorialMetadata.js => TutorialMetadata.tsx} (92%) rename src/components/{TutorialTags.js => TutorialTags.tsx} (59%) rename src/components/{UpcomingEventsList.js => UpcomingEventsList.tsx} (80%) rename src/pages/contributing/translation-program/{acknowledgements.js => acknowledgements.tsx} (96%) rename src/pages/contributing/translation-program/{contributors.js => contributors.tsx} (75%) diff --git a/src/components/TranslationBanner.js b/src/components/TranslationBanner.tsx similarity index 91% rename from src/components/TranslationBanner.js rename to src/components/TranslationBanner.tsx index 56bb1d31565..76319c0b89b 100644 --- a/src/components/TranslationBanner.js +++ b/src/components/TranslationBanner.tsx @@ -13,7 +13,9 @@ const H3 = styled.h3` margin-bottom: 0; ` -const BannerContainer = styled.div` +const BannerContainer = styled.div<{ + isOpen: boolean +}>` display: ${(props) => (props.isOpen ? `block` : `none`)}; bottom: 2rem; right: 2rem; @@ -41,7 +43,9 @@ const StyledBanner = styled.div` } ` -const BannerContent = styled.div` +const BannerContent = styled.div<{ + isPageRightToLeft: boolean +}>` display: flex; flex-direction: column; align-items: ${(props) => @@ -52,7 +56,9 @@ const BannerContent = styled.div` } ` -const BannerClose = styled.div` +const BannerClose = styled.div<{ + isPageRightToLeft: boolean +}>` position: absolute; top: 0; right: ${(props) => (props.isPageRightToLeft ? `auto` : 0)}; @@ -99,7 +105,14 @@ const SecondaryButtonLink = styled(ButtonLink)` background-color: transparent; ` -const TranslationBanner = ({ +export interface IProps { + shouldShow: boolean + isPageRightToLeft: boolean + originalPagePath: boolean + isPageContentEnglish: boolean +} + +const TranslationBanner: React.FC = ({ shouldShow, isPageRightToLeft, originalPagePath, diff --git a/src/components/TranslationBannerLegal.js b/src/components/TranslationBannerLegal.tsx similarity index 90% rename from src/components/TranslationBannerLegal.js rename to src/components/TranslationBannerLegal.tsx index 9ac17e0def3..5dbc847ec3e 100644 --- a/src/components/TranslationBannerLegal.js +++ b/src/components/TranslationBannerLegal.tsx @@ -16,7 +16,9 @@ const H3 = styled.h3` margin-bottom: 0; ` -const BannerContainer = styled.div` +const BannerContainer = styled.div<{ + isOpen: boolean +}>` display: ${(props) => (props.isOpen ? `block` : `none`)}; bottom: 2rem; right: 2rem; @@ -44,7 +46,9 @@ const StyledBanner = styled.div` } ` -const BannerContent = styled.div` +const BannerContent = styled.div<{ + isPageRightToLeft: boolean +}>` display: flex; flex-direction: column; align-items: ${(props) => @@ -55,7 +59,9 @@ const BannerContent = styled.div` } ` -const BannerClose = styled.div` +const BannerClose = styled.div<{ + isPageRightToLeft: boolean +}>` position: absolute; top: 0; right: ${(props) => (props.isPageRightToLeft ? `auto` : 0)}; @@ -92,7 +98,13 @@ const StyledEmoji = styled(Emoji)` } ` -const TranslationBannerLegal = ({ +export interface IProps { + shouldShow: boolean + isPageRightToLeft: boolean + originalPagePath: boolean +} + +const TranslationBannerLegal: React.FC = ({ shouldShow, originalPagePath, isPageRightToLeft, @@ -130,7 +142,7 @@ const TranslationBannerLegal = ({ onClick={() => { localStorage.setItem( `dont-show-translation-legal-banner-${originalPagePath}`, - true + "true" ) setIsOpen(false) }} diff --git a/src/components/TranslationLeaderboard.js b/src/components/TranslationLeaderboard.tsx similarity index 96% rename from src/components/TranslationLeaderboard.js rename to src/components/TranslationLeaderboard.tsx index dc3d75d7168..bb38f96ab89 100644 --- a/src/components/TranslationLeaderboard.js +++ b/src/components/TranslationLeaderboard.tsx @@ -112,7 +112,17 @@ const Flex = styled.div` display: flex; ` -const TranslationLeaderboard = ({ monthData, quarterData, allTimeData }) => { +export interface IProps { + monthData: any + quarterData: any + allTimeData: any +} + +const TranslationLeaderboard: React.FC = ({ + monthData, + quarterData, + allTimeData, +}) => { const leaderboardData = { monthData: reverse(sortBy(monthData.data, ({ user }) => user.totalCosts)), quarterData: reverse( @@ -195,7 +205,7 @@ const TranslationLeaderboard = ({ monthData, quarterData, allTimeData }) => { sortBy(languages, ({ language }) => language.totalCosts) ) - let emoji = null + let emoji: string | null = null if (idx === 0) { emoji = ":trophy:" } else if (idx === 1) { diff --git a/src/components/TranslationsInProgress.js b/src/components/TranslationsInProgress.tsx similarity index 85% rename from src/components/TranslationsInProgress.js rename to src/components/TranslationsInProgress.tsx index 6930539be69..7368b91cb01 100644 --- a/src/components/TranslationsInProgress.js +++ b/src/components/TranslationsInProgress.tsx @@ -16,14 +16,25 @@ const LangItem = styled(CardItem)` flex: 1 1 200px; ` -const TranslationsInProgress = () => { - const [translationsInProgress, setTranslationsInProgress] = useState([]) +type LanguageType = { + name: string + code: string + translated_progress: string + approved_progress: string +} + +export interface IProps {} + +const TranslationsInProgress: React.FC = () => { + const [translationsInProgress, setTranslationsInProgress] = useState< + LanguageType[] + >([]) useEffect(() => { axios .get(`${GATSBY_FUNCTIONS_PATH}/translations`) .then((response) => { - let languages = [] + let languages: LanguageType[] = [] if (response.data && response.data.data) { languages = response.data.data } diff --git a/src/components/Trilemma.js b/src/components/Trilemma.tsx similarity index 95% rename from src/components/Trilemma.js rename to src/components/Trilemma.tsx index 976a936b3a0..619f8686369 100644 --- a/src/components/Trilemma.js +++ b/src/components/Trilemma.tsx @@ -54,7 +54,9 @@ const Path = styled.path` stroke-width: 2px; ` -const Text = styled.text` +const Text = styled.text<{ + isActive: boolean +}>` fill: ${(props) => props.isActive ? props.theme.colors.primary400 @@ -73,7 +75,10 @@ const CircleSelect = styled.g` cursor: pointer; ` -const FillCircle = styled.circle` +const FillCircle = styled.circle<{ + isActive: boolean + isEthereum?: boolean +}>` fill: ${(props) => props.isActive ? props.isEthereum @@ -174,7 +179,9 @@ const CloseIconContainer = styled.span` } ` -const Trilemma = () => { +export interface IProps {} + +const Trilemma: React.FC = () => { const intl = useIntl() const [state, setState] = useState({ @@ -263,7 +270,10 @@ const Trilemma = () => { : - + { variants={slidingContainerVariants} initial="closed" > - + diff --git a/src/components/TutorialMetadata.js b/src/components/TutorialMetadata.tsx similarity index 92% rename from src/components/TutorialMetadata.js rename to src/components/TutorialMetadata.tsx index 18abcea26a5..a1ea20c5b70 100644 --- a/src/components/TutorialMetadata.js +++ b/src/components/TutorialMetadata.tsx @@ -9,6 +9,7 @@ import { getLocaleTimestamp } from "../utils/time" import { FakeLink } from "./SharedStyledComponents" import Emoji from "./Emoji" import Translation from "./Translation" +import { Lang } from "../utils/languages" const Container = styled.div` display: flex; @@ -78,7 +79,11 @@ const AllCapsTranslation = styled(Translation)` text-transform: uppercase; ` -const TutorialMetadata = ({ tutorial, data }) => { +export interface IProps { + tutorial: any +} + +const TutorialMetadata: React.FC = ({ tutorial }) => { const intl = useIntl() const frontmatter = tutorial.frontmatter @@ -93,7 +98,9 @@ const TutorialMetadata = ({ tutorial, data }) => { - {frontmatter.skill} + + {frontmatter.skill} + {author && ( @@ -111,7 +118,7 @@ const TutorialMetadata = ({ tutorial, data }) => { {published && ( - {getLocaleTimestamp(intl.locale, published)} + {getLocaleTimestamp(intl.locale as Lang, published)} )} diff --git a/src/components/TutorialTags.js b/src/components/TutorialTags.tsx similarity index 59% rename from src/components/TutorialTags.js rename to src/components/TutorialTags.tsx index b8dc6139fc9..5d9c02bfe52 100644 --- a/src/components/TutorialTags.js +++ b/src/components/TutorialTags.tsx @@ -33,16 +33,24 @@ const TagPill = styled(Pill)` background-color: ${(props) => props.theme.colors[props.color]}; ` -const Tags = ({ tags }) => { - return tags.map((tag, idx) => { - const tagColorIdx = hashCode(tag) % colors.length - const tagColor = colors[tagColorIdx] - return ( - - {tag} - - ) - }) +export interface IProps { + tags: string[] } -export default Tags +const TutorialTags: React.FC = ({ tags }) => { + return ( + <> + {tags.map((tag, idx) => { + const tagColorIdx = hashCode(tag) % colors.length + const tagColor = colors[tagColorIdx] + return ( + + {tag} + + ) + })} + + ) +} + +export default TutorialTags diff --git a/src/components/UpcomingEventsList.js b/src/components/UpcomingEventsList.tsx similarity index 80% rename from src/components/UpcomingEventsList.js rename to src/components/UpcomingEventsList.tsx index 91f043ac4d7..f5625e0c31c 100644 --- a/src/components/UpcomingEventsList.js +++ b/src/components/UpcomingEventsList.tsx @@ -3,15 +3,27 @@ import React, { useEffect, useState } from "react" import styled from "styled-components" // Components -import EventCard from "../components/EventCard" -import InfoBanner from "../components/InfoBanner" -import Link from "../components/Link" -import Translation from "../components/Translation" -import ButtonLink from "../components/ButtonLink" +import EventCard from "./EventCard" +import InfoBanner from "./InfoBanner" +import Link from "./Link" +import Translation from "./Translation" +import ButtonLink from "./ButtonLink" // Data import events from "../data/community-events.json" +type EventType = { + title: string + to: string + sponsor: string + location: string + description: string + startDate: string + endDate: string + date: string // calculated from other fields later + formattedDetails: string // calculated from other fields later +} + const EventList = styled.div` /* Adding direction ltr as a temporary fix to styling bug */ /* https://github.com/ethereum/ethereum-org-website/issues/6221 */ @@ -50,20 +62,28 @@ const ButtonLinkContainer = styled.div` margin-top: 1.25rem; ` -const UpcomingEventsList = () => { +export interface IProps {} + +const UpcomingEventsList: React.FC = () => { const eventsPerLoad = 10 - const [orderedUpcomingEvents, setOrderedUpcomingEvents] = useState() + const [orderedUpcomingEvents, setOrderedUpcomingEvents] = useState< + EventType[] + >([]) const [maxRange, setMaxRange] = useState(eventsPerLoad) const [isVisible, setIsVisible] = useState(true) // Create Date object from each YYYY-MM-DD JSON date string - const dateParse = (dateString) => { + const dateParse = (dateString: string) => { const parts = dateString.split("-") - return new Date(parts[0], parts[1] - 1, parts[2]) + return new Date( + parseInt(parts[0]), + parseInt(parts[1]) - 1, + parseInt(parts[2]) + ) } useEffect(() => { - const eventsList = [...events] + const eventsList: EventType[] = [...events] as EventType[] const yesterday = new Date() yesterday.setDate(yesterday.getDate() - 1) @@ -74,7 +94,8 @@ const UpcomingEventsList = () => { // Sort events by start date const orderedEvents = upcomingEvents.sort( - (a, b) => dateParse(a.startDate) - dateParse(b.startDate) + (a: EventType, b: EventType) => + dateParse(a.startDate).getTime() - dateParse(b.startDate).getTime() ) // Add formatted string to display diff --git a/src/pages/contributing/translation-program/acknowledgements.js b/src/pages/contributing/translation-program/acknowledgements.tsx similarity index 96% rename from src/pages/contributing/translation-program/acknowledgements.js rename to src/pages/contributing/translation-program/acknowledgements.tsx index a99fd72b9b7..5ac12ff0cb4 100644 --- a/src/pages/contributing/translation-program/acknowledgements.js +++ b/src/pages/contributing/translation-program/acknowledgements.tsx @@ -1,9 +1,10 @@ // Libraries import React, { useContext } from "react" -import { graphql } from "gatsby" +import { graphql, PageProps } from "gatsby" import { GatsbyImage, getImage } from "gatsby-plugin-image" import { useIntl } from "gatsby-plugin-intl" import styled, { ThemeContext } from "styled-components" +import type { Context } from "../../../types" // Components import ActionCard from "../../../components/ActionCard" @@ -103,7 +104,13 @@ const CentralActionCard = styled(ActionCard)` } ` -const TranslatorAcknowledgements = ({ data, location }) => { +const TranslatorAcknowledgements = ({ + data, + location, +}: PageProps) => { + console.log("Hendrik", data) + console.dir(data) + console.log("Hendrik", location) const intl = useIntl() const themeContext = useContext(ThemeContext) const isDarkTheme = themeContext.isDark @@ -269,7 +276,7 @@ const TranslatorAcknowledgements = ({ data, location }) => { export default TranslatorAcknowledgements export const query = graphql` - query { + query TranslatorAcknowledgements { dogeComputer: file(relativePath: { eq: "doge-computer.png" }) { childImageSharp { gatsbyImageData( diff --git a/src/pages/contributing/translation-program/contributors.js b/src/pages/contributing/translation-program/contributors.tsx similarity index 75% rename from src/pages/contributing/translation-program/contributors.js rename to src/pages/contributing/translation-program/contributors.tsx index 9b96806720f..52a8c7efdaa 100644 --- a/src/pages/contributing/translation-program/contributors.js +++ b/src/pages/contributing/translation-program/contributors.tsx @@ -2,7 +2,8 @@ import React from "react" import styled from "styled-components" import { useIntl } from "gatsby-plugin-intl" -import { graphql } from "gatsby" +import { graphql, PageProps } from "gatsby" +import type { Context } from "../../../types" // Components import Breadcrumbs from "../../../components/Breadcrumbs" @@ -41,22 +42,45 @@ const HorizontalUl = styled.ul` } ` -const Contributors = ({ data, location }) => { +const Contributors = ({ + data, + location, +}: PageProps) => { const intl = useIntl() // TODO: Remove specific user checks once Acolad has updated their usernames - const translatorData = data.allTimeData.data.filter( - (item) => - item.user.username !== "ethdotorg" && - !item.user.username.includes("LQS_") && - !item.user.username.includes("REMOVED_USER") && - !item.user.username.includes("Aco_") && - !item.user.fullName.includes("Aco_") && - !item.user.username.includes("Acc_") && - !item.user.fullName.includes("Acc_") && - item.user.username !== "Finnish_Sandberg" && - item.user.username !== "Norwegian_Sandberg" && - item.user.username !== "Swedish_Sandberg" - ) + const translatorData = + data.allTimeData?.data?.flatMap( + // use flatMap to get cleaner object types withouts nulls + (item) => { + const user = item?.user + if (!user) return [] + + const userName = user.username + if (!userName) return [] + + const fullName = user.fullName ?? "" + + return userName !== "ethdotorg" && + !userName.includes("LQS_") && + !userName.includes("REMOVED_USER") && + !userName.includes("Aco_") && + !fullName.includes("Aco_") && + !userName.includes("Acc_") && + !fullName.includes("Acc_") && + userName !== "Finnish_Sandberg" && + userName !== "Norwegian_Sandberg" && + userName !== "Swedish_Sandberg" + ? [ + { + user: { + username: userName, + fullName: fullName, + }, + }, + ] + : [] + } + ) ?? [] return ( @@ -129,7 +153,7 @@ const Contributors = ({ data, location }) => { export default Contributors export const query = graphql` - query { + query Contributors { allTimeData: alltimeJson { data { user { From da4fb99c58ac492a5f51473031ecaafa56650fdc Mon Sep 17 00:00:00 2001 From: Hendrik Eeckhaut Date: Wed, 29 Jun 2022 11:27:04 +0200 Subject: [PATCH 243/310] Resolved review feedback --- src/components/Card.tsx | 6 +++--- src/components/TranslationBanner.tsx | 2 +- src/components/TranslationBannerLegal.tsx | 2 +- src/components/TranslationsInProgress.tsx | 4 ++-- src/components/Trilemma.tsx | 10 ++-------- src/components/TutorialTags.tsx | 4 ++-- src/components/UpcomingEventsList.tsx | 17 ++++++++++------- .../translation-program/acknowledgements.tsx | 7 ++----- .../translation-program/contributors.tsx | 4 ++-- 9 files changed, 25 insertions(+), 31 deletions(-) diff --git a/src/components/Card.tsx b/src/components/Card.tsx index 119448a030e..e0cb046fa0e 100644 --- a/src/components/Card.tsx +++ b/src/components/Card.tsx @@ -1,4 +1,4 @@ -import React from "react" +import React, { ReactNode } from "react" import styled from "styled-components" import Emoji from "./Emoji" @@ -19,8 +19,8 @@ const TopContent = styled.div`` export interface IProps { emoji?: string - title?: string - description?: string + title?: ReactNode + description?: ReactNode className?: string } diff --git a/src/components/TranslationBanner.tsx b/src/components/TranslationBanner.tsx index 76319c0b89b..aa2bb282bb3 100644 --- a/src/components/TranslationBanner.tsx +++ b/src/components/TranslationBanner.tsx @@ -108,7 +108,7 @@ const SecondaryButtonLink = styled(ButtonLink)` export interface IProps { shouldShow: boolean isPageRightToLeft: boolean - originalPagePath: boolean + originalPagePath: string isPageContentEnglish: boolean } diff --git a/src/components/TranslationBannerLegal.tsx b/src/components/TranslationBannerLegal.tsx index 5dbc847ec3e..e30563fe7ca 100644 --- a/src/components/TranslationBannerLegal.tsx +++ b/src/components/TranslationBannerLegal.tsx @@ -101,7 +101,7 @@ const StyledEmoji = styled(Emoji)` export interface IProps { shouldShow: boolean isPageRightToLeft: boolean - originalPagePath: boolean + originalPagePath: string } const TranslationBannerLegal: React.FC = ({ diff --git a/src/components/TranslationsInProgress.tsx b/src/components/TranslationsInProgress.tsx index 7368b91cb01..febd0a3e57e 100644 --- a/src/components/TranslationsInProgress.tsx +++ b/src/components/TranslationsInProgress.tsx @@ -27,14 +27,14 @@ export interface IProps {} const TranslationsInProgress: React.FC = () => { const [translationsInProgress, setTranslationsInProgress] = useState< - LanguageType[] + Array >([]) useEffect(() => { axios .get(`${GATSBY_FUNCTIONS_PATH}/translations`) .then((response) => { - let languages: LanguageType[] = [] + let languages: Array = [] if (response.data && response.data.data) { languages = response.data.data } diff --git a/src/components/Trilemma.tsx b/src/components/Trilemma.tsx index 619f8686369..44a476fef85 100644 --- a/src/components/Trilemma.tsx +++ b/src/components/Trilemma.tsx @@ -270,10 +270,7 @@ const Trilemma: React.FC = () => { : - + = () => { variants={slidingContainerVariants} initial="closed" > - + diff --git a/src/components/TutorialTags.tsx b/src/components/TutorialTags.tsx index 5d9c02bfe52..787558405ca 100644 --- a/src/components/TutorialTags.tsx +++ b/src/components/TutorialTags.tsx @@ -34,7 +34,7 @@ const TagPill = styled(Pill)` ` export interface IProps { - tags: string[] + tags: Array } const TutorialTags: React.FC = ({ tags }) => { @@ -44,7 +44,7 @@ const TutorialTags: React.FC = ({ tags }) => { const tagColorIdx = hashCode(tag) % colors.length const tagColor = colors[tagColorIdx] return ( - + {tag} ) diff --git a/src/components/UpcomingEventsList.tsx b/src/components/UpcomingEventsList.tsx index f5625e0c31c..c1d0dd49096 100644 --- a/src/components/UpcomingEventsList.tsx +++ b/src/components/UpcomingEventsList.tsx @@ -12,16 +12,19 @@ import ButtonLink from "./ButtonLink" // Data import events from "../data/community-events.json" -type EventType = { +interface RawCommunityEvent { title: string to: string - sponsor: string + sponsor: string | null location: string description: string startDate: string endDate: string - date: string // calculated from other fields later - formattedDetails: string // calculated from other fields later +} + +interface CommunityEvent extends RawCommunityEvent { + date: string + formattedDetails: string } const EventList = styled.div` @@ -67,7 +70,7 @@ export interface IProps {} const UpcomingEventsList: React.FC = () => { const eventsPerLoad = 10 const [orderedUpcomingEvents, setOrderedUpcomingEvents] = useState< - EventType[] + Array >([]) const [maxRange, setMaxRange] = useState(eventsPerLoad) const [isVisible, setIsVisible] = useState(true) @@ -83,7 +86,7 @@ const UpcomingEventsList: React.FC = () => { } useEffect(() => { - const eventsList: EventType[] = [...events] as EventType[] + const eventsList: Array = [...events] const yesterday = new Date() yesterday.setDate(yesterday.getDate() - 1) @@ -94,7 +97,7 @@ const UpcomingEventsList: React.FC = () => { // Sort events by start date const orderedEvents = upcomingEvents.sort( - (a: EventType, b: EventType) => + (a: RawCommunityEvent, b: RawCommunityEvent) => dateParse(a.startDate).getTime() - dateParse(b.startDate).getTime() ) diff --git a/src/pages/contributing/translation-program/acknowledgements.tsx b/src/pages/contributing/translation-program/acknowledgements.tsx index 5ac12ff0cb4..2ca7df77d4d 100644 --- a/src/pages/contributing/translation-program/acknowledgements.tsx +++ b/src/pages/contributing/translation-program/acknowledgements.tsx @@ -107,10 +107,7 @@ const CentralActionCard = styled(ActionCard)` const TranslatorAcknowledgements = ({ data, location, -}: PageProps) => { - console.log("Hendrik", data) - console.dir(data) - console.log("Hendrik", location) +}: PageProps) => { const intl = useIntl() const themeContext = useContext(ThemeContext) const isDarkTheme = themeContext.isDark @@ -276,7 +273,7 @@ const TranslatorAcknowledgements = ({ export default TranslatorAcknowledgements export const query = graphql` - query TranslatorAcknowledgements { + query TranslatorAcknowledgementsPage { dogeComputer: file(relativePath: { eq: "doge-computer.png" }) { childImageSharp { gatsbyImageData( diff --git a/src/pages/contributing/translation-program/contributors.tsx b/src/pages/contributing/translation-program/contributors.tsx index 52a8c7efdaa..665024262cd 100644 --- a/src/pages/contributing/translation-program/contributors.tsx +++ b/src/pages/contributing/translation-program/contributors.tsx @@ -45,7 +45,7 @@ const HorizontalUl = styled.ul` const Contributors = ({ data, location, -}: PageProps) => { +}: PageProps) => { const intl = useIntl() // TODO: Remove specific user checks once Acolad has updated their usernames const translatorData = @@ -153,7 +153,7 @@ const Contributors = ({ export default Contributors export const query = graphql` - query Contributors { + query ContributorsPage { allTimeData: alltimeJson { data { user { From 661c097408bd7d419837b0ed52dfe14eb05e8391 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Wed, 29 Jun 2022 11:00:13 +0100 Subject: [PATCH 244/310] mobile filters over the list --- src/pages/wallets/find-wallet.tsx | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 81fa82402c2..3337f1169c4 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -144,15 +144,21 @@ const FilterSidebar = styled.div<{ showMobileSidebar: boolean }>` flex-direction: column; gap: 0.55rem; overflow-y: scroll; + z-index:10; + background: ${(props) => props.theme.colors.background}; + transition: 0.5s all; + @media (max-width: ${(props) => props.theme.breakpoints.l}) { - width: ${(props) => (props.showMobileSidebar ? "350px" : "0")}; - height: ${(props) => (props.showMobileSidebar ? "100%" : "0")}; + width: ${(props) => (props.showMobileSidebar ? "350px" : "350px")}; + left: ${(props) => (props.showMobileSidebar ? "0" : "-400px")}; + height: ${(props) => (props.showMobileSidebar ? "100%" : "100%")}; display: ${(props) => (props.showMobileSidebar ? "flex" : "none")}; + position: ${(props) => (props.showMobileSidebar ? "absolute" : "relative")}; } @media (max-width: ${(props) => props.theme.breakpoints.s}) { - width: ${(props) => (props.showMobileSidebar ? "100%" : "0")}; - height: ${(props) => (props.showMobileSidebar ? "100%" : "0")}; + width: ${(props) => (props.showMobileSidebar ? "90%" : "90%")}; + height: ${(props) => (props.showMobileSidebar ? "100%" : "100%")}; display: ${(props) => (props.showMobileSidebar ? "flex" : "none")}; } ` @@ -164,13 +170,14 @@ const FilterTabs = styled.div` position: sticky; top: 0; padding-top: 8px; - min-height: 50px; background: ${(props) => props.theme.colors.background}; z-index: 1; p { margin: 0; letter-spacing: 0.02rem; + font-size:0.9rem; + width:100%; } ` @@ -182,8 +189,10 @@ const FilterTab = styled.div<{ background: ${(props) => props.active === true ? props.theme.colors.primary : "none"}; border-radius: 8px 0px 0px 0px; - padding: 10px; - vertical-align: middle; + padding: 0.5rem; + display: flex; + justify-items: center; + align-items: center; color: ${(props) => props.active === true From d83156d7a7d1b879df98ccc55192a51c93d4b326 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Wed, 29 Jun 2022 11:30:09 +0100 Subject: [PATCH 245/310] Remove alt from hero --- src/pages/wallets/find-wallet.tsx | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 3337f1169c4..2e6b363ba39 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -144,10 +144,9 @@ const FilterSidebar = styled.div<{ showMobileSidebar: boolean }>` flex-direction: column; gap: 0.55rem; overflow-y: scroll; - z-index:10; + z-index: 10; background: ${(props) => props.theme.colors.background}; transition: 0.5s all; - @media (max-width: ${(props) => props.theme.breakpoints.l}) { width: ${(props) => (props.showMobileSidebar ? "350px" : "350px")}; @@ -176,8 +175,8 @@ const FilterTabs = styled.div` p { margin: 0; letter-spacing: 0.02rem; - font-size:0.9rem; - width:100%; + font-size: 0.9rem; + width: 100%; } ` @@ -358,7 +357,7 @@ const FindWalletPage = ({ data, location }) => { From cdc1982e92f3b3cd6fd290ead8f4a8e47b5cc968 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Wed, 29 Jun 2022 11:46:12 +0100 Subject: [PATCH 246/310] fixing the mobile filter button --- src/pages/wallets/find-wallet.tsx | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 3337f1169c4..d5a658ad61b 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -93,21 +93,23 @@ const MobileFilterToggleContainer = styled.div` padding: 5px 0; ` -const MobileFilterToggle = styled.div` +const MobileFilterToggle = styled.div<{ showMobileSidebar: boolean }>` display: none; @media (max-width: ${(props) => props.theme.breakpoints.l}) { display: flex; - float: left; gap: 1rem; justify-content: center; align-items: center; - background: ${(props) => props.theme.colors.codeBackground}; - border: 1px solid #404040; + background: ${(props) => props.theme.colors.background}; + border: 1px solid ${(props) => props.theme.colors.primary};; + border-left:none; border-radius: 0px 4px 4px 0px; padding: 6px 20px 10px 20px; margin: auto; margin-left: 0; z-index: 1; + width: ${(props) => (props.showMobileSidebar ? "350px" : "150px")}; + } p { @@ -139,7 +141,7 @@ const SecondaryText = styled.p` ` const FilterSidebar = styled.div<{ showMobileSidebar: boolean }>` - width: 25%; + width: 330px; display: flex; flex-direction: column; gap: 0.55rem; @@ -147,14 +149,17 @@ const FilterSidebar = styled.div<{ showMobileSidebar: boolean }>` z-index:10; background: ${(props) => props.theme.colors.background}; transition: 0.5s all; - + z-index:20; + border-radius: 0px 8px 0px 0px; + @media (max-width: ${(props) => props.theme.breakpoints.l}) { width: ${(props) => (props.showMobileSidebar ? "350px" : "350px")}; left: ${(props) => (props.showMobileSidebar ? "0" : "-400px")}; height: ${(props) => (props.showMobileSidebar ? "100%" : "100%")}; display: ${(props) => (props.showMobileSidebar ? "flex" : "none")}; position: ${(props) => (props.showMobileSidebar ? "absolute" : "relative")}; + box-shadow: ${(props) => (props.showMobileSidebar ? "20px 0px 5px 0px rgb(0 0 0 / 38%)" : "none")}; } @media (max-width: ${(props) => props.theme.breakpoints.s}) { width: ${(props) => (props.showMobileSidebar ? "90%" : "90%")}; @@ -169,10 +174,10 @@ const FilterTabs = styled.div` cursor: pointer; position: sticky; top: 0; - padding-top: 8px; background: ${(props) => props.theme.colors.background}; z-index: 1; + p { margin: 0; letter-spacing: 0.02rem; @@ -189,7 +194,7 @@ const FilterTab = styled.div<{ background: ${(props) => props.active === true ? props.theme.colors.primary : "none"}; border-radius: 8px 0px 0px 0px; - padding: 0.5rem; + padding: 0.9rem 0.4rem; display: flex; justify-items: center; align-items: center; From 15ae520fe06f4698a5172e568fdf735eba07bee5 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Wed, 29 Jun 2022 11:54:18 +0100 Subject: [PATCH 247/310] resolved conflict --- src/pages/wallets/find-wallet.tsx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 58049db4e74..966051dbceb 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -109,7 +109,6 @@ const MobileFilterToggle = styled.div<{ showMobileSidebar: boolean }>` margin-left: 0; z-index: 1; width: ${(props) => (props.showMobileSidebar ? "350px" : "150px")}; - } p { @@ -146,10 +145,9 @@ const FilterSidebar = styled.div<{ showMobileSidebar: boolean }>` flex-direction: column; gap: 0.55rem; overflow-y: scroll; - z-index: 10; background: ${(props) => props.theme.colors.background}; transition: 0.5s all; - z-index:20; + z-index: 20; border-radius: 0px 8px 0px 0px; @@ -182,7 +180,7 @@ const FilterTabs = styled.div` margin: 0; letter-spacing: 0.02rem; font-size: 0.9rem; - width: 100%; + width:100%; } ` @@ -363,7 +361,7 @@ const FindWalletPage = ({ data, location }) => { From 6ce6456d5d95fe84b1b5346f3b73121328166bbe Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Wed, 29 Jun 2022 11:57:31 +0100 Subject: [PATCH 248/310] Reset filters a11y button --- src/pages/wallets/find-wallet.tsx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 2e6b363ba39..9f997abdaee 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -408,9 +408,19 @@ const FindWalletPage = ({ data, location }) => {

- - -

RESET FILTERS

+ +
{showFeatureFilters ? ( From 647550cd974a52f5ee77d767d5fb69ee492b4b3b Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Wed, 29 Jun 2022 12:08:28 +0100 Subject: [PATCH 249/310] Remove misused heading from profile filter prompt and rename --- src/components/FindWallet/WalletPersonasSidebar.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index d6f9d4a6a53..134de487228 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -149,7 +149,7 @@ const H3 = styled.h3` padding: 0 0.25rem; line-height: 1.7rem; ` -const H4 = styled.h4` +const ProfileFilterPrompt = styled.span` margin: 0; font-weight: normal; font-size: 0.875rem; @@ -509,10 +509,10 @@ const WalletPersonasSidebar = ({ return ( -

+ Choose the profile that matches your type of user and filter the wallet list -

+ {personas.map((persona, idx) => { return ( Date: Wed, 29 Jun 2022 12:45:12 +0100 Subject: [PATCH 250/310] Fix a11y personas --- .../FindWallet/WalletPersonasSidebar.tsx | 46 +++++++++++++++---- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 134de487228..396b16c1155 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -37,7 +37,7 @@ const Container = styled.div` } ` -const PersonaFeature = styled.div<{ +const FeatureListItem = styled.li<{ selected: boolean }>` display: flex; @@ -132,6 +132,26 @@ const Persona = styled.div<{ } ` +const PersonaDescription = styled.span<{ + selected: boolean +}>` + margin: 0.5rem 0 0.8rem 0; + padding: 0.7rem 0.6rem 0; + color: ${(props) => + props.selected === true + ? props.theme.colors.primary + : props.theme.colors.text200}; + font-size: 0.9rem; + font-weight: normal; + transition: 0.5s all; + line-height: 1.3; + border-top: 1px solid + ${(props) => + props.selected === true + ? props.theme.colors.primary + : props.theme.colors.lightBorder}; +` + const Title = styled.div` display: flex; gap: 0.5rem; @@ -159,7 +179,8 @@ const ProfileFilterPrompt = styled.span` color: ${(props) => props.theme.colors.secondary}; ` -const Grid = styled.div` +const FeatureGridList = styled.ul` + margin: 0; display: grid; grid-template-columns: 50% 50%; width: 100%; @@ -528,7 +549,10 @@ const WalletPersonasSidebar = ({ }} > - <IconContainer> + <IconContainer + role="checkbox" + aria-label={`${persona.title} filter`} + > <StyledIcon name="check" selected={selectedPersona === idx} @@ -537,15 +561,17 @@ const WalletPersonasSidebar = ({ </IconContainer> <H3>{persona.title}</H3> -

{persona.description}

- + + {persona.description} + + {persona.featureHighlight.map((feature) => ( - - {feature.icon} -

{feature.label}

-
+ + + {feature.label} + ))} -
+
) })} From 962d398429ec7c8fd93824a4bd1d85ab1e99441f Mon Sep 17 00:00:00 2001 From: Sam Richards Date: Wed, 29 Jun 2022 08:21:48 -0400 Subject: [PATCH 251/310] User "projects" not "companies" --- src/intl/en/page-wallets-find-wallet.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intl/en/page-wallets-find-wallet.json b/src/intl/en/page-wallets-find-wallet.json index e2b4d88b507..c6576f8b991 100644 --- a/src/intl/en/page-wallets-find-wallet.json +++ b/src/intl/en/page-wallets-find-wallet.json @@ -107,7 +107,7 @@ "page-find-wallet-new-to-wallets": "New to wallets? Here's an overview to get you started.", "page-find-wallet-new-to-wallets-link": "Ethereum wallets", "page-find-wallet-not-all-features": "No wallet has all of these features yet", - "page-find-wallet-not-endorsements": "Wallets listed on this page are not official endorsements, and are provided for informational purposes only. Their descriptions have been provided by the wallet companies themselves. We add products to this page based on criteria in our", + "page-find-wallet-not-endorsements": "Wallets listed on this page are not official endorsements, and are provided for informational purposes only. Their descriptions have been provided by the wallet projects themselves. We add products to this page based on criteria in our", "page-find-wallet-numio-logo-alt": "Numio logo", "page-find-wallet-overwhelmed": "Ethereum wallets below. Overwhelmed? Try filtering by features.", "page-find-wallet-opera-logo-alt": "Opera logo", From 440c7283763a1dd6dfcb4a219bdece460343d7aa Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Wed, 29 Jun 2022 13:22:49 +0100 Subject: [PATCH 252/310] Feature filters a11y --- src/components/Checkbox.tsx | 7 +++- .../FindWallet/WalletFilterSidebar.tsx | 37 ++++++++++++++----- 2 files changed, 33 insertions(+), 11 deletions(-) diff --git a/src/components/Checkbox.tsx b/src/components/Checkbox.tsx index 557db4f57e4..fa11d530c85 100644 --- a/src/components/Checkbox.tsx +++ b/src/components/Checkbox.tsx @@ -77,7 +77,12 @@ const Checkbox: React.FC = ({ return ( - +
From 6ddfbacfd9fa3c79e046a6d38b542c0c0d42dd7b Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 29 Jun 2022 10:49:21 -0600 Subject: [PATCH 259/310] remove im from personas, and position NFT as second user persona --- .../FindWallet/WalletPersonasSidebar.tsx | 82 +++++++++---------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index ffd9d564ef1..6a6044ccccd 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -316,7 +316,7 @@ const WalletPersonasSidebar = ({ const themeContext = useContext(ThemeContext) const personas: Personas[] = [ { - title: "I'm new to crypto", + title: "New to crypto", description: "You are a first time user looking for your first wallet", featureHighlight: [ filterLabels.connect_to_dapps, @@ -356,7 +356,45 @@ const WalletPersonasSidebar = ({ }, }, { - title: "I'm a hodler", + title: "NFT's", + description: + "You are someone that is all about NFTs and want a wallet with NFT support", + featureHighlight: [ + filterLabels.nft_support, + filterLabels.layer_2, + filterLabels.connect_to_dapps, + ], + presetFilters: { + android: false, + ios: false, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: false, + non_custodial: false, + hardware_support: false, + walletconnect: false, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: false, + layer_2: true, + gas_fee_customization: false, + ens_support: false, + erc_20_support: false, + buy_crypto: false, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + eip_1559_support: false, + }, + }, + { + title: "Hodler", description: "You are someone that has tokens and don’t want to touch them", featureHighlight: [filterLabels.hardware, filterLabels.non_custodial], @@ -430,7 +468,7 @@ const WalletPersonasSidebar = ({ }, }, { - title: "I'm a developer", + title: "Developer", description: "You are developer and need a wallet to help develop and test dapps", featureHighlight: [ @@ -470,44 +508,6 @@ const WalletPersonasSidebar = ({ eip_1559_support: false, }, }, - { - title: "I'm all about NFT's", - description: - "You are someone that is all about NFTs and want a wallet with NFT support", - featureHighlight: [ - filterLabels.nft_support, - filterLabels.layer_2, - filterLabels.connect_to_dapps, - ], - presetFilters: { - android: false, - ios: false, - linux: false, - windows: false, - macOS: false, - firefox: false, - chromium: false, - hardware: false, - open_source: false, - non_custodial: false, - hardware_support: false, - walletconnect: false, - rpc_importing: false, - nft_support: true, - connect_to_dapps: true, - staking: false, - swaps: false, - layer_2: true, - gas_fee_customization: false, - ens_support: false, - erc_20_support: false, - buy_crypto: false, - withdraw_crypto: false, - multisig: false, - social_recovery: false, - eip_1559_support: false, - }, - }, ] return ( From ca98c2d8b08d45b7bd1adb7b4e8048500c1e74a3 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 29 Jun 2022 12:40:56 -0600 Subject: [PATCH 260/310] 1inch wallet icon --- src/data/wallets/wallet-data.ts | 2 +- src/pages/wallets/find-wallet.tsx | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index 55e795659fd..f54c36b456b 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -931,7 +931,7 @@ const walletData: WalletData[] = [ { last_updated: "June 24, 2022", name: "1inch wallet", - image_name: "1inch", + image_name: "oneinch", brand_color: "#000000", url: "https://1inch.io/", wallet_live_date: "April 2021", diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 5ec880be917..999b602f7e8 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -143,7 +143,7 @@ const SecondaryText = styled.p` const FilterSidebar = styled.div<{ showMobileSidebar: boolean }>` max-width: 330px; - width:100%; + width: 100%; display: flex; flex-direction: column; gap: 0.55rem; @@ -647,5 +647,10 @@ export const query = graphql` gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } + oneinch: file(relativePath: { eq: "wallets/1inch.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } } ` From 6b322a1eedae083af627996624285cf7c5a4747a Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Wed, 29 Jun 2022 21:08:06 +0100 Subject: [PATCH 261/310] line-through on the off features --- src/components/FindWallet/WalletTable.tsx | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 322b47b0665..9b9dce2c7a9 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -341,10 +341,8 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` width: 200px; p { margin-bottom: 0; - color: ${(props) => - props.hasFeature - ? props.theme.colors.text - : props.theme.colors.secondary}; + color: ${(props) => props.hasFeature ? props.theme.colors.text : props.theme.colors.secondary}; + text-decoration: ${(props) => props.hasFeature ? "none" : "line-through"}; } p + div{ svg{ @@ -353,15 +351,6 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` padding-right: 0.5rem; } } - :after { - content: ""; - display: block; - height: 1px; - width: 100%; - background: ${(props) => - props.hasFeature ? "rgba(0, 0, 0, 0)" : props.theme.colors.secondary}; - position: absolute; - } ` From a43c6e3f6f5aa67b9a1cbe74f125729de5161717 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Wed, 29 Jun 2022 21:16:23 +0100 Subject: [PATCH 262/310] move the tootip icon closer to text --- src/components/FindWallet/WalletTable.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 9b9dce2c7a9..fd55663a885 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -341,6 +341,7 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` width: 200px; p { margin-bottom: 0; + flex:none; color: ${(props) => props.hasFeature ? props.theme.colors.text : props.theme.colors.secondary}; text-decoration: ${(props) => props.hasFeature ? "none" : "line-through"}; } From ce9c007376c0427faedc0eda86dedbe8b5d034be Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Wed, 29 Jun 2022 21:34:01 +0100 Subject: [PATCH 263/310] changed selected colors to default and align checkbox --- .../FindWallet/WalletPersonasSidebar.tsx | 33 +++++-------------- 1 file changed, 8 insertions(+), 25 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 6a6044ccccd..16d281db84d 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -58,14 +58,8 @@ const FeatureListItem = styled.li<{ width: 28px; height: 28px; path { - fill: ${(props) => - props.selected === true - ? props.theme.colors.primary - : props.theme.colors.text}; - stroke: ${(props) => - props.selected === true - ? props.theme.colors.black - : props.theme.colors.text}; + fill: ${(props) => props.theme.colors.text}; + stroke: ${(props) => props.theme.colors.text}; } } ` @@ -91,14 +85,7 @@ const Persona = styled.div<{ transition: 0.5s all; h3 { - color: ${(props) => - props.selected === true - ? props.isDark === true - ? props.theme.colors.primary - : props.theme.colors.primary - : props.isDark === true - ? props.theme.colors.text - : props.theme.colors.text}; + color: ${(props) => props.theme.colors.text}; } &:hover { @@ -121,17 +108,13 @@ const PersonaDescription = styled.span<{ padding: 0.7rem 0.6rem 0; color: ${(props) => props.selected === true - ? props.theme.colors.primary + ? props.theme.colors.text : props.theme.colors.text200}; font-size: 0.9rem; font-weight: normal; transition: 0.5s all; line-height: 1.3; - border-top: 1px solid - ${(props) => - props.selected === true - ? props.theme.colors.primary - : props.theme.colors.lightBorder}; + border-top: 1px solid ${(props) => props.theme.colors.lightBorder}; ` const Title = styled.div` @@ -148,7 +131,7 @@ const H3 = styled.h3` margin-top: 0; margin-bottom: 0; font-size: 1.3rem; - padding: 0 0.25rem; + padding: 0 0.25rem 0 0; line-height: 1.7rem; ` const ProfileFilterPrompt = styled.span` @@ -171,8 +154,8 @@ const FeatureGridList = styled.ul` ` const IconContainer = styled.div` - width: 14px; - height: 14px; + width: 1.3rem; + height: 1.3rem; ` const StyledIcon = styled(Icon)<{ selected: boolean }>` From 1eb9f58b6382c8ad31d986678f8a4c2911a66923 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Wed, 29 Jun 2022 21:42:00 +0100 Subject: [PATCH 264/310] fix line through on tooltips --- src/components/FindWallet/WalletTable.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index fd55663a885..8a60e01417a 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -345,6 +345,9 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` color: ${(props) => props.hasFeature ? props.theme.colors.text : props.theme.colors.secondary}; text-decoration: ${(props) => props.hasFeature ? "none" : "line-through"}; } + span + p{ + text-decoration:none; + } p + div{ svg{ width: 1.5rem; From 8ad7f77af4afd4de5ec6061707531270fc294001 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Wed, 29 Jun 2022 21:48:39 +0100 Subject: [PATCH 265/310] Update WalletTable.tsx active tooltip size bug squashed --- src/components/FindWallet/WalletTable.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 8a60e01417a..6f5141d2b07 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -348,7 +348,7 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` span + p{ text-decoration:none; } - p + div{ + p + div, div + div{ svg{ width: 1.5rem; fill: ${(props) => props.theme.colors.secondary}; @@ -356,6 +356,7 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` } } + ` const FeatureIcon = styled.div<{ hasFeature: boolean }>` From 3a6b040d5fcaba2add84f35adf5972505be1e2ad Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Wed, 29 Jun 2022 22:04:15 +0100 Subject: [PATCH 266/310] "go to wallet" button opacity --- src/components/FindWallet/WalletTable.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 6f5141d2b07..fd3bc3e1cd4 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -430,6 +430,9 @@ const LastUpdated = styled.p` :after{ margin-right: 0.2rem; } + :hover { + opacity: 0.8; + } } ` From a8adf2dc8b1bd4c72f66f44306e68429d73984bf Mon Sep 17 00:00:00 2001 From: Pablo Pettinari Date: Wed, 29 Jun 2022 18:13:18 -0300 Subject: [PATCH 267/310] remove unused prop --- src/pages/staking/deposit-contract.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/staking/deposit-contract.tsx b/src/pages/staking/deposit-contract.tsx index bca63c08463..eb3949872f2 100644 --- a/src/pages/staking/deposit-contract.tsx +++ b/src/pages/staking/deposit-contract.tsx @@ -469,7 +469,7 @@ const DepositContractPage = ({ )} - +
{" "} From 657183263f0139f474c730861141ba0682a8b0af Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 29 Jun 2022 15:46:00 -0600 Subject: [PATCH 268/310] matomo events --- .../FindWallet/WalletFilterSidebar.tsx | 31 ++++ .../FindWallet/WalletPersonasSidebar.tsx | 13 ++ src/components/FindWallet/WalletTable.tsx | 143 ++++++++++++++---- src/pages/wallets/find-wallet.tsx | 25 ++- 4 files changed, 183 insertions(+), 29 deletions(-) diff --git a/src/components/FindWallet/WalletFilterSidebar.tsx b/src/components/FindWallet/WalletFilterSidebar.tsx index 9bd4ec44369..5807b4351d1 100644 --- a/src/components/FindWallet/WalletFilterSidebar.tsx +++ b/src/components/FindWallet/WalletFilterSidebar.tsx @@ -33,6 +33,9 @@ import SocialRecover from "../../assets/wallets/social_recover.svg" import Swap from "../../assets/wallets/swap.svg" import Eip1559 from "../../assets/wallets/eip1559.svg" +// Utils +import { trackCustomEvent } from "../../utils/matomo" + // Styles const Container = styled.div` display: flex; @@ -437,6 +440,13 @@ const WalletFilterSidebar = ({ onClick={ item.filterKey ? () => { + trackCustomEvent({ + eventCategory: "WalletFilterSidebar", + eventAction: `${filterOption.title}`, + eventName: `${item.filterKey} ${!filters[ + item.filterKey! + ]}`, + }) updateFilterOption(item.filterKey) } : () => { @@ -486,6 +496,13 @@ const WalletFilterSidebar = ({ item.filterKey ? () => { updateFilterOption(item.filterKey) + trackCustomEvent({ + eventCategory: "WalletFilterSidebar", + eventAction: `${filterOption.title}`, + eventName: `${item.filterKey} ${!filters[ + item.filterKey! + ]}`, + }) } : () => { setShowOptions(idx, itemidx, !item.showOptions) @@ -526,6 +543,20 @@ const WalletFilterSidebar = ({ ) } + console.log({ + eventCategory: "WalletFilterSidebar", + eventAction: `${filterOption.title}`, + eventName: `${option.filterKey} ${!filters[ + option.filterKey! + ]}`, + }) + trackCustomEvent({ + eventCategory: "WalletFilterSidebar", + eventAction: `${filterOption.title}`, + eventName: `${option.filterKey} ${!filters[ + option.filterKey! + ]}`, + }) updateFilterOption(option.filterKey) }} > diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 16d281db84d..d7c456a3115 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -26,6 +26,9 @@ import SocialRecover from "../../assets/wallets/social_recover.svg" import Swap from "../../assets/wallets/swap.svg" import Eip1559 from "../../assets/wallets/eip1559.svg" +// Utils +import { trackCustomEvent } from "../../utils/matomo" + // Styles const Container = styled.div` display: flex; @@ -507,9 +510,19 @@ const WalletPersonasSidebar = ({ onClick={() => { if (idx === selectedPersona) { resetFilters() + trackCustomEvent({ + eventCategory: "UserPersona", + eventAction: `${persona.title}`, + eventName: `${persona.title} false`, + }) } else { setSelectedPersona(idx) setFilters(persona.presetFilters) + trackCustomEvent({ + eventCategory: "UserPersona", + eventAction: `${persona.title}`, + eventName: `${persona.title} true`, + }) } }} > diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index fd3bc3e1cd4..dc906b02b69 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -33,7 +33,9 @@ import Swap from "../../assets/wallets/swap.svg" import Eip1559 from "../../assets/wallets/eip1559.svg" import Warning from "../../assets/staking/warning-product-glyph.svg" import GreenCheck from "../../assets/staking/green-check-product-glyph.svg" -import { filter } from "lodash" + +// Utils +import { trackCustomEvent } from "../../utils/matomo" // Styles const Container = styled.table` @@ -309,7 +311,6 @@ const Features = styled.div` display: flex; flex-wrap: wrap; gap: 0.2rem; - @media (max-width: ${(props) => props.theme.breakpoints.m}) { flex-wrap: nowrap; @@ -341,22 +342,24 @@ const FeatureLabel = styled.div<{ hasFeature: boolean }>` width: 200px; p { margin-bottom: 0; - flex:none; - color: ${(props) => props.hasFeature ? props.theme.colors.text : props.theme.colors.secondary}; - text-decoration: ${(props) => props.hasFeature ? "none" : "line-through"}; + flex: none; + color: ${(props) => + props.hasFeature + ? props.theme.colors.text + : props.theme.colors.secondary}; + text-decoration: ${(props) => (props.hasFeature ? "none" : "line-through")}; } - span + p{ - text-decoration:none; + span + p { + text-decoration: none; } - p + div, div + div{ - svg{ + p + div, + div + div { + svg { width: 1.5rem; fill: ${(props) => props.theme.colors.secondary}; padding-right: 0.5rem; } } - - ` const FeatureIcon = styled.div<{ hasFeature: boolean }>` @@ -416,18 +419,18 @@ const LastUpdated = styled.p` align-items: flex-start; flex-flow: column-reverse; } - a{ - border-radius:4px; + a { + border-radius: 4px; padding: 0.3rem 0.7rem; - margin:0.3rem; - text-decoration:none; + margin: 0.3rem; + text-decoration: none; background: ${(props) => props.theme.colors.primary}; color: ${(props) => props.theme.colors.background}; @media (max-width: ${(props) => props.theme.breakpoints.m}) { - margin-left:0; - margin-bottom: 0.6rem; - } - :after{ + margin-left: 0; + margin-bottom: 0.6rem; + } + :after { margin-right: 0.2rem; } :hover { @@ -658,6 +661,11 @@ const WalletTable = ({ data, filters, walletData }) => { ]} onChange={(selectedOption) => { setFirstFeatureSelect(selectedOption) + trackCustomEvent({ + eventCategory: "WalletFeatureCompare", + eventAction: `Select WalletFeatureCompare`, + eventName: `${selectedOption.filterKey} selected`, + }) }} defaultValue={firstFeatureSelect} isSearchable={false} @@ -675,6 +683,11 @@ const WalletTable = ({ data, filters, walletData }) => { ]} onChange={(selectedOption) => { setSecondFeatureSelect(selectedOption) + trackCustomEvent({ + eventCategory: "WalletFeatureCompare", + eventAction: `Select WalletFeatureCompare`, + eventName: `${selectedOption.filterKey} selected`, + }) }} defaultValue={secondFeatureSelect} isSearchable={false} @@ -692,6 +705,11 @@ const WalletTable = ({ data, filters, walletData }) => { ]} onChange={(selectedOption) => { setThirdFeatureSelect(selectedOption) + trackCustomEvent({ + eventCategory: "WalletFeatureCompare", + eventAction: `Select WalletFeatureCompare`, + eventName: `${selectedOption.filterKey} selected`, + }) }} defaultValue={thirdFeatureSelect} isSearchable={false} @@ -729,16 +747,43 @@ const WalletTable = ({ data, filters, walletData }) => { ))} - + {wallet.twitter && ( - + )} {wallet.discord && ( - + )} @@ -748,7 +793,16 @@ const WalletTable = ({ data, filters, walletData }) => { - updateMoreInfo(idx)}> + { + updateMoreInfo(idx) + trackCustomEvent({ + eventCategory: "WalletMoreInfo", + eventAction: `More info wallet`, + eventName: `More info ${wallet.name}`, + }) + }} + > {wallet[firstFeatureSelect.filterKey!] ? ( ) : ( @@ -757,7 +811,16 @@ const WalletTable = ({ data, filters, walletData }) => { - updateMoreInfo(idx)}> + { + updateMoreInfo(idx) + trackCustomEvent({ + eventCategory: "WalletMoreInfo", + eventAction: `More info wallet`, + eventName: `More info ${wallet.name}`, + }) + }} + > {wallet[secondFeatureSelect.filterKey!] ? ( ) : ( @@ -766,7 +829,16 @@ const WalletTable = ({ data, filters, walletData }) => { - updateMoreInfo(idx)}> + { + updateMoreInfo(idx) + trackCustomEvent({ + eventCategory: "WalletMoreInfo", + eventAction: `More info wallet`, + eventName: `More info ${wallet.name}`, + }) + }} + > {wallet[thirdFeatureSelect.filterKey!] ? ( ) : ( @@ -778,7 +850,14 @@ const WalletTable = ({ data, filters, walletData }) => {
updateMoreInfo(idx)} + onClick={() => { + updateMoreInfo(idx) + trackCustomEvent({ + eventCategory: "WalletMoreInfo", + eventAction: `More info wallet`, + eventName: `More info ${wallet.name}`, + }) + }} > { {wallet.name} info updated on {wallet.last_updated} - Check out {wallet.name} + + Check out {wallet.name} +
diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 999b602f7e8..0513c2f90bc 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -25,6 +25,7 @@ import FilterBurger from "../../assets/wallets/filter_burger.svg" // Utils import { translateMessageId } from "../../utils/translations" +import { trackCustomEvent } from "../../utils/matomo" // Styles const HeroContainer = styled.div` @@ -371,8 +372,14 @@ const FindWalletPage = ({ data, location }) => { { setShowMobileSidebar(!showMobileSidebar) + trackCustomEvent({ + eventCategory: "MobileFilterToggle", + eventAction: `Tap MobileFilterToggle`, + eventName: `show mobile filters ${!showMobileSidebar}`, + }) }} >
@@ -395,13 +402,27 @@ const FindWalletPage = ({ data, location }) => { setShowFeatureFilters(false)} + onClick={() => { + setShowFeatureFilters(false) + trackCustomEvent({ + eventCategory: "WalletFilterSidebar", + eventAction: `WalletFilterSidebar tab clicked`, + eventName: `show user personas`, + }) + }} >

Profile Filters

setShowFeatureFilters(true)} + onClick={() => { + setShowFeatureFilters(true) + trackCustomEvent({ + eventCategory: "WalletFilterSidebar", + eventAction: `WalletFilterSidebar tab clicked`, + eventName: `show feature filters`, + }) + }} >

Feature Filters ( From 7cc0d34fbca3a89feed14b37ef6770a53e777d5f Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 30 Jun 2022 00:49:57 -0600 Subject: [PATCH 269/310] fix or logic --- src/components/FindWallet/WalletTable.tsx | 63 ++++++++++++++++++++--- 1 file changed, 56 insertions(+), 7 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index dc906b02b69..083b974fb15 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -603,21 +603,68 @@ const WalletTable = ({ data, filters, walletData }) => { const filteredWallets = walletCardData.filter((wallet) => { let showWallet = true + let mobileCheck = true + let desktopCheck = true + let browserCheck = true + let hardwareCheck = true const featureFilterKeys = featureDropdownItems.map((item) => item.filterKey) - const deviceFiltersTrue = Object.entries(filters) - .filter((item) => !featureFilterKeys.includes(item[0])) + const deviceFilters = Object.entries(filters).filter( + (item) => !featureFilterKeys.includes(item[0]) + ) + const mobileFiltersTrue = deviceFilters + .filter((item) => item[0] === "ios" || item[0] === "android") .filter((item) => item[1]) .map((item) => item[0]) + const desktopFiltersTrue = deviceFilters + .filter( + (item) => + item[0] === "linux" || item[0] === "windows" || item[0] === "macOS" + ) + .filter((item) => item[1]) + .map((item) => item[0]) + const browserFiltersTrue = deviceFilters + .filter((item) => item[0] === "firefox" || item[0] === "chromium") + .filter((item) => item[1]) + .map((item) => item[0]) + const hardwareFiltersTrue = deviceFilters + .filter((item) => item[0] === "hardware") + .filter((item) => item[1]) + .map((item) => item[0]) + + for (let item of mobileFiltersTrue) { + if (wallet[item]) { + mobileCheck = true + break + } else { + mobileCheck = false + } + } + + for (let item of desktopFiltersTrue) { + if (wallet[item]) { + desktopCheck = true + break + } else { + desktopCheck = false + } + } - let orCheck = true + for (let item of browserFiltersTrue) { + if (wallet[item]) { + browserCheck = true + break + } else { + browserCheck = false + } + } - for (let item of deviceFiltersTrue) { + for (let item of hardwareFiltersTrue) { if (wallet[item]) { - orCheck = true + hardwareCheck = true break } else { - orCheck = false + hardwareCheck = false } } @@ -627,7 +674,9 @@ const WalletTable = ({ data, filters, walletData }) => { } }) - return orCheck && showWallet + return ( + mobileCheck && desktopCheck && browserCheck && hardwareCheck && showWallet + ) }) const filteredFeatureDropdownItems = [...featureDropdownItems].filter( From d99d09408a3c4fd7167443ffa0ba527e6176d356 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Thu, 30 Jun 2022 09:17:25 +0100 Subject: [PATCH 270/310] box shadow for the mobile over the content filters --- src/pages/wallets/find-wallet.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 0513c2f90bc..3d2b2cca856 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -161,7 +161,7 @@ const FilterSidebar = styled.div<{ showMobileSidebar: boolean }>` display: ${(props) => (props.showMobileSidebar ? "flex" : "none")}; position: ${(props) => (props.showMobileSidebar ? "absolute" : "relative")}; box-shadow: ${(props) => - props.showMobileSidebar ? "20px 0px 5px 0px rgb(0 0 0 / 38%)" : "none"}; + props.showMobileSidebar ? "0 600px 0 600px rgb(0 0 0 / 65%)" : "none"}; } @media (max-width: ${(props) => props.theme.breakpoints.s}) { width: ${(props) => (props.showMobileSidebar ? "90%" : "90%")}; From 1995011ed47003cfd49182fb8e2f9e3066e48f56 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Thu, 30 Jun 2022 09:38:11 +0100 Subject: [PATCH 271/310] mobile filters toggle button final touches --- src/pages/wallets/find-wallet.tsx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 3d2b2cca856..e0e6a75efe6 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -101,9 +101,8 @@ const MobileFilterToggle = styled.div<{ showMobileSidebar: boolean }>` @media (max-width: ${(props) => props.theme.breakpoints.l}) { display: flex; gap: 1rem; - justify-content: center; + justify-content: space-between; align-items: center; - background: ${(props) => props.theme.colors.background}; border: 1px solid ${(props) => props.theme.colors.primary}; border-left: none; border-radius: 0px 4px 4px 0px; @@ -111,7 +110,9 @@ const MobileFilterToggle = styled.div<{ showMobileSidebar: boolean }>` margin: auto; margin-left: 0; z-index: 1; - width: ${(props) => (props.showMobileSidebar ? "350px" : "150px")}; + width: 100%; + max-width: ${(props) => (props.showMobileSidebar ? "330px" : "150px")}; + background: ${(props) => (props.showMobileSidebar ? props.theme.colors.background : props.theme.colors.background)}; } p { @@ -119,8 +120,8 @@ const MobileFilterToggle = styled.div<{ showMobileSidebar: boolean }>` } svg { - width: 24px; - height: 24px; + width: 32px; + height: 32px; line { stroke: ${(props) => props.theme.colors.primary}; } From 7029c9f0817836f0801545cb509bd0eeacd38410 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Thu, 30 Jun 2022 09:49:47 +0100 Subject: [PATCH 272/310] new X and V svg icons --- src/assets/staking/green-check-product-glyph.svg | 4 ++-- src/assets/staking/warning-product-glyph.svg | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/assets/staking/green-check-product-glyph.svg b/src/assets/staking/green-check-product-glyph.svg index e26e9d317b4..a1896e1ef39 100644 --- a/src/assets/staking/green-check-product-glyph.svg +++ b/src/assets/staking/green-check-product-glyph.svg @@ -1,4 +1,4 @@ - - + + diff --git a/src/assets/staking/warning-product-glyph.svg b/src/assets/staking/warning-product-glyph.svg index 477b9b9db60..61bcaebd8c6 100644 --- a/src/assets/staking/warning-product-glyph.svg +++ b/src/assets/staking/warning-product-glyph.svg @@ -1,4 +1,4 @@ - - + + From a311cab82b7881bec235226a8620ba373fdeb34b Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Thu, 30 Jun 2022 10:34:04 +0100 Subject: [PATCH 273/310] let's try to make the scroll-bar less ugly --- src/pages/wallets/find-wallet.tsx | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index e0e6a75efe6..0f19ee75873 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -76,6 +76,7 @@ const TableContent = styled(Content)` margin-bottom: 150px; border-bottom: 1px solid ${(props) => props.theme.colors.secondary}; padding-bottom: 0; + @media (max-width: ${(props) => props.theme.breakpoints.l}) { padding: 1rem 0 0; @@ -154,6 +155,19 @@ const FilterSidebar = styled.div<{ showMobileSidebar: boolean }>` transition: 0.5s all; z-index: 20; border-radius: 0px 8px 0px 0px; + scrollbar-width: thin; + scrollbar-color: ${(props) => props.theme.colors.lightBorder} ${(props) => props.theme.colors.background}; + ::-webkit-scrollbar { + width: 8px; + } + ::-webkit-scrollbar-track { + background: ${(props) => props.theme.colors.background}; + } + ::-webkit-scrollbar-thumb { + background-color: ${(props) => props.theme.colors.lightBorder};; + border-radius: 4px; + border: 2px solid ${(props) => props.theme.colors.background}; + } @media (max-width: ${(props) => props.theme.breakpoints.l}) { width: ${(props) => (props.showMobileSidebar ? "350px" : "350px")}; @@ -221,6 +235,19 @@ const FilterTab = styled.div<{ const WalletContent = styled.div<{ showMobileSidebar: boolean }>` width: 100%; overflow-y: scroll; + scrollbar-width: thin; + scrollbar-color: ${(props) => props.theme.colors.lightBorder} ${(props) => props.theme.colors.background}; + ::-webkit-scrollbar { + width: 8px; + } + ::-webkit-scrollbar-track { + background: ${(props) => props.theme.colors.background}; + } + ::-webkit-scrollbar-thumb { + background-color: ${(props) => props.theme.colors.lightBorder};; + border-radius: 4px; + border: 2px solid ${(props) => props.theme.colors.background}; + } table { margin: 0; } From 0d4378d27cbfe3a64b388c1125809b54d2070dfb Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 12:09:36 +0100 Subject: [PATCH 274/310] Sort wallet features --- src/components/FindWallet/WalletTable.tsx | 318 +++++++++++----------- 1 file changed, 153 insertions(+), 165 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 083b974fb15..5eb3d5c60ca 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -916,171 +916,7 @@ const WalletTable = ({ data, filters, walletData }) => { {wallet.moreInfo && ( -

- -
- -
-
- -

Features

- - {featureDropdownItems.map((feature) => { - if (feature.category === "feature") - return ( - - - {feature.icon} - -

{feature.label}

- - { - walletFilterData[feature.filterKey] - .description - } -

- } - > - -
-
- ) - })} -
-
- -

Security

- - {featureDropdownItems.map((feature) => { - if (feature.category === "security") - return ( - - - {feature.icon} - -

{feature.label}

- - { - walletFilterData[feature.filterKey] - .description - } -

- } - > - -
-
- ) - })} -
-
- -

Trade & buy

- - {featureDropdownItems.map((feature) => { - if (feature.category === "trade_and_buy") - return ( - - - {feature.icon} - -

{feature.label}

- - { - walletFilterData[feature.filterKey] - .description - } -

- } - > - -
-
- ) - })} -
-
- -

Smart contract

- - {featureDropdownItems.map((feature) => { - if (feature.category === "smart_contract") - return ( - - - {feature.icon} - -

{feature.label}

- - { - walletFilterData[feature.filterKey] - .description - } -

- } - > - -
-
- ) - })} -
-
- - - {wallet.name} info updated on {wallet.last_updated} - - - Check out {wallet.name} - - -
-
-
+ )} ) @@ -1089,4 +925,156 @@ const WalletTable = ({ data, filters, walletData }) => { ) } +const WalletMoreInfo = ({ wallet, filters, idx }) => { + const walletHasFilter = (filterKey) => { + return wallet[filterKey] === true + } + // Cast as Number because TypeScript warned about sorting implictily by true/false + const orderedFeatureDropdownItems = [...featureDropdownItems].sort( + (a, b) => + Number(walletHasFilter(b.filterKey)) - + Number(walletHasFilter(a.filterKey)) + ) + + return ( +
+ +
+ +
+
+ +

Features

+ + {orderedFeatureDropdownItems.map((feature) => { + if (feature.category === "feature") + return ( + + + {feature.icon} + +

{feature.label}

+ + {walletFilterData[feature.filterKey].description} +

+ } + > + +
+
+ ) + })} +
+
+ +

Security

+ + {orderedFeatureDropdownItems.map((feature) => { + if (feature.category === "security") + return ( + + + {feature.icon} + +

{feature.label}

+ + {walletFilterData[feature.filterKey].description} +

+ } + > + +
+
+ ) + })} +
+
+ +

Trade & buy

+ + {orderedFeatureDropdownItems.map((feature) => { + if (feature.category === "trade_and_buy") + return ( + + + {feature.icon} + +

{feature.label}

+ + {walletFilterData[feature.filterKey].description} +

+ } + > + +
+
+ ) + })} +
+
+ +

Smart contract

+ + {orderedFeatureDropdownItems.map((feature) => { + if (feature.category === "smart_contract") + return ( + + + {feature.icon} + +

{feature.label}

+ + {walletFilterData[feature.filterKey].description} +

+ } + > + +
+
+ ) + })} +
+
+ + + {wallet.name} info updated on {wallet.last_updated} + + + Check out {wallet.name} + + +
+
+
+ ) +} + export default WalletTable From da2188cfe5017d0db9804c5de18427e3fe4c3a64 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 12:58:13 +0100 Subject: [PATCH 275/310] Add key and fix wallet filtering --- src/components/FindWallet/WalletTable.tsx | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 083b974fb15..91492576158 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -582,7 +582,7 @@ const featureDropdownItems = [ const WalletTable = ({ data, filters, walletData }) => { const [walletCardData, setWalletData] = useState( walletData.map((wallet) => { - return { ...wallet, moreInfo: false } + return { ...wallet, moreInfo: false, key: wallet.image_name } }) ) const [firstFeatureSelect, setFirstFeatureSelect] = useState( @@ -595,9 +595,15 @@ const WalletTable = ({ data, filters, walletData }) => { featureDropdownItems[9] ) - const updateMoreInfo = (idx) => { + const updateMoreInfo = (key) => { const temp = [...walletCardData] - temp[idx].moreInfo = !temp[idx].moreInfo + + for (const [idx, wallet] of temp.entries()) { + if (wallet.key === key) { + temp[idx].moreInfo = !temp[idx].moreInfo + } + } + setWalletData(temp) } @@ -844,7 +850,7 @@ const WalletTable = ({ data, filters, walletData }) => { { - updateMoreInfo(idx) + updateMoreInfo(wallet.key) trackCustomEvent({ eventCategory: "WalletMoreInfo", eventAction: `More info wallet`, @@ -862,7 +868,7 @@ const WalletTable = ({ data, filters, walletData }) => { { - updateMoreInfo(idx) + updateMoreInfo(wallet.key) trackCustomEvent({ eventCategory: "WalletMoreInfo", eventAction: `More info wallet`, @@ -880,7 +886,7 @@ const WalletTable = ({ data, filters, walletData }) => { { - updateMoreInfo(idx) + updateMoreInfo(wallet.key) trackCustomEvent({ eventCategory: "WalletMoreInfo", eventAction: `More info wallet`, @@ -900,7 +906,7 @@ const WalletTable = ({ data, filters, walletData }) => {
{ - updateMoreInfo(idx) + updateMoreInfo(wallet.key) trackCustomEvent({ eventCategory: "WalletMoreInfo", eventAction: `More info wallet`, From 825c28e6d53847766a5f9f71f3de552984da2540 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Thu, 30 Jun 2022 12:58:55 +0100 Subject: [PATCH 276/310] Update src/pages/wallets/find-wallet.tsx Co-authored-by: Sam Richards --- src/pages/wallets/find-wallet.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 0f19ee75873..9567d2404bc 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -512,7 +512,7 @@ const FindWalletPage = ({ data, location }) => {

- Their descriptions have been provided by the wallet companies + Their descriptions have been provided by the wallet projects themselves.{" "}

From f3306678a7408568d216f37202d7cef15190df8c Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 13:20:23 +0100 Subject: [PATCH 277/310] Update TallyHo image --- src/assets/wallets/tallyho.png | Bin 126045 -> 61667 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/assets/wallets/tallyho.png b/src/assets/wallets/tallyho.png index 3bbdc6d52b8909fa83e7b0fe44714336f465196a..1221f3ee28196a2b27b2f7951d9010eabffbb2b9 100644 GIT binary patch literal 61667 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 literal 126045 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 z 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%0A+prndcW`%g4UGH#N79vS_(5>0TcH-65?^kDgS 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
MKFzH4 z+*Ez*5Pd~>xzwvE3}7#RKQ>=kNhQjxt|f$r@5^XVBc|REpk%|qTMnF>yrv&gAXbgq5z<<391c_;~cgUA{>b#TVHBsy92458bG<1821DMHl6;y+zRVfhQudjR%OaG-2 zcX&KTHK|Gd?>BTRvZ)PU6z*H9PGaJbt5zHvxB2sNR#mp!UOM?B&a53ZJ}&3Rn?Bw9 zcfD{D9-Ge+Z9}$y!cQe-$SVcH6ebeYKDR?+5C5!w$=_YH#~K*f)8|>q4?Dsw=tM8ll%_qhGdq15yn&Y;acXskzR2f>3KDg%JCi{s+m+qx1WeUk}3w6H;JvJR1u4}-L zUpsjcW>OC`>F2jC$t13MFyYsrVIOm~VSOVJdfYWS_Qe|NSKVWI5Exzb(Z(7U#Q$>HmryldBg5h$S?EXwF8m zZAaJ)PADmpHm_`l$O86f0R{wOFLCzksy+T7DyKB&S$^u@mm#&cotn8SVOsek8()%r zx#I~Eu!PerzJV~aJ?W$j6>#+p{=OsWRPJbQ?#BS}$9j)Gjqm+ftp3->LWuN({-Z66 zm!4Wli{3`x>2%mT!0{{%z|OG~Sd~QPaU?h8*r*@yexK}Y?Cw3pomZhoJf-;ed}=G5 zoKMdVhW}@j5Uh>EtGZ=nx(_Cj^$z6)!6E|F5U|r*`hX%U8JM^ys;K_siQB5leNtf( zsj-)zU&6i^PN*BFMF{^n{P>sGJ}?`FRtxv8G^nlKZepcmS_xfcmDHQ$!JWl#^0jmC9fYbkL z#t@J2PD_-Oe*SRxd!q05_9G*!kzwU~4kw#$)7N@AN!Rw$F-P;w^RPK_TE4mZX_i+9 ze@w|UL(C;Fop)Sa_tR#b3P+Z|{5k!vih-+`?+e*6(puT12r2ws|ZAs2JGlEtr)tK|aSAM-DJhKt(Am9vB4g~|8p6CsCJ|6LAf z?SuGUq~5%fR*+Yii;`FiyV~{S>f>6*A%EFR)38^?;Myv`pv4YwC109m@gT=WEa@gC z^UCaCcedK0tN&S%9>*$n!!2#m$l}14gYya!fP{GRtc8XRH?tN6iThY3Q+>w3zr!&j z=CV-|7Ooz+>5X!M{;$WG9eL%+SixV%jA=YJDl=?znJk`VeQ ze!$fM=5-KqXvyu+B<2xRD|TaV0pZWk7_ixe4Oqkdobe&}j_W+^?roG$ioHCvPp~F; z@cy@l0A&Ike;4n?*UbYi{w50wE`NV(aZ{pw{z7B7w+bcjgI}?Uxn9c24(?e?Qw?W0 zW&<|2Hu-}FFygAmu8PfN_cW{eGwWDtYsJF|8p!{clz;@zw*S9Jw-omdm%rU~fVseJ zS9{BclOlkr+E7Lf+&h~p;!SO2#@>iqn8fk>55$Ob9(t=bt0uJ_{1dhw8w7*IHU2Ee z__J8}GuQEj+d;H{oIkR1J>iJkq)uU?kuhcOa@xgAvxfCbKW}QAYwTbpwyIkb?DJUq zXYFP->*Jh+!UztS{@8?dU{`c5fAd-nprBQ{p8D5$LVaE0`}LR2B5(c*rgxzual^vQ zZETh9IaH;fqb+G<&)UDO$y&Ht|1`lr%nxpRY2;()?Jxy#`=#mn?KxZ8le=CL2n&A^ zOYonFWcr*dIbZRQQlrA1-=PjT{X(|v7>fjrD_;<-ZLsh~{`>3Kw#;9nWbb=3y#E%W zs`RBN%q*1s)lKJmV5#rS^@QCAPS1k3zl}xVQ0y5i##E1?YQ}FRu?O5q18q2Eh7M+zhJ3|aJ<~A%l zrt617<-%U`Mu{V*|FcfrbUL1%esztFe{L>9p~?=m^-YDsVdlU{>wC6s{h5RF6Nxvf zniAa_idPfNN{m~knP-E-N>1g)i|4t-tncsHK}<$}Pd{M{{C~n$MD1b41P1=&EX|LN zg$;R9tA~ei2e-mF!dM5CQ7+VZWs8sn{J&4Tk0@H?dE-{^kk_9x0lj=aF_EXDJgIn5 zqK$GEmz-_94fIm|?}zh7!%gz1Fkcsk{y1GItQ#E00j*@6pc^3BY9eK_!1<%bWiODyOyocU6(8Usk=kbT&yOALmSxw9x*?UvMVxxfKO* zBs^Vlw;l)bX}=$NkLIOSouuUl>N@Q2^w!1u`B*n(nsYuK{NtZ8-OLLDb+C4y@#eBc zt?D;203x}5Ju^4o%bw?o@ZYQh>T6qFjP1YE-dtabUqakPp}g#ra*RGV-`05{EOk{% zf~}7O1A%vp{P4zs)Z)!mx`hGAo1ZHRMz~JntXu_vh=>UG@&cN_3C; z@4vQD$y7M{hj#~SDTE!li4hse4Oia25NxV;IC4h zpVX`pzNO{b6eb<1>@RC-&5knd{%Q~;Mxh~2VB=3+v7bXXJr57nLDnF2^)6OWo+McB zAwR9QN}Bm>P%>MP{E(%$5s%W^iIfIk4i_IA@AGeRxSj=rE1$f!rnesJy3{L3D7I$ zI3n(NBzZ6;dd#$*i%LwEYK`WvCcJG+7eN>Rneq#=N zHQwWPs2M&V2HeU{@2QtXz64XtAe+a7PQ&)k{}Rky8A(X~WTiZX*k^oN1xw?Q04~R7 zl-S;wb`9?A#&ex`D825fc_$?55N`8 zQoY-i^L||DADL&k27i|N#Vt4c)F*EEq9}WI!D6SYvxYD(LkK6q8O!??t&W@UL*EgU z>jt82AlHuemQeIb!5$dQaf$|q%40{>ydjKMbgI&38*VK?p*pT1#qQSYej-|x^_rV! zK`ZWvxJpxNs<7L&I(`5J=5|0_!Py~buPBzT53wB_(L2157#)S0Ys}L%`3@}3es3rH zT7SdoRVHy`bD(Gqn$mVaznXeo-56#fx5bBjM* z!5;{Ph;*5bw)I^Hy{&f$lpL_U7Y^F0D`mV!#(Gz9G8fMP@}l-91g@8P&_B^6ob(00 z^%UpqYC#eqq4Dv3EXJ3wR7YyovUA`RtrzlZhbdC zmsU{sB7Evt+1BO}Hw!y?>vaX`OD3MYmK{XNc{oZK=@ZKY-RJGoM>5_#Pd$HE?{%`A z8&1-xLucMDz`}dpu=88k>Yb?7kU1@Y{`!AwCXv5f2kNcrIFpGDw7{GAmm9=|-5X)G zjr#DC8wyn;q0W(A+}vx}3HP9DG}7!=i>CH7duipChNR5R?tsNPa4ceZ!7AA_ zF5wV=&jto>-w$~mWo9p@lj;AbDXE6J++=~JS6yY*>%?f!+~}m0*okX}0S{%6wRlxRirKkg}*Nz4F!6(j;#*^YLxY zUkG$iv;wT(jjY^PIG{wI>}VdR*IUg3n?(JBOUXll?1nfd`+lz?4bCvUeE@~P)`@d_ z44x)ptH~PgX#HXkr4U0aZt7PQy&@Rb+P9#%ZWN`;txkZx>0+v~_;LHHnE`#AIGYJ^ zElD3v5fY3kuNuf}ixS!DbMaTu2|i_pOb=5NC1s~r@J68G6`@>N_9R$7z(qWVd^IFQEzS#|%8-9dY;s#x;%h znLGO{2($ctdAT8IRx)vg^{|$&SfcHq7$Mj@s`)>>{M(_J?bnpW?~HUQ8d<0hCkwSH z@fBXnAlMMsIEEOF+!Gdlx;RevZw({!h=_~kpMyZ5UJ|T$Xf;SCvEn2#eZbN&{z}jC zmmPYeYvc}dmtJL{Ou`d$H1iDpg-tPkQ~AZL?5Ll<>YttpCEe*iQT4kBXoYTxK+G`5 zH)`RLQuuAXH&@;ZTiDC`W+vOkFxyNmJaoL)n2HXmeiuxd2;Wt*ks+RGApc@?Ze%w9 z;kAO6pxHI)Hx~~b>w? zzhL}DiR=P{{;OEVPuokU`C3un)?J9`ZS!S~Nz9&=np+R5@Uqq$yRHomvVRvDzT&TQ zPyi)%w^`(8MLYQ)PbrO!_uEz*ZgOq{H2+A=vV`rLFhhffci5Ly^VvvUiAP4B#<*88 z?(Af=W4pqmxa=(cBC#Jv@c5tAhqrX}UwAZuc^l?bK5WfxWWh{gFegB;as)_PE?gqJ zYW1wC%#RkWC%-O?M=p#+<5H*3^U=B}6kY_b5n{B<<31#9YW{{tE@^X9n8wN*Lwx&_ zYKEY+D+9!wi#qW~7R_PeCNqO$q*1b0*$OMDw4#?ETgJk`waGJ~%8En;3^*v<%wAv~ zQQZKa^L!{YRte4oB3QD8(V>=0<+6;**5!%zmG>>{3$gtl_<8{ps>~I(iKyX?#D2vX z%-_b(@72jO80mp_>+ZCFByzOM`6weHx4x1)6vI?v{KQEA|K|m7U1VRbl@o7Y2m=Q) zIxm~$q(gs0{%1d%Y_(grD{)N}NV!9h2d&BKx-Zh)WNe-|#Ef-hvwiC%6E)~&k~|DW zX;Oi9>00*sWPpTM=HY_hb&no=R-K0u1nqb{Y?AfeoP9UT!jtwy{;Mge>oNuiW zIt<=oEOpG5@+V5YyO%k`R@)u4;k$ReYxE(C-0YwZM7ZuQ_4A53JMWDS4zBSGG;Ho? zz2e$Olczvxim}L&-wBdF*^5zEu}y)Olu!qLg|cd{E6(BjR`f9${}|?zFw;raV5Ee~ z)AphCh%bD5>xScxqL4O6B+=q0J0j1tG!^dSJ9+`0c@SQoX?GiB>CD8OH;(GWHTef` z0&nLZ<=|)a$N6tO~0Kp@4L_ADZox2jH%+ZO^Yu*X81rl;T|k# zx<(7xHGSf3{~}%zM*3HqYiW zL*~RP=c8LSsD;15@Y$*_apfINt5eO6^B0xHyut`II4AT zv2tlPav@KmV$h4*+M`e&@lXi@zgshO)J);HbS!Ad0F!f~)iGrYv3kZ6t;8Cio(KQq zhkJRzN3DPbxP8egC^@+xtK3@kQdEQmYuq_K@6E@hY2+jXjM0Q$Cznv$>b(Jy(=>@@>^B>&+(Hi8FkCTiIVoR&9No=9a!qGdJUSRNjk^w|fRs*3aJ*v9(|e zE;>!3BW`>Kuckj>7N-#M5p1YW$gx`5d%mQ48A865Hp&&JF^1Tn{H7%FVAd0tx^ z(xsQ!`ZnhcXsfnMPWYv37(Sd9i0sB;1aU~Pk)Vyt2AlePX*N{JlsCU9q30i?KH!$W z(!wJ0(^lZedgP&=5HFoJ``+jF0wpL_aB5N|KeY{v8N29(|U}P6< z3>^_}k+S~}UH=Sr(e3Vh|KDLYAjDFdd)uot8m@!(DX0fT<%e6rn|Ogk8G~u3GD5%f zpdSQEAuKJCQYj4Ui8E#zaf5LM1F zuwm)QOvVq2Jk=L%frtmndi@i#@-C+ciKc~wxbU%8ltZa7PR*G2y%2Hm zqTcY*51`u|8t#kuc8D+El;*Q5F~KxXITWpzgx%eC=`2ts!cP3DfH`fj62I0cDReebp$L zspg19n?~cOwYAkCxOvD5WuyYbe|?kEMR{<*us*wXT$w*lIA_7GadiUVdt<}%KXm+d zA@Ur^;5_4_vj2i&Qj4B9``+21cZ%ZPV?F<&xcJQ_KFyqh8GOR!%g0FZOYTH6TiHA` zi$b1?X}tQ=-%K>e$pj;7$JWQ39pcv=mu3{8PuDy!{(=K)=53p@#{=#X11kpVfej6r zDwQp5?6U%EKDy6H2adHJEp~YyoJ!1Z1y=vCS`O^x&HqRQ;CVyfq+NC#VkX4L2gr@X zzoq`s5*}K}cOVT!U==}@_i&Ik${ZU%5`Wf$sk4;jOKvD%{JfW6soD&Z^NT zL(96sfd(++)<)h|m^8S)6xBd1P7Gj5im2aIsr8fZrC}FWK|ijQ z@GUzl#l&;=n4rRiU@1A^_F?=a;6Rn}Cx!TeOKTHMA(F2sHopV-Aq${i!79LgsETm~ zJjWDQ8M+TNf+_>luvL0FK^*!ZfTcJNzaD3nbF zb}6L+1u^zK>=Sp!#p}0)hX$U|oW9#L05OxC74W-}0hht%d}(#+@v|=~XA=(Z`Es^G z_QE?pzEo=;tf~$#*`}xW>dc4lyMe~&(#J#ULxI%SGY0qHJy?c}&6&E;8YTfl_JaB# zi~HC?os0k^^zV90?(B_zEAczt7hcRe^#qvL1~wS!&j*`N=-0{sz#TGbkXXL+d0`1w zM!wU>ThyDUnMQB8Hv!M?StNxPCcW>Z`c*rq1tqS2ogBhzor_-}t@eG_44&8ZnI(9Qp8BHNS?ba&-n=`QxKxOa qO2)TET{&7E@@>UYfU9o2vHYE)Y8Yey From a4b0a3f7347d29b7063bd6f3bd0955b3ab3e5789 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 13:22:05 +0100 Subject: [PATCH 278/310] Update Frame wallet image --- src/assets/wallets/frame.png | Bin 942 -> 116190 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/assets/wallets/frame.png b/src/assets/wallets/frame.png index 4c48bcf7f99772a91323a0339894b478cbb130fc..beabb8699fa4bbf075ce477f0b4de5e9de788142 100644 GIT binary patch literal 116190 zcmV)xK$E|TP)wJlJ9JTT zv5NnJZsI>62!cAf=-2=i+Lp7bDdBCi>b|I6NHcFck z{*eH)*KZGjgl8t%XZ02@(fr zpnwe0kf5M}9T;$tWUn!^{=QV#mqVQ%m9vFC*mP7-r8hyf!BaJMow~-);0{)heUPc6 zFQoiGL|1{~SI_&L14d4O&Y|c1oOxcS4Md)S+g9MOw;1O;^=6>OPl4D0aCH-C$^~%E zjHh2L*_OLfgd?o$z{e#pQ358J_1M;b*ZsVE>u5g##eE=q2OJ#(v)mus{sr`mb89qE zZpZ)t03c&XQcVB=dL{q>fP?@5`Tzg`fam}Kbua(`>RI+y?e7jT@qQ9J+u00v@9 zM??Vs0RI60puMM)0005EdQ@0+Qek%>aB^>EX>4U6ba`-PAZcS`0020RrBhk1+b|6L z*C~1gimP-STatm^{{p49Bo2}m4XNV{OX~i0eWBtElOIAfN4NlwHX@< zvN0k^k}LO=a@u&(#kEBC;6)xJz5d=6x9pw}8i^Vz!m=G_g~6lbGpO)fLJGwN(rRe<4lM8!i!f=x%qRGWcDw@G|S+txt!7>q7FY%W1YWu)cs zL(YFS*!AIm8|?b<-r(l+djmMAjzVD@VsI%VFXuc}!!-deDd7*C-5KCQr|Ve&0004R za!ynM&!Tsl004jhNklFOWGt<@6U0u~x>|z}(ULa25Ox(ysUhjwqH&fjo)Xd!6!{g<9 z34lcwVT1%D<3+fe+o7h%r=OCl;)`nvgpl4l0zn7>1W+gdCm?`S(w9l$c-<{k)wQj_ z1;n5Nprr+%tuh0Mz#51Vk+24op}^7d=-PX)z5L2Muf2ZrlN-kehfL%^S{joBsRRZA zJm_W_1m)2a5bNlhBBH9!x$;9*B_aSsBszU%`@+NkiGpNv4$_q;e#AISv!Oj@6M`to zR8NVhJc|uy>J3l#XWP0WawmUhT95e3T3Zq`2h$V1=w?zf-&#@Ek1{2&&< z9M}P7fJnDqyQX316soGs5Rs_D%u1xNbsk%0A|f!hPGf{NGy}k34T5!W!VHEeA`tcV8`oZW;pG>8 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 z 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 From 37789291b71c91f19785054f07b8cf5bc76b00c5 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 13:26:45 +0100 Subject: [PATCH 279/310] Update Ambire wallet image --- src/assets/wallets/ambire.png | Bin 6630 -> 12931 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/assets/wallets/ambire.png b/src/assets/wallets/ambire.png index 26043c1afbc2455153fcf77403c674f6f135bd91..3c357405263631bd2ed098d11d5d96dc69dfccac 100644 GIT binary patch literal 12931 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 From 04fe0ae7a09b925a9a1e66cb3c0f21b1db2e1980 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 13:40:13 +0100 Subject: [PATCH 280/310] Add break to optimise loop --- src/components/FindWallet/WalletTable.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 91492576158..9badc487abd 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -601,6 +601,7 @@ const WalletTable = ({ data, filters, walletData }) => { for (const [idx, wallet] of temp.entries()) { if (wallet.key === key) { temp[idx].moreInfo = !temp[idx].moreInfo + break } } From 74c2351d34799d08514ba331c4e32c7d79a85102 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 13:47:03 +0100 Subject: [PATCH 281/310] Add rainboe wallet --- src/data/wallets/wallet-data.ts | 46 +++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index f54c36b456b..f67f1bf5f58 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -1619,6 +1619,52 @@ const walletData: WalletData[] = [ onboard_documentation: "", documentation: "https://help.tokenpocket.pro/developer-en/", }, + { + last_updated: "June 30, 2022", + name: "Rainbow", + image_name: "rainbow", + brand_color: "#001A4D", + url: "https://rainbow.me", + wallet_live_date: "June 2019", + active_development_team: true, + languages_supported: ["en"], + twitter: "https://twitter.com/rainbowdotme", + discord: "", + reddit: "", + telegram: "", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: true, + repo_url: "https://github.com/rainbow-me/rainbow", + non_custodial: true, + security_audit: [""], + scam_protection: true, + hardware_support: false, + walletconnect: true, + rpc_importing: false, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: true, + multichain: true, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + onboard_documentation: "https://learn.rainbow.me/", + documentation: "", + }, ] export default walletData From e534782b9ccee15762f6d4de78a03651a9072ddb Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 14:07:23 +0100 Subject: [PATCH 282/310] Add Status wallet --- src/data/wallets/wallet-data.ts | 71 +++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index f67f1bf5f58..8936f3e5bac 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -1665,6 +1665,77 @@ const walletData: WalletData[] = [ onboard_documentation: "https://learn.rainbow.me/", documentation: "", }, + { + last_updated: "June 30, 2022", + name: "Status", + image_name: "status", + brand_color: "#4360DF", + url: "https://status.im/", + wallet_live_date: + "Status Mobile has been available in beta since 2017, with the 1.0 version released in Feb 2020.", + active_development_team: true, + languages_supported: [ + "ar", + "bn", + "de", + "el", + "en", + "es", + "ph", + "fr", + "hi", + "id", + "it", + "jp", + "ko", + "my", + "nl", + "pl", + "pt", + "pt-br", + "ru", + "tr", + "vi", + "zh", + "zh-tw", + ], + twitter: "https://twitter.com/ethstatus", + discord: "https://discord.gg/HGSAcAHGMA", + reddit: "https://www.reddit.com/r/statusim/", + telegram: "", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: true, + open_source: true, + repo_url: "https://github.com/status-im/", + non_custodial: true, + security_audit: ["https://github.com/status-im/status-security#audits"], + scam_protection: true, + hardware_support: true, + walletconnect: true, + rpc_importing: true, + nft_support: true, + connect_to_dapps: true, + staking: false, + swaps: false, + multichain: false, + layer_2: true, + gas_fee_customization: true, + ens_support: true, + erc_20_support: true, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + onboard_documentation: "https://status.im/faq/", + documentation: "https://our.status.im/", + }, ] export default walletData From 4090c7162b542bcf49138a6676891aac63413d4d Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 14:08:01 +0100 Subject: [PATCH 283/310] Add Rainbow and status to gql query --- src/pages/wallets/find-wallet.tsx | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 9567d2404bc..f3e5660b968 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -76,7 +76,6 @@ const TableContent = styled(Content)` margin-bottom: 150px; border-bottom: 1px solid ${(props) => props.theme.colors.secondary}; padding-bottom: 0; - @media (max-width: ${(props) => props.theme.breakpoints.l}) { padding: 1rem 0 0; @@ -113,7 +112,10 @@ const MobileFilterToggle = styled.div<{ showMobileSidebar: boolean }>` z-index: 1; width: 100%; max-width: ${(props) => (props.showMobileSidebar ? "330px" : "150px")}; - background: ${(props) => (props.showMobileSidebar ? props.theme.colors.background : props.theme.colors.background)}; + background: ${(props) => + props.showMobileSidebar + ? props.theme.colors.background + : props.theme.colors.background}; } p { @@ -156,7 +158,8 @@ const FilterSidebar = styled.div<{ showMobileSidebar: boolean }>` z-index: 20; border-radius: 0px 8px 0px 0px; scrollbar-width: thin; - scrollbar-color: ${(props) => props.theme.colors.lightBorder} ${(props) => props.theme.colors.background}; + scrollbar-color: ${(props) => props.theme.colors.lightBorder} + ${(props) => props.theme.colors.background}; ::-webkit-scrollbar { width: 8px; } @@ -164,7 +167,7 @@ const FilterSidebar = styled.div<{ showMobileSidebar: boolean }>` background: ${(props) => props.theme.colors.background}; } ::-webkit-scrollbar-thumb { - background-color: ${(props) => props.theme.colors.lightBorder};; + background-color: ${(props) => props.theme.colors.lightBorder}; border-radius: 4px; border: 2px solid ${(props) => props.theme.colors.background}; } @@ -236,7 +239,8 @@ const WalletContent = styled.div<{ showMobileSidebar: boolean }>` width: 100%; overflow-y: scroll; scrollbar-width: thin; - scrollbar-color: ${(props) => props.theme.colors.lightBorder} ${(props) => props.theme.colors.background}; + scrollbar-color: ${(props) => props.theme.colors.lightBorder} + ${(props) => props.theme.colors.background}; ::-webkit-scrollbar { width: 8px; } @@ -244,7 +248,7 @@ const WalletContent = styled.div<{ showMobileSidebar: boolean }>` background: ${(props) => props.theme.colors.background}; } ::-webkit-scrollbar-thumb { - background-color: ${(props) => props.theme.colors.lightBorder};; + background-color: ${(props) => props.theme.colors.lightBorder}; border-radius: 4px; border: 2px solid ${(props) => props.theme.colors.background}; } @@ -701,5 +705,15 @@ export const query = graphql` gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } + rainbow: file(relativePath: { eq: "wallets/rainbow.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } + status: file(relativePath: { eq: "wallets/status.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } } ` From cf2552cf2f172fc3b6a2f6b817b16b7ef3b0aa30 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 14:21:58 +0100 Subject: [PATCH 284/310] Add aktionariat wallet --- src/assets/wallets/aktionariat.png | Bin 0 -> 9723 bytes src/data/wallets/wallet-data.ts | 46 +++++++++++++++++++++++++++++ src/pages/wallets/find-wallet.tsx | 5 ++++ 3 files changed, 51 insertions(+) create mode 100644 src/assets/wallets/aktionariat.png diff --git a/src/assets/wallets/aktionariat.png b/src/assets/wallets/aktionariat.png new file mode 100644 index 0000000000000000000000000000000000000000..a6668c20e22d2e6732aadf25d92ce5a6e17516ff GIT binary patch literal 9723 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 R{r>_13Nk9vl@PPA{{rkISrz~Q literal 0 HcmV?d00001 diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index 8936f3e5bac..f18a744ef4f 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -1736,6 +1736,52 @@ const walletData: WalletData[] = [ onboard_documentation: "https://status.im/faq/", documentation: "https://our.status.im/", }, + { + last_updated: "June 30, 2022", + name: "Aktionariat", + image_name: "aktionariat", + brand_color: "#ffffff", + url: "https://www.aktionariat.com/", + wallet_live_date: "28.01.2021", + active_development_team: true, + languages_supported: ["en"], + twitter: "https://twitter.com/aktionariat", + discord: "", + reddit: "", + telegram: "https://t.me/Aktionariat", + ios: true, + android: true, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, + hardware: false, + open_source: false, + repo_url: "", + non_custodial: true, + security_audit: [""], + scam_protection: false, + hardware_support: false, + walletconnect: true, + rpc_importing: false, + nft_support: false, + connect_to_dapps: true, + staking: false, + swaps: false, + multichain: false, + layer_2: true, + gas_fee_customization: true, + ens_support: false, + erc_20_support: false, + eip_1559_support: true, + buy_crypto: true, + withdraw_crypto: false, + multisig: false, + social_recovery: false, + onboard_documentation: "", + documentation: "https://www.aktionariat.com/faq/en#wallet", + }, ] export default walletData diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index f3e5660b968..22c7a6c2cba 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -715,5 +715,10 @@ export const query = graphql` gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) } } + aktionariat: file(relativePath: { eq: "wallets/aktionariat.png" }) { + childImageSharp { + gatsbyImageData(layout: FULL_WIDTH, placeholder: BLURRED, quality: 100) + } + } } ` From 116dfccff2968161d23032752f3f7c78072bf64f Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 14:38:21 +0100 Subject: [PATCH 285/310] Remove device filters from new to crypto persona --- .../FindWallet/WalletPersonasSidebar.tsx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index d7c456a3115..0b41f914948 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -313,13 +313,13 @@ const WalletPersonasSidebar = ({ filterLabels.eip_1559_support, ], presetFilters: { - android: true, - ios: true, - linux: true, - windows: true, - macOS: true, - firefox: true, - chromium: true, + android: false, + ios: false, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, hardware: false, open_source: false, non_custodial: false, From 6822303b28839ab856bc855ef47b891a2fc7d796 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 14:39:55 +0100 Subject: [PATCH 286/310] Fix typo in NFTs --- src/components/FindWallet/WalletPersonasSidebar.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 0b41f914948..2a75686f1aa 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -342,7 +342,7 @@ const WalletPersonasSidebar = ({ }, }, { - title: "NFT's", + title: "NFTs", description: "You are someone that is all about NFTs and want a wallet with NFT support", featureHighlight: [ From 73f8e74e2161abc5f939fefb87ef1820396e721c Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 14:43:21 +0100 Subject: [PATCH 287/310] Remove device filters from new to developer persona --- .../FindWallet/WalletPersonasSidebar.tsx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 2a75686f1aa..5b6a5c46798 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -466,13 +466,13 @@ const WalletPersonasSidebar = ({ filterLabels.erc_20_support, ], presetFilters: { - android: true, - ios: true, - linux: true, - windows: true, - macOS: true, - firefox: true, - chromium: true, + android: false, + ios: false, + linux: false, + windows: false, + macOS: false, + firefox: false, + chromium: false, hardware: false, open_source: true, non_custodial: false, From 1b7ea925f8a512b5f0186a44ae5045ac5f37eab0 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 14:45:46 +0100 Subject: [PATCH 288/310] Remove open source as requirement from developer persona --- src/components/FindWallet/WalletPersonasSidebar.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index 5b6a5c46798..af50ff136ef 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -474,7 +474,7 @@ const WalletPersonasSidebar = ({ firefox: false, chromium: false, hardware: false, - open_source: true, + open_source: false, non_custodial: false, hardware_support: false, walletconnect: true, From 0696b983b4fb6b683c5d6e8dda04e3d746bac4f2 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 14:58:09 +0100 Subject: [PATCH 289/310] Improve number of wallets showing message --- src/components/FindWallet/WalletTable.tsx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 9badc487abd..9cea897fd13 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -700,10 +700,16 @@ const WalletTable = ({ data, filters, walletData }) => { -

- Showing {filteredWallets.length} wallets out of{" "} - {walletCardData.length} -

+ {filteredWallets.length === walletCardData.length ? ( +

+ Showing all wallets +

+ ) : ( +

+ Showing {filteredWallets.length} of{" "} + {walletCardData.length} wallets +

+ )} Date: Thu, 30 Jun 2022 15:13:02 +0100 Subject: [PATCH 290/310] Update copy updates to feature filters --- src/data/wallets/wallet-filters.ts | 46 ++++++++++++++---------------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/src/data/wallets/wallet-filters.ts b/src/data/wallets/wallet-filters.ts index 2a82ba38a5a..e0bddaa709b 100644 --- a/src/data/wallets/wallet-filters.ts +++ b/src/data/wallets/wallet-filters.ts @@ -7,7 +7,7 @@ interface WalletFilter { const walletFilterData: { [key: string]: WalletFilter } = { mobile: { title: "Mobile", - description: "Phone or mobile based wallets.", + description: "Wallets with mobile apps", filterKey: undefined, }, android: { @@ -22,7 +22,7 @@ const walletFilterData: { [key: string]: WalletFilter } = { }, desktop: { title: "Desktop", - description: "Desktop based wallets.", + description: "Wallets with desktop apps", filterKey: undefined, }, linux: { @@ -42,7 +42,7 @@ const walletFilterData: { [key: string]: WalletFilter } = { }, browser: { title: "Browser", - description: "Browser extension wallets.", + description: "Wallets with browser extensions", filterKey: undefined, }, firefox: { @@ -57,102 +57,100 @@ const walletFilterData: { [key: string]: WalletFilter } = { }, hardware: { title: "Hardware", - description: "Hardware based wallets.", + description: "Hardware wallets", filterKey: "hardware", }, open_source: { - title: "Open source", + title: "Open-source", description: - "Code for the wallet is open sourced for you to inspect and edit.", + "Open-source software lets anyone audit the integrity and security of the application", filterKey: "open_source", }, non_custodial: { title: "Non-custodial", - description: "Who has control over the keys for your wallet.", + description: "Wallets that do not control your private keys", filterKey: "non_custodial", }, hardware_support: { title: "Hardware support", description: - "You can connect a hardware wallet and sign transactions with it.", + "Wallets that can connect to hardware wallet for better security", filterKey: "hardware_support", }, walletconnect: { title: "WalletConnect", - description: "You can connect to applications that support WalletConnect.", + description: "Wallets that support WalletConnect for connecting to dapps", filterKey: "walletconnect", }, rpc_importing: { title: "RPC importing", description: - "You can import RPC endpoint data to connect to different nodes/networks.", + "Wallets supporting custom RPC endpoints to connect to different nodes or networks", filterKey: "rpc_importing", }, nft_support: { title: "NFT support", - description: "You can view and interact with your NFTs in the wallet", + description: "Wallets that support viewing and interacting with your NFTs", filterKey: "nft_support", }, connect_to_dapps: { title: "Connect to decentralized apps", description: - "You can connect to applications built on the Ethereum network.", + "Wallets that connect to applications built on the Ethereum network", filterKey: "connect_to_dapps", }, staking: { title: "Staking", - description: - "You can use a simple interface to stake directly in the wallet.", + description: "Stake ETH directly from the wallet", filterKey: "staking", }, swaps: { title: "Swaps", - description: "You can swap ERC-20 tokens directly in the wallet.", + description: "Swap ERC-20 tokens directly in the wallet", filterKey: "swaps", }, layer_2: { title: "Layer 2", - description: "You can use layer 2 networks in the wallet.", + description: "Wallets supporting Ethereum layer 2s", filterKey: "layer_2", }, gas_fee_customization: { title: "Gas fee customization", description: - "You are able to customize your gas inputs (base fee, priority fee, max fee).", + "Customize your gas amounts (base fee, priority fee, and max fee)", filterKey: "gas_fee_customization", }, ens_support: { title: "ENS support", - description: "You are able to send transactions to ENS addresses.", + description: "Send transactions to ENS addresses", filterKey: "ens_support", }, erc_20_support: { title: "Token importing", - description: - "You can import ERC-20 token contract addresses into the wallet.", + description: "Import any ERC-20 token to use in the wallet", filterKey: "erc_20_support", }, eip_1559_support: { title: "EIP-1559 support", - description: "Supports type 2 transactions saving you money in gas fees.", + description: "Lower gas fees with type-2 transactions", filterKey: "eip_1559_support", }, buy_crypto: { title: "Buy crypto", description: - "You are able to buy crypto with fiat directly in the wallet. \n *Note: buying crypto may be region locked.", + "Buy crypto directly in the wallet \n *Note: buying crypto may be region specific", filterKey: "buy_crypto", }, withdraw_crypto: { title: "Withdraw crypto", description: - "You able to withdraw to fiat directly in the wallet. \n *Note: withdrawing crypto may be region locked.", + "Withdraw to fiat directly in the wallet \n *Note: withdrawing crypto may be region specific", filterKey: "withdraw_crypto", }, multisig: { title: "Multisig", description: - "Wallets that require two or more signatures from private keys for a transaction", + "Wallets that require multiple signatures to authorize a transaction", filterKey: "multisig", }, social_recovery: { From 2ba3490ba88be83dc62db4ba25e1fb890b3f1784 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 15:18:39 +0100 Subject: [PATCH 291/310] Update showing all wallets --- src/components/FindWallet/WalletTable.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 9cea897fd13..1e85c1804a7 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -702,12 +702,15 @@ const WalletTable = ({ data, filters, walletData }) => { {filteredWallets.length === walletCardData.length ? (

- Showing all wallets + Showing all wallets ({walletCardData.length})

) : (

- Showing {filteredWallets.length} of{" "} - {walletCardData.length} wallets + Showing{" "} + + {filteredWallets.length} of {walletCardData.length} + {" "} + wallets

)} From 017113b5050e22e23a43bfe6d86cbec97c1ac42c Mon Sep 17 00:00:00 2001 From: Fredrik Svantes Date: Thu, 30 Jun 2022 16:19:58 +0200 Subject: [PATCH 292/310] Updating bug bounty text for clarity --- src/intl/en/page-upgrades-get-involved-bug-bounty.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intl/en/page-upgrades-get-involved-bug-bounty.json b/src/intl/en/page-upgrades-get-involved-bug-bounty.json index 7c04ba72ca8..2b1063b9125 100644 --- a/src/intl/en/page-upgrades-get-involved-bug-bounty.json +++ b/src/intl/en/page-upgrades-get-involved-bug-bounty.json @@ -24,7 +24,7 @@ "page-upgrades-bug-bounty-hunting-execution-leaderboard-subtitle": "Find execution layer bugs to get added to this leaderboard", "page-upgrades-bug-bounty-hunting-li-1": "Issues without a POC or that have already been submitted by another user or are already known to spec and client maintainers are not eligible for bounty rewards.", "page-upgrades-bug-bounty-hunting-li-2": "Public disclosure of a vulnerability makes it ineligible for a bounty.", - "page-upgrades-bug-bounty-hunting-li-3": "Ethereum Foundation researchers and employees of client teams in scope of the bounty program are not eligible for rewards.", + "page-upgrades-bug-bounty-hunting-li-3": "Employees and contractors of the Ethereum Foundation or client teams in scope of the bounty program may participate in the program only in the accrual of points and will not receive monetary rewards.", "page-upgrades-bug-bounty-hunting-li-4": "Ethereum bounty program considers a number of variables in determining rewards. Determinations of eligibility, score and all terms related to an award are at the sole and final discretion of the Ethereum Foundation bug bounty panel.", "page-upgrades-bug-bounty-leaderboard": "See full leaderboards", "page-upgrades-bug-bounty-leaderboard-points": "points", From 4ec45aff689ae30b26eea81e8c2434edb031c85d Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 30 Jun 2022 15:34:39 +0100 Subject: [PATCH 293/310] removes embedded link --- src/content/developers/docs/nodes-and-clients/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/nodes-and-clients/index.md b/src/content/developers/docs/nodes-and-clients/index.md index 594353f2815..648404df3d3 100644 --- a/src/content/developers/docs/nodes-and-clients/index.md +++ b/src/content/developers/docs/nodes-and-clients/index.md @@ -91,7 +91,7 @@ If you're more of a technical user, learn how to [spin up your own node](/develo ### Projects {#projects} -[**Select a client and follow their instructions**](#clients) +**Select a client and follow their instructions** **ethnode -** **_Run an Ethereum node (Geth or OpenEthereum) for local development._** From 6fd4d36464060f127d1b9b5f3ad17b184146c6e5 Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 30 Jun 2022 15:38:41 +0100 Subject: [PATCH 294/310] fix header ID --- .../data-structures-and-encoding/patricia-merkle-trie/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md b/src/content/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md index bdba5bbedb5..4096197645c 100644 --- a/src/content/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md +++ b/src/content/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md @@ -87,7 +87,7 @@ The optimization above however introduces some ambiguity. When traversing paths in nibbles, we may end up with an odd number of nibbles to traverse, but because all data is stored in `bytes` format, it is not possible to differentiate between, for instance, the nibble `1`, and the nibbles `01` (both must be stored as `<01>`). To specify odd length, the partial path is prefixed with a flag. -### Specification: Compact encoding of hex sequence with optional terminator {specification} +### Specification: Compact encoding of hex sequence with optional terminator {#specification} The flagging of both _odd vs. even remaining partial path length_ and _leaf vs. extension node_ as described above reside in the first nibble of the partial path of any 2-item node. They result in the following: From 5f6285ce384e79aff5c3284bff496835d4c69874 Mon Sep 17 00:00:00 2001 From: Joshua <30259508@cityofglacol.ac.uk> Date: Thu, 30 Jun 2022 15:49:43 +0100 Subject: [PATCH 295/310] Make frame image background transparent --- src/assets/wallets/frame.png | Bin 116190 -> 124708 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/assets/wallets/frame.png b/src/assets/wallets/frame.png index beabb8699fa4bbf075ce477f0b4de5e9de788142..ec7825167a682099fcf3c141b038e147552c6e03 100644 GIT binary patch literal 124708 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 z z^05je2I)xUWFa<&kkiW9bZiz0o=ek}u7|~>qP;-+bOgj?$w+dB$!6IkDU%3jWPQe< zK7U_IiR#a*Xswluy+nkjY0xgak&c{dP}fDxg`Y=jx{v^NwOZlm=m-Y~2e@_X7H%Hi z0_|uVnPa@^{?EX7{N4ZY6OPYc5(4sz-~0FY%0nN=meybeY|k5<+1pJUDx5(jhnc3^9BxA3s6ls zSl-6nuX{DV?;riopHQ6s2`3;w^FRDBFP?cGyHta_7S&AQ(km|F-2Qp6>0sIxz6Lo= zH^{Z*_5MEQL-TqBxo!i7WO$Uhn?^`tAYvw8)j-Bw_q@_?HVQDx1Eu2oV&oJyqM|hf zWDJ3(6FE&3HWSdX30aV-v#_0ksR(9PVYO9Z@6~tV-p_agb}yX6;`Sk~KXnC{A9@6< zt2c3edk;rPi?q)XRaI#o%#2~dy_2c%lD^`1;5=*kn)ZEv39+bB8%E+)gGhplY&bEp znDQcfvq#!n5hQKqhqv-C2CY?l*Fg7aWKLPRy*koeG)=t zt(1ecK3)4ToemK}xl|tUAFI<7kl;!@P!Z+uUnbN#JHK%XAJ37sk z(oO0#6#puFK>|H#Ic~#@qwd=Tj?Iw8Dp=K>MNLR7ZJBwIyHb1Xo zwKge%U?XDU*Hj3-w~6#?2(6$h!Z>=~KmvA5RD5krK)mw?M`MhSry(FdPJ}9r<#LIp zY4EnUy$$z$&SztJ*fKj zA6>_imRRW}n!Or-=NJFpCj_^zhrSoE{rES2FYDVa8mrJSaPh)E&YanUONQda>fN3K}BEDT%BcD6wT92_5EcW)1SXZO)9mgo*UEDjC< z08P^*o5osO^b|{V;F$yilC^M@!S@C9oJeO4*mMqfQ^XcW!22;szbQu+j)gT@YvhZ5 zvupt^uGA}QpqN2g)Hb@RuzTS=&fask1gEW9fE3i;F1Gh}QE$zKQCOOyA$3fplS^lc z`ecgbHk8B?8-`8m+y}T&DySy>{UUkv9yVSD6AZb5_#soviQLR3I3t3$#aOlxhms7x z*a(1SQ%nNro8|uf$HcO#Dm2?Q?s?;D@s`i~Y=AYcJ^my<^xg+>Ef?(au$!l|PvO@E2|6_pd4wJj z@jhE`8K34h$edCX35SP85(35O*XQ8i0Jole3fHe*$6~Qa>^`N|6S!XTplrTGj6~w=)eDC z+%z_1*Yw;$DKh#_TE2l2qCf-_*-(rzE(g>wQz@7d#Oa&GaAW3%-uU^6A(UJSbp^0t zapweqVPV*!ZChZu1m-o+RDx99*j8+?IzGl+&ys#OY3ZC&4mKx{vFak1?wC206pjgp zC&)QxI5dEB!3)T7ksHtEl*uS3TEA9>Co|*xU6+8}Er5Xi3+FK3-4UtMw5YeXV2n>< z60HT$*Fq=Ct%S)p?FxRWD78>xQ)*4JU#1*L0HmtLG4J#NJe6&cC*7ldfBUI+T?eX! zdF#3kPdxDiu3x{7<**XeWO=dlurf-ndXDDA&oD?wJ_=FR7DcK;k+b=Rx# z%=1@p*d1YidmpRYD}2w_eHZ`OFa3iT6{WuD1mwrR@q799lh0sRY3$W=Y|R>+J-d(D z_8iBHLzg*!yoDS*eu3SFO;co?OpPUgB>E`Hhn4=W;M7+P)LN<-b^w;E4wcrZn>nzv z2UInxrVd4$VqN7F=do$?8_)x8e3bruhEM0!LT!Qobx?7nNOs-0N@};b<>xGmiibe3 zO2INk-)POyCGrb{J-VB|F^ zF$r$Gs+Z(qB<2fRN&ngN5EGMr3<*CnxqV~Uy%Shb#rP!O$f_?dv;Y7g07*naROkH4 z5t6kole7X_Idm2g{oG#aQ-}I#|`L!(JgM`@VP^L-`D+h{@;G-#Zza!Pz9-r?H_#W z_j9vk)T<8r%@!`6JBzdXXQY4%8?@aL6`fG(Nc2q-eXwa8=%(F&{uuty0}%VvCL}>m zR?eV1IK<(VXK?-5Ygil}!I(a6K^#al&Ec&7eV}s6Hk69IwEP@XU`sjf+>YWAXG!WP zty%uvkn;m_qPJEWhAlc4b;WYIgl#+EaDnHadKyoC>`^@X)Md2C3(V^VY;rSVir^FJ zv@kxU^nl>WpR9k|wn04=yW#r&s=AUoGEQBU$1>!9UL6Hc>H$RM@x9n0^>iFhigba9 zizbByEEE`v>xX#q(Z_M+si)B`mYCHIx>XAz1~;0t7_-YR+uM0t9msix%%oZ}7Gwfr`E(1r0EY`Z(T9b@=?xc>DkI2Os$le{;=iy5shu zf%i{+>klvv7TB^1b;mfjvx7?)FQA?&bhbt7ME8nQ5%}ah*k%M|oa0V&;^YieXGO@{QETsShTQh7m$xPdWKBEFMt}$w^CnHzhuav^l9XWsjTA-JDN(w_rE3% zgh}EwNQ(iTh)`7(T4S)Z9ne%T1k880q3TMw&dz{a19S$;GF0S6$DHPTmG9;Ci__2e zampGXA((MG{n8q!s`s2q<`$4b8E%pkE(JGaul^iJYxz71&pb)%Ip}dXvrf{8?F&Q% zTN92oWB;!6(4=vA>o$&VAAl@lu4ibMD`$u7RaW_aTbIdLp6y1LsQ|-zn-q3?LO)(i zDwa_CB!_)2urw?6dIo6V);%V9jP&8XL}SG6*V$T&O4Vzg4Up-X%~)FYwwcbRaW=@| zR}7=S$gq-p*C0uiKZBd0f62~$o z$Hld@?}UJi-_q;YJsb+*?gI-+3GrX8R`Q!pJ^$)igVky!Uu0J+g}7x@?+$45pK0ii+HRw`o2sPk_mm z=Vw-FAY`ArQ$AEp?FW*~PqJt*sAen{N6@xHLk*PCP^?jrWV^on%w;@%?P*|}aGP)A zzWeXPU;DA|dBO1h3rawK@o)VU-+1&X@Qp+0*5Z}tF5s?n z3@mpND5WJZP-)?K+ioc;hQhe~af*NpB6nj%$_lJf6;S^ri&&59B>22kOtG8e5E;aq zGOT-2m`R!^Ae}Ku+)kxLt+zNl0y9H5wFE!9_uE;iS#JSJ5AKffJZ#r}bch{6#>;!aAGq%-&RBPu#UhvTO@)crNP9gs-A$vYavpK1ji3r0YG&O7GQGF8ypnrze8rN^!z~yJJVAU;M_6>v2 zef#I&Fa7XeJ~jS-K?ukn{GadS54`7(adhh@%wmP}yL))Wh4Yx#4d#`GGLgs|sU*A& zA}^O2Z{j?+Ond|YHbWK1NmKz-sT53xo(Bj<4FM#+wxkwH)lK8+$Omev?7T$AuUFws zMVedNb4euxXYG0qJbsrG$WWuVL z>!`GjIehjikY1Wg?_1B=14Fe+@$wPXoWGw{|9e@5sYZWivS@9aRwQIK*aPu=5;$g2 z?Iid)8zVU&ER8V|E+^xRsd;8 z0k^QO8No;jhDFbHw223Sr0#d>)sawo@K zG~fk^19|tq|3loqbpyNe8FXFa(#4C|-`hodv=|nd50r!guMw*Srl0 zR2C&%WFWLvIAn`||5RDs^Oy*KKn?qA{~>!;{_NBXEKWsILT+8; z=2=qlggJY{QCRPFIM3&7C@uxVRh%rZe>|QTZi6b!$IwJXgH$?RAL|jeeH1ysK0?1R zw4NzQ#~waA=0Hahyibf6OMFBG-BC!D1nandW5Ej0s1oTW+PR^Rbj^mgof6{`uUS9j z41NiKVpwu%^U=pu^h}}~S3Zo;)kqwW8+W(rusz?#{@y;?WeZ}$?c29;_1SB9-+SI) zxbbA|)Dp-q{lGuuD-S&iYYcYgGo0Vu!(HbuK!c^euQe_Vzrd9MuoyS?ZX!)gRb-n& zU}L@K98ca?C}?Je5=7}94`?wFAtF#!R-NQ?FLIE~pov^aQxZtbahFsCB`!YxJ|%%n zt$*z1Svr>b=nb2F8jTW>+oV}Co-2$$F4&aAI&<$K2;0l* z#Jyx}N0UwV9&70ZS*n;M(6lT8uZLe(8rZ4$6qhCFK|o^G$}rzQ-^1kL;UTVEeip~a z$C#a)^?4Cya4JfDlioFRm^fO z(Z9~l_W6fOK%7(X{3VrCASaSKa)4NKYv3B979)tUOHX%p zl;paxG&n<8XC6;Io{yvSjy;m{?$0>^>|w18C-tlvGDXyTy$#=AY6}_1i!^HE@rB#~ zB(_yQra^rfFGafVeF8zKf|__faryoFvCn2R934rX ztoeM7)oO*OpT2_Y*RO*ci&eA4=Y8qty~OhEqV7ymW?yWjXNRErLc0cu_0 zzSq76O;zLQ@HWow?x0;PQF#gjyW0nZf-0HooL5|1`epTmI~c z5$GM;KpuJDhe3x+Y*#aA4V*uF4zsF;Z9B}XT6B!YimMq*zN8e1_S}5Fxypct;`h|U z{tl3t>u%B*94=2U6i0yZ`@DviKv0ob@7F+E63;PaSi`W!Kq&^19Rx-7(w5}USLJ#9?1KcLZCw66ZzO3k?l5%2(m|_z(nOXFkKht=po1G!o^SdkcBhMb43psd2)63BvJpn@__94~^Ny=Vsr7 z2s(9N0m;Q1P^%`WK)f0xen!sO#cRW`Af?u-aHdvfYWzx7qpCSS#&vB{#GgpVHl~8{ zEhm5{9Umc0HIb`qmdj;&KH9*df<%^1pOU`T5+6~^-PVN??JZHy7xoQcc(v;-K#LO6oz&s}R%`^gvq(a?kaDR9~cGI~3nwH94x z!{_7W0+%m81+EEdoA8#;dkenthyI%r0oaKN$nXBM-{3#|SN{fQjD}vW@QS-GVry%T zt!4&>01>$$JFr1(ocIJC(nt6-1hQ!B5zLfMT)y8aC$5q}qWGD)!7d+1?m9ZwCW#yM zUL>VJsaORDq{vG7L~`qF04kMw{Fs9cfzwnE<9_EO8)!pS(fB%?E}v(|-6+$si8?{6 znOl1lb20hN2Tl_K24tx3NbU{I(y%6c+SW&^pH2qdKt-~qBrY?D$o3e1A2&9 zTyQ~(Yo#Qm2k_hf?$7naFD}IZ0QcT|FYdqpe(dh<;=u%zUqtcRsY@BY)ltUtipQq!w-X61L_#tRfDanL8COl2G$tZu62~Oj|7d4YCd~r zKZ#T7&|l z>XZY|BslLTUy`IGMkKX?MWz-2z?m~=uzUBbfOEjP%jd$qbuE%ncPh|7{l4+3egHpb z*K;Px6&)*>g+b>Yc73@5-#kw74121@Ae`Mji^Ic19338mJBvpje(Xf!KN0x;^56e? ze(3k#i!(-J*C<>(a|U~7wnIuIV_aGfrGjxc`0@Lsg`~5E*xU$MqUL#^-^p7hx{f?^ zOl5Ui38dtP8{gv%V0m&me_fmsyOfr_R4}T4hMiPlO(K_5N+5Q_`$zk=)9TI`ISnK| zq~1sVdZk2n9~T4?f}1&AY_x`J#y=`OjyN~uDxOmkAQ}l&3%>^y@szVg23wAkj;nK) zYNl7SCLp#R*-^k311U1-cwA-*$%Pd5ZCDQ%k8hzx8NIo@ULtHStpV}o__dI;CO}k_8IKd4R*J;0YpYcvd}L7 z5mbt}5L87chxoNG_$BAyPS?tuRd3gcQ=N>(8F(?ZL`W!$l=poFZYR+jaxTKG&@KyN@Mc9NYVj90H-#f=*`g5KXJ*JNgB z{o)s7UC&^u0H0&`d8L@|`|hC~jvzE6u_ zN=R+eu5c&MnfU!qIlV~!!FOO;kyv|TU3rOcx&s?rGiT?lU#5%JzW)Q>Y((JELN%(rK_c>V&~XO00jIJka* z2j2a_Mzi0DfV}UQ|1JO9U-@o%Xn2E-l&gEdRI?v2J- zy!TU~eS%W)iK97`UbjO+AbwRO%5CC3fVDf?ED&b$ysx@c``L+xw0 za0J5|1aW!yC|43|3Pek`VjHCRwrv5+;rYwu5|wUV)b&}1uM`8CbRc|boQ<68R&D6V z!(ObSqKJSH5qt)K*a-(f5q|`!Q31QV+i0#gfU!7S9pGah{uqAm9ly(8^z~n|7T7l; zAP+zAAeJ`|aJJdPR$XCtXO69{8HfN);=w{nI5#FM{>yBnzCeL>PXTUog0Pua#K~Gw z2VJrujBwz5T4Yj4#@7#nlFgX^)~gO=GbvRl!ebqYFrK69?`0*x;~gJU;2K-kk{8NL z*V?v4Ul)F;54HtF6r>CdF@%$kDvu1dKHIZ%Xb5#cf)FQJPfy#1PKYCYvH}Y5e|jT) zo@!-E5*aohOeh0#p?&0wKRZuCko(*-E5r&)YiLrEwOCtpHhquQh?UcjhQvmt@ljrd z$WFp$55o*75G(_x>s?zbS8CROSFT8P(Z&<6#|ddx-g!qojN8k5XsiPLHX#MTv+61csCgVHUyN>y4H2oL$e+S%{I%-y6hW z>eHWVEotqAV8r>lJmMVzk&*SukAA-8-*IXk=W4Y=DOI>%%h)g*tEW7(Q%bcC2pW&Q z;rumm-!XwdeY-Ot&eOe*w+L<#qMtBLC=`Uq46n0r>xM{5&eqYVa|ed+2y6f*SHDF; zK|=?-o=B6cmFLL40X{V>NV%B@du9nU0X>PsMmQ<0Px#}f_KAA&np zs|Bj8p7|np9W+qhUOqTc+3`(KA}$G{CikD` zC`mz5{0eKX;m$|-_EmJ0x+3HX0S%AB<3uSalA{ZRgws|Q)Fa6Y&+JMJ)4P(!>P`Tp z9nz#>sat?yETqVk7284Voe^))s?yAK{tzmJQ1 zKva=pZw_H~B>knSPMj3rGC)YTTD-6lJ6zhg>73NXDGbQbMRTuF!}iZlBf5p~cz6=v z6%JWoMT)ysnAgtD)nql(jmIrbf+W4&FL3GB%9b`3ZR^TSD>0<67A?Sf^u1G*3of=B zM@LXju=3}rL=jLAUC zq>`%&+cXW9rUUB+^SyIuj$3rA+rVLm2j2B=tZQp|mf!z{-{5!u=I?-SA7dMYSDwFs zbNhQ@=Wx`E@_H7dqFy;LN9CyiFwWr(?q?+t?S-*Kpj))M)agNP@s>O00kP?t_3Bxf6 z6EM2Y-XlSfeKJe07K+=j?|eL}yx(nRM>V->)`CIkERd&H@%E8;{Nb1duKJ3LYgJ7n zzcDj(6lfWbAtyK`<|rRuP|Ya?avLb5lF6R!_fwy0CM9%av;Ol!Sb^D>LT+8vfV9Ty zaEY7Op2y+!>u9?p=skrm``WL>7k~4Y7Xe|d1oEK|Jb>eaLu|3a_SP1*wzi!9(7;&X z1hnt=4*VHCB9nn6s*WSDRF4K9{G+TnW_HDDy)dGa{oOh?3RF5 zsf4)aFse84G7E-?c-&)d``KDkn)M;5V;mD7DvoL;YDKRJu<{8_JlMW zx36|-jRD9-H?er8ZEtU*J37L0b%3KAhj{P<500+IC;@rzFaI|G*1!B$s6g1A&v0gU zSCS=KNs!1S)X%cn*p;v(A`=hK4^=Mx`S=JZS8!^WQoU5qBOb%1#>Xk7z>)5tG{1G( zSYHguV|1Jajt2mA9jO$ujH`fGL5y>0reNb*$FYSrvaUHI_7X(CcHtU5ME*p5qR#b5 z!D32_I|e`DIU@wp-x~*g<|;VAsb~ul^rp=-Q1YelyOS_I;xgiwnQ%w5kZW{b2p# zr4tLkyS)FguG?B3d>;180Mg9|pqB;;&x#SthV)~SfOr*IiGz&qPefF&W`P6HH5}mj zbluT!18*{iFl?UgJQHQLmmq}Y(>gWUYun|So&W$K07*naRG030j4P(`ioB!1y-wwq ze;z9d>W{gT29w`>7@R*%8%L@Ds6bc0{d&f5>*wwR<#P2#O3Zy2U zE~s2R2ORoK?>9mHlnTsYeY@2_J(wUu7n_9WDdbdW@wxt?+4q79JN-Sn)n5~LK?Kr* zk2EPj6PQ$A^3~V@0WlH`(d{F=|BuUYA)^H3>Bk;N&4kLZ zbXZl;3h1mGfJ1J2)ZKHuC8Cr~5pT|=jV)mRLQ)-S%uN-az2>EC+T!{Q$Rwm3(Z(D~ zuI^xn$T(J4eR`Zq5P!iHdCcuNxu!^PI67^c)xq}UK z%6DBVNm^1hl@ej5y6_=0;Xjw&`zA2J5L;KTR2veIkX5(vN-P1yHpFe^`wtj;3Fe5h zYWh?!>DVcO`E_lSIUySCo8)>RsV4*$0!;Ej*2Jm4g43T>LG3DiuCGTk^?e$i*Q)@B zIj<<-F}1<^kxgNKz~B_{K&-*BhQVyn*$&16N-aSQXkBA#YYPX&gdClaqa@n?d^ft$P23_hM;X*G^9sVSY>0{ARV+>um3I8#7?NV zdpH+TcBC_1|DvY~NhNb33~UJ{Jt%-dP3+_diAi7@=kV485QB(|1jLT$_2U{W`B>$| zFln1tx0G6b?O1NIAW>vLm#&Zdj8#Bmttef1$#lX=!cM5L5@~rv4aJsNj%ntZ?Ppvp85CV6|oOnSbhje9I4|IkJko=i?8540BaMEn1w}+riFkhDvEH z+g5z4>!yzkonSCxBq#$%y3w*COa2}Yh&chtH<@<HqBPTR&r^nBw@aX{I!@)pBrOMu;@w$}y@B3Rb zeezNAS()Dqo=($p$x`BL9R9TcS&19->MYS{0J^GB)is)`0WB-cnDLSKe|R{B{KW75 z(|7Xk{rYcVhc(XV8Sc4o7bmEG4s?p39vPkQ~7ihWc}%4Gh#8E7Jj5 z;gzqx8&zH7$;(eeTLpD&pw|pB=7dX9iE&;~rn8B^-X*Ji4kPV6$pVx`;7m6c5afs(Ca~cKeDN9+aCCGO5M=ArQJzCPJUm2G*K7Nj z+6Z;6lQqk|pt?>9CiM~LF_MztpguWZth*kOFs4*kCv3Bs6lChUPKdIS;6gu-x~>Bd zYZsKL;HsmsjRNUT*W%5tlmZ1Of`WQ4oRiGG9^v_QkE`pIq~l&f7JYhbDD}Vj@9Wq1 z1xN$Ky$iJ`BEbU@!l7G5sHz5U`pmcBwQqbqSS#Fp^(sE_p7)|%-UiJ0J6Okk6A`LP zJ4uY4lZ{P~SD#A87T}jgRm)QZrPn~541PD34mN0(>_)c6buDKa1MYK3Jrp#{u4k55 zt4etlT#9%7x~~F*>)g0wO$QVzR4ypGlYmQdfu;%|CTwr-qP}%oDsx(kCqDW_GX4Pp zdHS)(F@r**D{Rf?!r@w%F@~MS+5*~F!;6x4*xVb zMf=gOgg-G9wSmHVgxb)9nUu#5hV}YWQqWpqzCFkO{yuikoWbSGmvMM_C=M5plq<$s zr*av$t!&x?BC(<#6O~rHCT?1hKfG6&FneU!Z@xGwWt>dWJ8KNn<)>a^()#G{DI(#^ zx}LPL*NPVzv%bI9v|v)Gni*dG+Iz8m_XPmJ&Rys5*dveN>ebt8$2dgfo>&6{Z%$2D z^{N+R3{00YMAix-^Qk!c)Z>om4;US{A0jWu;XK!k)xWpwnh4;DyaH`Zi;+nnWA?o) z4km5u8KkgFd2lA+Pv+Q#MMt>RG3HkGVD7{Lh>wrJDux6c3W^$$KmZV1NlWF{1q5tw z?_zttgX6;ku<7vehaOGFpAeAW{6F5o|KYcO8|U;Kjjpi2wbMZ1;!jklBX#X zL37~n_f%Ew){-NF!inugS|6*NaOE3D;*T}&BtXi!NHb$TpW~iS`!t+=;~R1K+rN#r zZLvH)hG8pSBP@hN90*SJ_=L+BSS@gM(7{#QorP2Q1Y!|O96(Q~Q;B2ft?Wg z=kPw3$x4G@TvzdHW?j{1Zx3|#eGuyoN>nKcRU!FQD`>S{Ww|PAaQ3DGK zO486EQV|-H+SM{uBlNhGm#d)SvA6&Gv*C{jlR2ZE_#|)TMhuIHQ7XiY57EaeAvSF}bSl}WDpX#vPTC8m+l{|dYT4O$+ z<5l;(8uxwf=K`}Cb{_m7KK8MX!L;4vb0>AV)}ZH>g;S7Q$VnzTl1$?2c?J^rCmAU`Hh_%I^vBOMt-`M#9%NmPK<}=h07NM zwx5EAO17x-UUt??6eeLLP1~grHyQq|Dv5LtjACM=76wSx$+`|iP>>W+1ZymIcXn{Q z+J;?qXqfPk4}K`jAt4~wo_!AIn>i{YluHbqE1^iDPzpf6#sbDBb-Yt9L9|fhK^Z0f?<6H}b8S{CmY=REr9vGCQUq0L94!`jncP1E41$NQL&02ROX z_kW(>|9gLkbJYyHRO7C*XK`-t43^z8=pv0MivcSJ9A*v_E+-;=B(zO|FY-HQ7^mFZ zTnFnHEBrnY$avyS>L|763hTPYVzq)XMi5M;!;2vXU~MtlvozN71v;5yt^zEH;j#X+ zYlkUFi276y;wES#0Q0~qeXR*3cMn^$zGMMoB>jR*JIw@iY|%Mef;XbqRV7ic#zGN6 zgRpE3R8LRWDaTa8VTf4FAd%b(~YO@4T?#w;m1 zjOSFH9$SIjXZfM36k5}vnl(5)I)VkG+L~dpI6~9Rp*l54w72Q_0a3A(uI)2W3}Kg< zCE+zQY}+$GN!lX!K7$)@l&(GX=E~C;oj?L$f!j@0V5RHyNPz9S=gP$d5W~0~*gGRT z0^+<@eJvA?q~_SRJkL~sq5enag&APXeGuD{f>j#C78(YG6_^-S5e#W4TZ2{_J8F)D ztIy+!rys#`zQmQ)v-pC)@Tc)jfAyRCL@ZB#{0TI=!t!{5y`2ViU1QlT`??Zt@R|r( zDO9AOKrXUd>PZB>B{O`|vOJU@E^vsPBGv{EufDBEx=w-Xuk|{_VqK5EZbxqeSbvQ3 z`U4hSYh}*5fvyOK38s@GMpdsJy5klb#KJk%i|>+kG!>OeiP{PPw60){*doLLEWYi; z!d-OB6BZ(N&{NKSRourDe+FLC3l*tDm1zZwuVY;RNB=w z7%8Q@SrbnZFhVL8YfW$|^-;=kx)~yZ(tZspG<7ZYP*~F9ldA_qP#{gPhI=4$M^d61 ziOZvwm;hh{2Et#LK4OETQx}aQcwrJ&s}9TM5;G>ubc5CyG+aS9+gL1C(ACK+^2PHr zYX~?MtxN|tJ;Ee+&vLnxYjv;Q5{R?tEi*}@`Crj~!6OxEt!D?#Fl;QdcLhub@zx^H3q zEfi@qwE|ZJ=BiiMu!ZdmzyKQ!SmAgq^-`gl4O3CXM`I%d5lKbDMOvu35-zwCpw#44 zW-b8V=L+f^qODX7FtF+(udqDTbiPERn_dB}1skBXZQ?e{M9wV{(9Sjl)mI`^O1Lz( z#)0%w`ShdWPfULo8P<=6WXCOl861R~k*GEIlUQ{T^oVMzSpH zW&v?JC=n1V$WrC2Wn-(11(CvRz9lfgQbM*{$;+APM!4`e7gwIzBUGO0)(fjF-gu zL zv_!!n&%;q!Px^;k^oh=CufTL-oL5?-` z_v;#1cE?a#1lp}(j+dCz7M}m;RR9qIX_SVBfoVHz?a$<;D22)uCSor_Ix6phJEYN= zNGm?1#^aHeqKAuAT|qRBUyygp6p`J4M~O(N4ptx<@_fH(99JKI=aK6fj>rii98*KZ z2H_kz%eAS2-+M9v>=0YtV#fmokPsVhY$Pa&Fl8lxHlnMSZqmmnIvEov%9s3L)SyY(VPQmkD6oVP!g8x^xzAed}AXzrT-%AAT7BKYMT1 zWXX}7i+vsunWxrnG=N5T4|ZVoT_cM3N~Z1q=utmGe?U)q(T|XsOlH!35VhE)ku-{z zyyS4m84QP*!8U^(-RP=1Co{tJ;Nh`l<~g-=1L#3HtdVuL%*el1V| ztpnO-b+n(A&(}8Z8HRMDi}Oaz02%q7$=|Dlk}22Ld?Bu0ClF9IBx%ou(gj_+R+EC! z^aCn)`z{~6FfEmyF$)VJx5ti~Lp1Z~j`1=Sk0@j!l0z^gsl?HhN=6|*;=W+rkNMtp z#{hX*s^wz<1X51`Qo_0Jvo!aGFsyh$0LrzWv!ui_NG@>Z)awL6cn=ruI$OByjNX^d zS=0(bRMZ7XRN(nljd*zW5a0j)_wnu5zl~q~;urY!uYV0Y+MNB?@Mq<#mh&BsVZ{Fa zJ`Qdi;Qq;dIO=g^2!H!O{WUuP_@Do~|AEi$-v>u%_Tz&?5CfgHaITP+W#B4paJ|mO zQUUYC&THwfoFNRs|ZWk8Ph21B$U$hoLQ=;nc!WK@~r-sFCpa!WBz!g3L1;A4DUz7G?xx5dcX z?lCZ6_6RVbARB>#)Y+5}9Uh$ChY#s>nkRLisDIq*#wVEG#(B=Z;M~MZTqW8iQlD2P z5D73GU}3RxD^S0Wm0Q7)6C5O_t(i=_ASv38hItLk{b@g!tl{Q;knXG6ALYq`?GFdS zxM#T}1^UcFznJxke{2hG8uhJI8-U7L9r) zTm)6j0>q@?F+;im$X-GEo-S!^_!gpoQ>&EJ)1p&Ig;lQep^8aSKUV*vBtQ~BD>^AE zT6cmnGE-%MgJPM>{3j__&{M}Z@Xc3W!&Be9iQ6CC#+$$SS0D%%88@3$h}b@$l2`e0 zgf#}ohd1z^e-~gzXM6m`pZ}#;ARoT>2ORIMK!I_1c!<91Kw}W3*hi8pvP_EstT-`k zKY`X2Hi1KKHsUUq=Ms#;615MJ>@srz>hZT@3j`=?Xn9Y%rIj&-WIbgjsCr+Bzsfx?Oy)Vf$Q^8^7{)+d+a@Gxa$d7)`4CBVk&RYo*5(<0BZa)43|T5`xAe zk`S?!1PCDY5*ikhDOhNA5cx{mFGT;=Y$pTh-!9gL{7p^0#}^*q0J@eH-jO2o}TwKV^+gih5o% zdZYQduOj9j5peVP2F^}SL2TemCj#VfwTEza1_Q$3!2yT`YC`{Md)Ri89tF*vOD0IJ zS7x~|XDzuDAX{md3u~8&vSZ9#Tz^i0w2P*#Gf-cs>PqUiQYI=|nL&x#T8=o?Da3nG zvpQwSMTVcQQFLen1$36cYyc~+95##&H8W&pu$?kDz<`56DEz?fF{QcAeNOQ?7p}3^ zbw)8rsxGto$nXSlrR1n)#kfjqBG)|3Yj-Uf0DFCp;3d1vS&OdgFb0od7(h(ovu=Fd z>kJgSMB)`B`5Y7``*@f2k-nGqMFBG& zUDMf`k^L@?N1vEHLy{xp88Uzl1cqg4bVorFJ*49SC!sNl`jhyYVZeA!0wnP~L{~9o zMMKQ@ynVTqXq!u=zr*%<-rwIB;TaQ?G?qjxM~yYLmZS1D z#o$}7Hz32<+uKJ70mCq0wOYabumAo3$nU)MHacU`MXj$h7Ng+=Hp;{XbU zi$#6-EP-hXS?1|OO(ryDjnk7@CYqIHqK`Jk4iLa3nwpQBM1tT_G(?=O37swJGhW}{ z1kJZxWFT;`*llGlliXiOE-J%fRp@lDB(53oHfwy2c&yXN z)s3WnK{WDsaX#44e2b3lJu;|JyZ^SA3{>O7k2u|0&j8Io}f- za>1f#1vHcoH+zq(v*6+VhuDjNrwF3(8Y5VT-h1%a#Au3S8(q_$2U!Tr=!}IUD{gMX zaPPnSd#oRx;MVaGEEC4ffTN>BgwbOhJzOsuR%?kQP2q}E;C0Ahs3 z6-F^Tj);)5Y~v`^;v|(hJJ#@Kvq9hYFdbnt4mdkIOB-t(rFKExsB?(QZ6$karLy6e zUzqWv>iJfh7a+7lfb1f*EYtd(AQ0#0J+(juZJAh#jN9HdB1}sAY)T;nXa?step2lR z0~pOP;}Bg;dMyTmSQ7z&Wyv2@-T@+z3DNqMSRSzfIlu!%p{;9#A zj7`u;7=7QRF|AfB48tHbT?hfrh%fu;r=Ni%gR_&N(PW`Yt=CMtU;O<9T&)ryIS8h|&VJgO76r!z!35jQpeFQ^NvoC6OB-~v*}xft z5M2TW1dh4h0AM={0%L=K5rRJ!NK+LFBgYI94$)O5`JLhlD&I#_M_|B4GrP8t-q{=* zP$9JJCfT-u@;SDAy2FRh$T{#Th*Q{y0NWY(aRd(@h6tTv1NjIy&f*KUlwo&_5%-7p z9+oIs;+=H~+e-w<8e!1nX1!*?s6a3i7f>xEa*)4G7HQ{u-ZE($Qq5%}E}fHjcf+z_ z7`Lq7APuEr){{2|h-kaUu(%qHiHtpJ=E*jpL{A_B+4B{{B83dx>`t1AF}{1}dld--toqEKK5bPSO->$*VWG1ozIt zRD;!x*2d=3`6uaYk2gzf7wrntmsu>OuQ9o|;_yQV(u^rE42!Rwti^iVNG6CgVCw)& zu+{+1!Z^asr*Fdb9rpSa`n?r8+k>o0Syh@%wN%mEn&%g#GTt*gKif27mc<%p3hHFL z$dTaZudi7%WZ}mVz3E|y@cw(h$D6vA6c>3P6IJkKT*L4^MkNY3r$LWL5F$@D-Fz8JO zf)wrrF7qG1cwUng;`yRPb&)z60C=ZB{*3?tAOJ~3K~&Cyqcq#{0JUM#e9vf;AhT;NO=AX0 zKxyyu=)*kk0=ufq>awKQons)SyTveJ7zRPtHKG--8znSr~F~y+MDl!qLrR z+>ZJJd_|124(gnQx&O10A1NPa0J-{Jn`i0;VgA1ciLSu-r5F(1&wOH1r z;?oL|dMa{q$V70INfL$CpEap%%&YxuY0l^0pWh=fW+a6Yi7AP-n-w6#v58cn)dE?8 z^nvH+CSHXMfjRcX(f9N}q7?gB$~?^P=cJM9-ol8!@8J!Dtifup$9I499XxaIIoQ6# z+1VQJ{q9}7_3Pi_!H1s;pMpt=f>~n@*~Lnsn979>v{+buzWtDHYsQ5INWzQ0FP)_YxIPn3- zNX7{x2W`MvV_^U$b;O!?(UdWOa-+#2QdbSl@}V@gqGco(p8?zbre6h``mF2m1_o@` z!LB-ZBhBsCVT7juzh}|y@8Rh7Q@Hc|H*n|PT^!$f3VVkKA{bU3(4lI|)m(gQmYP~0 z+bon_$E#^&CY#(8^}OatF;=rAMNGjlWPQ}Jf^Od+AqoWG)=S^OcYA{WdxwAd$6uj0 zN1&0DOM-pCI1He`F-SgUI2wu@&Dnw>y2&#w{ntzDb8h`!G=3rU#nx$+N)RCXU$c4C zVk=!xsv);FS*t6{cY=0HV9Hsrd~WIS`c%sSXBaM z^C$<5W7@9XP!&uHXcf$*D)1%CV^Rsbe0%4ldV+RYJmT}r*Y(lNH_l@12b``?;d_Id zw{PRto!fZsg>T^K)=fP1>@%=84#la<42&Z@HXzew#MuHG+Qb+MwUwrAVOp#*xts$D zxatgY6@#M5krv(uVybfKQ$~4r^8V+3l&r#G0DQpV!5*G_^&2=DHyBRO@ZeuR0uKX1 z2yoVdqANyfPb9u&wCkRYEo>tqbLmbkgPmn=eU+^^cdH8;=In3ki7UQyc?)Eh$f`ak z0I1`l0RRla8d<|hf%M9>aty_fqr~rsV93E(O!$H!BlujU%Qy0vxtjU3-zpz|9604B zctaR~VDR#{UlHMrLnDg0FzB0Q(sC!Ie-lwwn`rmA=so|?45;?%iuo#zpV7-Bw%QfE7h z@pKdm#9D{G@5S1PjL2G>VKN{lHxa>vXxqg#RGRqOJ+JitI_GMQLpNN=X=2p`8uh)E z6C8`!O3s@maQ?Y{RcNAt7WWkh=xm3F>oc644KRB>Zr-_#r=P!zyRW>6r|&+8)$OMR zv5bHa5oVbgwzIHq6+6#K@O>^G>L(h&{DugZJmy!I5kWxCm)mumAG0zQ=8Vx+{-U=I z27p`j@?kV!zVZBBJiT{_zx?q3!s+?})(=iG8k4JYqY&1PZb^7V_i71WQBv!&++~6C zf`ynZl*QW@<}_1@{h);%eVW%D9*7j9 zGX!>o!{YZ#;M|}`i zR`EPiS54z2^0%rWQz>M;&%7s3~312HE-ZxByB;w74&( z0B-{J_V@7IOE2JsZ@q?RU$_Tz>k!!Qak@SQ$ij9`kYVHbMhLR54cbefcIBvG?z>j1 zJj%sx;sUhsK4<{J?@dBKJwQzm)D%PdXpV$5SZ zEuAlAtFZztmSCtkmOPF=_ktlSwJ>qMMe)%jhK&EEB=u84Ih2eiJwTh^H6$-tiaE&= zT-U)^3umG$sqcF+6P*Rv!x&(QzN`a{HU)yhbWP30nBZp2g@WRZ8nX|I$#9u z{pq(c-0bm-zxg|yeDDd}$graa1p|v%6(3y#BP7fi%a_2ST_LZ@=v0eI03izZ@^cPe ze;i{}!f2R%vM`gv)pp!$Zc^&2^6#bi2gnu!Fa8!l>Sxlr-tyn5UC(8Ff`PCeU`+%9 zjB&R>!sJ4fybQ*up$P(lC7?3`1rrO`!suhGY#@vy22I1>_yja)txaH=<+}1QK3aib z>c{asj;u7S`o!Zu{@H)T?Ynny>((uN`st^5|NZyz$sazzeprFL^uP&_PL5@N6m^*f zj!d5ov{z6|A|PrDhM@1|zA0J|S-Pc43vJv;%WC~hg@e`?tyU|{399%DorHLOH3agr zsOAbtA%t`u4ltd?*|3JS;sFT+9Nsv_d++}NPFzfRfWgPCD=)z>3JU(BzBEP0>_996 zrt2j2)N=q?3u`Fh1^Mv|UDrv6x*(c{>l_>-nyrlloIHwrlNq#a$`sWKN)th~fVqrL zrq^9^!01t}CXw(l?Ttm7v__Un-}kVq4kv!VM-Lys9UtJ{D=*-MpZoyFcbw<04JZ^$Ibm? zDY#?xr3> zMp9k7gD#?01Z-l)l>l634ckM!7p286eBDImD2>R-8fiopq)C|YBXM!Tgv2k%LcR;B zQ^^S(QyP4RIr1Z8JUhkkaKQcd?_;%EA%qbRA3nr-Eew*3NnKLew5=AD*=G0|X_zL@ zVCu>&U#q~#e?x8+ie%8H+{(O9>x{B{k5KlnDX&vg<1V=nWiL?qPv1*OUnz>u0?(je zTb+q55fwyD8=6Gi86TwYwPXUxO%Iy^uJ3T~-aUW~KK}S)48wpfb{7mGz>vW>jmX#wXFykD3id6b6r9jPE3+fEk2srft z{m~JgfBjW_`zJrf(Q7Xz{=y+t_xn{(QT}6~5Fp714tVujub~?~e*QOqi%;MC2se)Q zaO#KX7K<(g7OP_<*&{AsYayPBii@P^R?mG)7LX`ab(E#Oj=VnKwM#8nNue*eK~#_d zFxJuSWK9RxxfDaypt-YsN;~z1OIlqxtXYBv=-5hEO&<^C29F2p6LdF^@cMVZiPwMlJ*-~12as4D zn$1$CHD3#m$4dke9>c&0n*po+9xwd#y9nOnAJ%`1_30Tv0#q3>cO+?qa&^B|mnPO7DB->E|q9h3%2YF#CS`oRI5ON{R!N^;pKi>JduAsyIRtMn;N*lM-1%vXY4M z_h1>T)qZ5cz{YP7Mm?AGo)=3+_ODUb7sRSyh>I>krAJ0cKq_uFk*ACtBnv1+xKbVg z53EP2TT4u}VX($9FaQdxQfl(@xwg!f*P&42thGDQjOX@f1;wJtMqKwXN%e8QwjA`j zWfp50Q%;XJ&goT9B+f&-6dxypi;S2Jh@=Z)YHE~xso51&o;X#Ch5*BowzpcXaBy%0 z9Nh#q8+2V)OiC0`jQD`O5-k$ zi6Ccw4OoKdtW^645=2{L;Ect%9*UqY#F7h~V?$Qv#It$}B6eHsgsS`5F~M>yROB%g z&GDEue6jqSvH;7KP$*Md0VE+&*00I?M%-vBKNdFL7=z6@7pS%{a=fT)y_`Q+R~(=j zYi=^eEI1fY}-uaC;8N^glzkUT+`zr?-^Z$IoX`7(UAikINW{hMf{BZE&l4y|5ElXBFklMkt#bv z`fUkA2ThM5h@Uz{#vfQZ=TU^;7x#dI=Xntj@RFTG0iT|p#w;~6Ip#J78bqJ7M3&Z& z2$;R2Jphe9FA;tCrNqYccx{|fYEPbxT zYUZ85q(vZ0Bhrfu;H&|H1KZf<*vh@Pv4iZ|4%NNLGxt@@Au)N% z?bLd-{Nc^F@cE~**B^X#AH&&zaTqYHN372V?Co_x zAdDWdJD~J_(d@1;Dub79lPNQZBWo<$=J}l@xBsDu_{Gbj%1Do}jnKp8qF$oPA zNrg8BqYNRPb23p4129hORBBgA5)jFQU@I3|;!7r{(q?5>(sfm6$AMMjNC*>)4W*VC zSj$^X-4m%)zCkIO!ADmrGs8Jb)|r!zQ!|&3K1lV4Nd4f6Z?jBHcrLp zfDPfLAAc)mPO)IJ4ZwrY5kzUC zi$HYAfR`)^6(GBUQHvHyoJ{puo}8Tt*37EIdRXIZv%#PI?7zYDKlmObq;5bxRhv{Z zby{J!O?Z@M6paVYAtY5CLIjt&|SLaE;V*#qNOCBKR>GX#^>nqsWtF z3)pE2Z?Pww%PIdY?w)*(O8Df@O%h=BLujmpv}NP_g+;*3sh?-4fD0#Nf=NBVqbZ;~7ydL$&M9Sh3&|#7yDd(=mGQ(f54{Ie0J06UI1Hvy(C; z;!!M)Y0ZVCscCKrB_YtBON5fG-t&cU03;2q`c1K;G$R2(RkT+!%`RFw;)jhv#Rx&6 z+6dF~Ms1tex3uf`I!0p*2JdlrcnEYBCt*Oh+Q;*+ynvf`Zv*>Ie2uEXK{UH-`{Jub z2~nVU&m%MBl++O!Y6}nXsA=ik>3xc^7}5<-_2*hwNb|>JRMF**+O3bGL{g8FzBY$@ z_|AX&V|?eQKgLJDe;>d8r(fdjx8KI*>!kHS0zlakSOo_#j3$~AbJ`e z<1?we8j}w_1X8{kWI?->;B#*CMWSeh2}~WO$@4*&Oc*^3TPfB&0QUC}vH#p5Zrr|w z=kDIY@BZ-(eDa46@ZiA%^xVT5hhgxrAau4v7zz(X^Hc&MAuw+%=9K$v1;xA;pJTuC zMaWexMlrY9)jq!-G%och$r44VInLQ_kua8=#N~AJ6gz5hor)IC z3UM9g-(S{Oy-iDVt`{Ln1heWeV8m${aO3vVc=fxli|`;8Q{O0KVsy-sb<$od9w(O! zd~Iwz2AYj4H199hf&;Ym(_Lid2T-1W%jXsVeCuRxHQ840ezd9KA;v9oleuCq6JUE= z`D(*jtdpZ>4smq+Ej;`5Exh@w-{6gZ{v{rKavwc_UNg7Gp@MP|fkD+>0wxKOIZ7Eu z?dC}tPg;hl^Wu{hKfB>3E~ALlTzuJ3VV$He&hwwCP^q6^r9fzKs`%Wh^#LGg2SS#L zeH9!jO&XkHTLu;|QmDv4!;?$?%jy?P-l1g0pm4!!;6+_fR1P{#M9g3ypKeS{og$6S zBVp6mL7^<&vb57l3DXHjc73()m!I3trA&eHJ8d1slD~4NrDbR*ra!SNCHkB{)r zKmSL3^zQp$&)75lL@?;CJ=!BPWCa@|478Dbb8V zmsnFsx$Jjaq9s#ONh(t%+rdQ_))2g;{m#T~riJe``~KuQ3!eubBxlVB?Cl+3l zH}Uf8uK+6xI7nr2Oi{G#qu-b$fMU#rSJipli`R61Y6S-seoqaUo0g$rcOZ4=b$3Xh zrAM6bO#z-NGab`Rg)|33P? z72f#yKjY(f-p9E1=!^qvI{-GxW#tP2VkbhixxeOhtMO+cke_VwW>8UPK~vP?SnXI{ zLoKFOuDAB!%upK&lW$eRiz7<97r2_TkTQ*=a7Sh3-DRObfaeiR1$H2~x>ibWrT`Bw z=+MzZV~K%8Gny%`<{VT3n^<6DV3;A`;!-6`#0X3n2VXUb0wj>8So4mIAZSvyJeULz zU$QPZg_BDO-AekoMam>G5LknLwZh(>RMoE6YpmDn)F7*(b^*on>~bY6eQeprU?vbc zi_lvfJbhDet`H=Fo@G%Q$b+^fO8-l2-fQ9U<&mbkwp;u1f#`GCFO{FYc|W>9#S$_x zNqk3(Vs7e2n%5UO>Yz%d+|EVUSqy`q^%9X_=2;6L0)~x8=N!xkm;=HqKYkqt2M753 zzy4di_uF^iHyb$Pq%TXvBujW=6Giaqv@8B0w;MJ8=)C0U-bt3vg$FYCq{{1Mfgpct z#;Yix!=@>WOoBpqjH0cVSX#^>H${UkrR@W6uaUB_6t`ZGCm94Q%w8uW#Ehmu;2;%} zBNUyJVt#QQd?6dLvMR%YlT3c+*@%E6HI*3e@L zkYeG;`A9(SXg6~-#l5$m%Sq~V+IEcW0cXnWo$T~j^$KkwS~NM}xo_UXPgWLYi3QS3`omBE`C&jLJ#dC>n zLqrU%$@5YuolMDM@*b85@KXFqAo$TseT+x6K%#^Kaq1Ap+5v0SOPJ_u6Xx$pg6)QE z6gqK|Omt6Ct`r4I;Sj+WDOB$-J=k5^od=`udh{zXk%HXf=7DcPp&@2y@Wk`1lwHPu+;CtJpYtJx1l*O{tLA^wp%9hx65XUWLHWBDeI( z)sJ&oV5OJfA_~o%tlVr)(eJN7APk!k#yZ^k#%;Xz{cnNCfM5QHpX1Ka)9`-4{@y;; zXKUO#x`7Wr{1k^b4>1gJH!^K1AQ|;o->x0Lwr$zXU&kM=u@@ z2DF}o(4?EDKhK};z{S3w^E~L;VgW-I0M$Ll7(#||&hb_*l9i%+ehLH`i=)R8t@}t_ zR0*}$ioh7d82x+ERo=S^6w9N{!9%VC@!o?mBKQ%&m`d`+n6N;Zerq@fW1=k5p!igv zJzfUdyAH-!tk2eX=bd*z3=G47)oLa9MvGu$Q`)8}%>N(@RD}U}@x>Q`&Vs{OK{dBj z)*D>YH9aYGQQ@&Y34qb9_5>d*#zrC=0rkMMFFuF=^1uDB@PGU-{~JEPe+tJ2Foctn zGaMcqE?!FV&co*DdE;QzmH^B+-@D)XAl; zgfWYX2r!+*na6Px`=&^7_CdFY^?H5j`#TRgm3Yz=Y6OP?#t4dJ&YH4NFfcYEKvLkP ztkR=x!eZ&O%lnWCKo}Wh4LaLP2lFt%BIqW@(;GNcw>xIm^%v? zgJSM!x|;pg8Ip1{Ef@5Gp_tEX97NnRMG+!eEO3S0k-o6&B81YCQ$2EQs=7fIvC5 z@5|Vt1=KXb%0+%6EC-ChIDp8)^;Y_ccu{BvznP{tKjIEll?zJ?`HVsQM*yn{7N=5G z1mq?&Eq$SxLV*#6F=j`x ztnJ|ah_NX*kiUh|YDYh%GN`VMdG$;lc-gw<*V9@momV4U<)p{pf%>>`&2?+6waU?&y`sl+bQ#(-4WE%;MB z#loaosN@OVw$QeC=5}z}y}e#0iXjg@`h^S(y1o;zFiZunz)|EBL@M&|%1dUeWI9F( z{ErC6f(`KObGK!@hN?NcwneV#kBJ^-3A85S0%(DK2m3`@A!huY!*d=fD6f^ul@uVEND$*M`So$$K(#$KA7 zq~lNv!`i8PN-QH0B>;e!u8!scv^mFo~f>EDTVRT`VZ z!CWoGkOYXdRHfKyjX|lGV-X;ae_uvZU#6>tb=Ic>53Pu}%#1J$82pI7?{i1RIROHo ztplf}%B}?g!UPyc7|7$st*3xt09K+I*)1^;x%M?()7P8as>5b8Ab`=YdISQ_)*}GI zL2t3T=`h^)xN+wh{OnJEhX4D2|37hb>lmFk*qm)($$>+TLFOQ|koK_v&>SNJjo-Vh z0MU+&`L{I!N2){9pnOx@XQPWfwXRk{5iqG^t9q@IH2&L+XSngy4gBzjKg99zG5-GV ze~x$GeK+yK$F04(06%dnA3)67fgDXA=yl)7gMLF=eo+_V=~b?zL&h&G#q% z!VrU5-b)~=xb8TP6ClMl=*5iyX|cC*+T1iXFHo$Bp@7eMjhi=b0(}Se9&XiP-~b!Z z&8Ycp@=adbCtn+S9IoA~o^nUl>cVddt$xRNcAb|;z}gOmg48$=;5q}a!6pD3bfgp??eV$q{ZfYqI6?<|Hs%vbHimr zxmGv;8BIKuIu!o^fZ?n2l^&Z`L7!9DnF)J)`?z!G4)$*E;qLo)@zF;gVcdAY2ZU&G z8Dz^Q@z_}Ot=Fr9{Ka_A&d%U$p9Hk`u>jPVB`A~7{2hV*XSDE1rS~KgcEOhjpstRb z7ZAQ_S=;_C=TY|>rQkkC^R9)w4dri$s|GN$H;^tmg;@>+gy6x}!jOaOJDI9V)0y8v z3XgG3*Ysu5R@c%a%D6fYm33M2hVYwi&*8ymr#L>?hv5}|{3k!f|NHO$45ynj?7IW- zP-i@~WA6Jtj;+psnphwUn=yG?iv3?Q@_;t}Qn$C52%zR1S5*KG_V)4FC!gZ4|N3vR zzrT-n-gyTnpFhOPtweZ*D2V0~7Z?&lCR9-GAp}v%Id>n-p$t^tTj&Q;ylNgQH{Wf8 zG)Z=~!e$~p$44h z_vTy4>tZ4Ohlx3%01%qz8Uz)@k7E=dRMnxBebPe_OlcDjwty*?E23er)HI!%xp93z zbp=E%{l$9pRSU&7e_CTRx%oO1VcYBw=R^!2aPL0t3bY)Dd3!_Um}(t+!!9 z+-~LGYBc*vPxDpGK(6VlLXRp&bCJ`i04O1S)I;w9>~%fHG2s5^pW~_HBOo|Db^94~`zyc% z@J2EyOIHzqBvo3AM7$J*yKm+qzDImp?Yxl?K_9P;nyd`HFcs+wc~I@5tYV>4`o z--)&kYh6U^&9#0Bu{R2kfDjR-ZDn29I7eOA!5D+S>l3b*#*P{Ra*44M;ATv;lC&Pf zD@;m2B|J*WRtk=c+&jH)SsVmI68nf+yDH@V~aEo~~Xsu-{?3daDrh`ej2 zZHBI8#Wj5uX`9f{8iezo>ro6SD^?aj@E*nz4i5LQ9!9Kshof7^c||QCunL=%p#eF}SY03?Wxt3YiQ7MpWfN>wtGH z+U!DN$>XNntArU<7qcaEGE-Opa#T%bAuB6(LKBnDW2D&IBZRaluWq7V(=~nZ^hL%% z0OWQG`cH{~aonI^?Zfm2ClAiBG7hW5eZ2h5*YL(a{Sr)q?X8+7xBE5mf;kU^LZnYW zH)YT~o(ahAG7k+*&%rk#@B6~PR`uFQSX)=)4~7l==s|4IJ3-40A%MLo?`^2T#6msl zgg4nJK*}IL(LzJ4!iA@Tc#8#6o}zS7<%}!?aZMq%u?>OYx$c3UBz&?kvP7d|k_lQp zL}FNZ29v@Wi%KG2r}P>CydP>fX`KYFUsrdQvbNB=L@!LzW6&4AR9_S))e#id;a}4= zUDFIj-V%2WF|g`;Y&IKgHY1LX4uAn*4(Jb8IKFigXCFMQ;uNigG3UartdfPguO-Ib z@{=VGRBMT}M=(z~Z0-tTcJyPRc+Um~7Nhq73C~@x*AhsN740q4&yXll`L!g)g+-QC z2qE=4>0%684T7><14M9|YD#P(bBj_r!~q(IDx-=-Pyjwwd1n7w>6)@6g^2+{ZpK+b zh>ZEe!!TgguP_XPy(KOo59WxqWeteL*OuU#i6>JHG{WK>0-;VVzF0Y5CG^-Jc#p1g zGFD<>)kW-nkKWn@<`@#_ul(M|ua`Zfuj$FA%f%2Ly<4L?dyb*be?G$jD=eqxv#E<{ z#{hPGUoWqX2ebD;+`-r|40Sl#6Rf+|99W8p29$f%%(T$0C)}i%L5=Rqh=7Wa9!y3{5D@2|r2!oRi^oRe zL@dvY1A|#WDA@xe4~Ykh&=g1x<5XGas?9euOJ~RA$`5I96h9{bp2f>E@+gml7^5HI zoP&oKFvU5pOBA!GqL7fdNo+2~S>yIGtIDteQ7C+91~39_$PwDZhk(E%LLdZq41N<8 z0E$*kyb*nk(j-;v+If@nOQEVZrZiRK;?#eX-%t8g6`Xs79OIg{abpUku+ZbM6oU8?co z*5$r^KI;I!0kKKRK%xLsp6I|S_8`2N;X@7mu7Dvrf2D%{*CYtVHr<{QU>&Zfwn zkFK@%Yr3ZM(-$4%xC-gs4uP|ELV)cYj*pMwOa}@E)|$jvZLF#m{*pT;T2K-qhGNjy zqbd@d5HIkTLIJGjCdWwg_zNXH#Tvu~VHR9yl{+a43xRyk0dc)fc1=OL!B)VFzQ`1l z@k!=t)^3-C2e2$Sl(Gw}^4W>B15ngyptx}MsYw=<3XIzK=fUt{fI|nZ1@RnUK(NN( z>}-vr)jqf>7A%FyuEoAB#<7d8T#vDB;a$@;eFf>utn;`GDNm7f)cB?c5Exz8VSj%g zd@>5dWB^_oxe4QybkyuN%CQ7yh6!f7@X+6#BcrPRjzQ&-;4D0}1VF!qIKI-#C_@3m zFr;&64PBKjWv$esk*O^X03QCax0Ogi^bmsJvIL3Tt7#N`o#vK;-!|R|a_xpVXkyk? z%+1y|i|gSGOcDCL>u_{@1RzKjK?=Cn*;8MLH4=N9Uxv2zSH7le`l`{FQRnd}hzuem zM-(PO(tDkAI5;@Kg9rCT8DxqsB@1GPr5ua~km8Z$OJ``g|2gV8J5T+HGWql=nH28; zo8(%P?-2sm>9wH|Af5}}NT{p}{hN){rKqKm+*|4bYt0BXfVRercL`Q0zK#v0Bxjg0 zCIONqvkC|;>>~+!8*&QbeYI(4oyS)s2C_sUFsy3PB+x}*VWj)}``F(@vzE&DHI`hx7u`~&0Le*OF&W9${Y%P5 zSwsX64+P{|xaJ`Rgb9->OC_%QOkEV((u^tIgt6JOFdPeYtPWg;1$BLy=<pR#8#pph?|7-$a>+n<=Hj%jswQTv z^(WDy$nz8vhkUjMTA?E8vTZZFY+V3I>A3kGrWOxVR0N8#Fh^)h z(u7#&XIK$9a`Rbxo{Qe{WR9+g^+ZJQBd2{F z6dgA(y8RXQ_xA;|y^ATlaMG`$TVWVH3{*Le(Bz@j#O;NY)|L;jU+U)}R=A!tcsOl3is0_+hM>FqV1AoFHlW$0Q~) zlf_kjr^NcJTGkRpg_E1#))vXGXBb#j_j%H5%~~PS*Bd}a*PXpa?Dpt=#?{jAPU=9? zMR#aMs#tLRFZm{uAFf8|HEMTq^sgmNpp}TVi8uJMy6N%=03+8XW_#TA09a!>OH?IZ zOwZ-Lhc^_f&x=&U%czFebWM+do}?JZRf(*DaRda-4rLe*nAmxbv|mWFgbJKG%qy6c z65Mz&rs=y4|7tL$@@H9a)QU2vv|@QxGW!{vt&2XVczcHG6ykVxaL5^6=_et8W8BFR zBMc*k5F1NHvQ`i`CUqeCI{m$4!0lq4xOzATb4>g!P|>fqNLwr2PpNo@!=hxA8>#z+ z%>BJ}{O7D3opYlF0)i(vN3fQGSj=*JcfEP7N{$CDyZk_ACg<<k0N)N%txZX#9k-k_-I z#wNj0S{`~{C)h4AG;SzmC1`SPM$w#VgY3fqw%6lPJcP=(V0I=lJYlBA+1DRSJ`7<#gW4%NOQWO&;Wmxg( z)vs0wjWP?t)Mj7%Z&w!HwoRpQ>=%fkO~_gcYXMVKBg!Q;sCR9ST+`#Dt?QdFR*d^3 z2@WM9O2CML1g?aM!K5g&C0-Xn?Xn`cOn1gun(|PA(Dsw^Z^N_I6jJu_RfC5EJ zL)&Yha#JA?m;%UV*A@}M!q$QQcwXmvIWO1z*crr0rYHo6(xg}-NZMHJ{ZZu`7wKL_ za}*Yb9s&f8c<_=1F%|$|1VSJSA{G~wAvj|tAckmlaCBQX+Cb?etf7?`CV1QD;P)aK-lOYTt&LbuGgm}4}bxv7;eZ6VPhHPQ`zs|U0b^C&vzMd9tAi&1ZhL5}^ zwV7p3YM}?igi;BNp9JyilgZ3*7tO{&i?rJL;Q5qqwQ03;=heS=l_BW)EyNoW>$+o| z9%B=+wAA8Azl(8ivIf=&db$XXX&(`ZYlt9ZL=O@KX2lsP)&Pe9?Z06NVD{i3{Xhh- zMVO&L0%R#nY~;ku7`g7dTc^kY#+EoP7EDs-5uypoMg;?Bwh`-4=Gd&rm$01$?^qWX z)x4?)92g@CKd5J544?>b=E1PhCu-7^iSIQ7i+(*BfKb48SpF{-y8m*PO{9p{|Z zfX$?h5)0rc&CCN^w2S>FxAC&pW_th@Q%($7$=q{HsF3EySaaWGRhym>& zjWzOh$Vl2M=NRb34>8|MJ6STC(PSH!RJsRJv<_4JmgQNdV6cgxwWW(|8WyMn@4lKB zjd8FK!l!+RsJ(@?0Syb(sl-eGbq;|-6uuG{DMBd-%rK6mA4tq33mo8_!^opxVZ}8H zkTz52^gweZW{gRYJd7L+LNt%s#!_+ME<>P{rjlf3nH0d*{=((!^U#;AzcUO12$X>N zP4OA3#x;pqkV$B7#*ZHcq%t2-A)`s z!vtK#vb{`}>NIP08tW(n_jB=+^1I&qBCe7DDQWDY<-HnT)?O-0ODPHV$oD~_9P2;F zQQV{xvxQ2OG*H%z1^FlhPAHOo6#rrfV^#LAgLR#2Ou8~AT6%H> z%9AqAuP`mBJ{(PAx}ui&$3a<$3X_;os~2dAKRqb|Wm}dMxOVS|he-N-2s$k%3#B9h z0*ufoIM+0u&%L?WTjXNvw~Tw_hJJ0jt^6~^H5GVK`EQAXHCK-CD3*ZBh_?pNSO-jj zQ}4x1<$=H>d~9jUg+Eq(Ym(Bc;EQGONWYuk%Y38p-+tl3<5~!OnZ#Fo-j9+G?kXz1 z+&Qt4>@swrvo zp~zTm(}mTgR{VPE!pbhGbSzv@?0qFTN`Xm0?#ncn!3u>sX|1F(mQ;^<+8b%!@=!{3 zAk2bIPch;ylFy_nL=FPgE`xO`{YwUC3#%ih$E86QlTiks(*)L&c}-t0`bs@=jjEpa z_{eA`%S=L%TbaG2ho1i`PqN?u=B-)++7fCz{bK7 z$G*D+GC2iJV;i8LJqahKQyysPb2HUsmOil$z)!>Ymu#Y8My9+8h17F+(@ zhy{|Q9(#c&Cdr~A0*tYe(O{jRh8O}x_Z1^oktgX|-1Pjw%lDTNAg_hW*NNJCkGbPK zMMeD)jo~s!P1EFsW7u*m?`x`9$#=>`ma?ik;Hp_fPXaB)9++7GS$*`J0Prz|mx5~c zL0mkj*GS1Mcdeh@g~aC@e`!UO*2OSvCf_T6TgEd=!2w8_019DLj#a&g^X5LxGLJ;U-+6OQ(AOAocCPg z?k{a2Yi*^7$sfh%F%TL!fP;^UT~Q@G8PE3DyJ*6&ujs1VSqEeCeQb46HRsflf^i(- z#}Ui{J^(%#Pyj4>iNhL~YaWPTjamlsI{5Y$8^r)7&Y{L9YNgk}R7^Y{1tl?s02)^m zGlAJ-3}a?K#U`hhdbC zgeuXTb0SCxFqU9x3T0eR@cG;cdX9NUE!x4Hglr|M(&RkNco z#ky);V$#TO9_Q~ov`fC1{BKT>Ou-^+MXeM>=^G?S#}NxlD$tFA>;_|FJc9sZq!r^_ z1uP)%hbbB^kYgT(=1b*r5S?a^`geIFdc&oV@kJigZD`m z9%8*;?zh%jSm%%oj#zt<`xV6|NIplKOp!@sj9XyBF?}}j|IC*fUYM-Lc|O7gHdpC_ zlJ_iZXHt9JwpIf`k&JY8YKstceATsQVVBp38+05+b^sB-e#7`)aeX`ednw zRoE8CSTvvH8xsqpJ?C5=bZH9urVwUc8`whT{D8!ha}zLx5o0hITy(c6!vds<%NGR0 z@njPvxEuv*GZ95JG0A|&RHp*T-=6yzpNyU&GcGP(Kgy#n37$V1Ljc+Iy?Ti;j1}$T z2yk=&03ZNKL_t(K1eQ*odiNyzw5kg!fBA$6l&y6hz(j$ph@>N-b52SLg3Koy4~juv zicm);N3MklDu&$-{c%^#T6%xsM8@QfgzZ1=XiDXIX6E23w6mvsgZeu?<~YhQ3`v0K zYsc&*|6S}lfF&DCV6kG}0?B*n=86Hd0}I-DD}A{cc;WMuV_OVV-#`iXK5JnVr*BQa z^O%C+0vhO&0J)~iQqCkYAP58nWd@v;^H}j!yjH$R*vg<6GjLnRzMLraNRC)K7Rxg& zY0_i<(7?ucq-I9S9I%MtY<>1=-5XR(BqZo949oK|<2t6|T0?8T;ODtdc;H&lsHp9T!TM6}**|60mc z4#WEqw(k%^fVI*9J}|>Mhm(^NtX8XZJy32cA3^{J$v#_h%f;u85Cv(vZn{;qm?)jU za?(}R$^`6MyH6YiAk{%wfNi}Q2w=Yfb&|>9M-OI#bMj0u%D>Z3fd>yxF^(e)EQl;R zvM|3Smy zlaW0|Y(arzatXts1K5jJJrGVd0qc`B{LwxRZva?D%O%7!k}7~Eo~OP;uWZZ2hDxEA z=axr&p*h%X;qMXvW^z@DZPdSE&fiM!g*pv21c}|6GJXLo^OJrazhAj7rkY<=d(rhP ztk-J*lJVtZgFIslJagjY>^0rm#ll95y}doG*PGO9L#PaVh3aZ0wW}s8JQ`#uLk*IA zVvV@xD5fxjfH8K2WgjpKpdreZ;?_B!=o4a4@?1eeAR}n&%Hq5q(RCd{7zK^Dy@4_U zU*|o`pgF|8!*NoRduql^8e&JR^sJ~Z$yc=ANr35`zCdyo&N-Z(p2D+8N^pSf9Bw>y z6K7{%~vv^!ulX%(nMJhV0!?-um(0Kz~>*X5k|2v zoZSb(z+GPBuUYVokDzH9*%H03CQ3AlWuq%M9S0N+WL*lae~ zJ3PSMyLVwbhj)Mf9zOfzQ#j|~T!*k>jDyF?*(og9S&Ko(T80ni5(wJ#T6KK|Fbor{ z?PN_yAyImHfSUiRlIzHTZ0w`rTq?38q6Q#mT5Hsj6YaSzHqlL$E}b@5@)`dB?7jJy zB*$^*`7!s1%&O`GH-RA~QItrLBBYTxdYaw$_U*qvI#!zDlSq*w36cQVxcjavGs4~W z2lFc;BeSZy(ZoSHULz|rBO^RK%?iAZdLU^VEEqd70}XUXPMOs#cks z%H+>tGSO;DV_W3X$}wv**Sbm_)%kYAAO0bYiN0YOx2lTkdQf59!ugXe=VxYJL?_9| z5fBYH5mxJ-mG`AlSqOm`B06kQqD4#-S*=z;EP_Fju-Yd;+V|j^Fh~1c{bylcw!!!R zQvsg@%7g)E=G^-z%&xKBToxu_@j^)x6x%EP@rq%HY{OWrYZc2-j|fkmTyS!-rgM&N zW%rclB5t8$ckw9y{s{Q<3Q1ia2DRi-ay*{%_6i9%B|)HCJa4@E8bA8ck67L6`R9N5 z7oI+TQjiva-d{gG00h^NN`~ENAi2z=UBh$pe3tlc@pEK;Ct|?`4eyPBcx&qCn+3CT zPy3%_ekWpoN3rT8T{{^&K+5tNPAAQGzMMqUM!noli-FCFWwlx@I=`1j``epDC5+=( z1XIw+-Me?W^U_P4ot<%ddYYQZPm{Igja{B)$j#u(ujiO(*oHk+sIP(ZTnFk11Du_X zoS$vkZq&jYMUc+hCJK>p92qxTHZid7duv>S(NEVoM7lzA!x-3&omFzItV}F{`d)G? z(1J_H$!ocVE8`@=3i8F2Q*W4awo|<1Ue&H>qV^hz0w?_%ahe#21qzJOikj*;a(-r> zw&(@C2^9kdY!i-`kqg-(uIE@iedlmK!(NG#?tl!gd2TP(2eKqQCZCn{|2(cXy_e5L zkceemZ#EmY+pVp?T8WZ4j1c-%;=^uW7zUhktX3;KCSGx43HoZOZkHcdYeX8w9bmiN zPI&J;a&?LSwxg))Gr^Si!Bu>+iz?>G#KHy(@NY8!XYhi-SxMTd)t)IExEXUn(REWF zN1kML+%He;x)9cCwdQiWVYOP}y=T~L_|`Z7h;RM%Uom|48UOf?|A zfP_dKgEcfuR&a)@x-M&ayUKubch8PGj64G_MZpCmpa277n&~f|D z8ow5hju5sui~VgZ=EPj|CK~eRH}?6A=IeeFtHpYu?+?YDz*KE9O6H&Kj$sHK9rbwM zBVrcsX0zdg4?f}_{^6hKkJj9~cMlEFuX@H1@u|YVX0u^!X5pdP@8oi{Yf(A_CVn~2 zTm_q9nEI6)OG8BPO{tV}yN!^^)=uSRZHb>{?~LM#4L+fweByd7lPLCiZPp&+n8M>C zR{CUGZg|qT{ZJIj0t3G~ZodvQz08cu*DU5+2-W|Q&ii6b=|9wwLaCKWldJV-1XHZ@9m3U9z_pFakSl>FK zUmfw?@BanIcW!ZV_a*w{Bf8GxQ~k9NEev2A0z=ra5vA)rC%!{`vckmHw$N8tYz3DR^agR@{)V^?twR--Fm$)JSN}6Rdx6v zC(s_a_8y3;Mtm*v-j@IFi(ZT9!U{1JI6JknrlWD9JDV&tW|x^@nqu$gQB=-(!?l^_ zX)M812MMEPJUbir@Wvd+|16-buJbiM`a31M&g{Mch0=lJhk#Rfl>~9tWP?+&X;P~lUyzp7WD8JHeS5q=BPr^*1Co- zFNK#+@47u=z8;CQJzE|&;VLM? zm~XCwWR82^;XF7eM3x0czVQq(%rQ2b%`QkeU+_bkpi@w1X8z^nrDaTZ9Z#P=a{s2D?vHu46+MnQG7S3-FWLoB`#k%*T>yW$b2 zbk12Odt1*W4lLFq*;}Wi#@jE~26mJ9{b^KAz&nTY4!mQGFvh@mu_18DtGDm6J-y(a zpZtt>fB6otzx5`6_UGT@kN)J3x&87h2AOzA=Xx{>+so1Jt8;X#Ecoy9dQX4+zuu2P_feV=FiQGXTF^Fw{z3C zTqD2CEs=%K+lOVE_zd4I@vL9(p*5_@-X})o5MqSQMPRrLci^{`$AMoRkKjYJP-{V`~`3~Ru^S|KMOLvHLY=*%E;vj6!2fDQf?^3yx z(OOYsOrwzM736sp6S+FiWA_4?*#foN>~k0?F-ClZ9I2#g!9Nx#QT-t4=;V8qa_nTj z`Ka`V_a+c56-RMcD7ERiW(iwvM&frVv%BxAcfhV!b5ruG0%5dZhb%O5!OXcMeJO%f zofJCCK8ZA$1aBoCl!$L4EbJna`)`q%{CUo;>pE8w3A?Vd{6HLCE3HT+Os1HcbtDvN z8=WZPlqmW<&wVnk6PdMmd^X9TO+P5VZO>cr&-$h)LOan3y7+m!;Y2K)(mA!5dzs>y z8KeAqk7U7OmO=TE1TK6y3f5zJ|yX{~u(@*6oQ$9e=*P;s~@Fh<7B8K1rX0hdoNc=Gs+?|lDzyz$nX z;CqH)!x%@pzQ-lbq9#Fa_E=xg_&nh(QHy#ShJhFzQ4KQ9>kn8EP(Hq;g91_RQGgc| z#rAz>()$Et3-#yEmWmZxJKov3ss0o1eR)5Jr(OgwSk{O-?-i z`8?d#w?2u6hD+ZNzgx{$u@05j1vm~qpEy^Pr}XM{{;xrcL=3{R`1&qMR>k{zQ>ow! zki#G$TPk(~pFh{!w;3l7rZ|~)`?81pfLbjgA&L zKuoQWa^DIy_`rM5+IIvOVT^1~AM?)7f6DgqoFDwv+r0kA-=z0PjKj$3(+lpdkMs6z z&f^P|^}J(0yqxb}_8#|njK1#;vJO`72~F`bsz6{Irvju?A&B5};82bt+%x70!}I$H zI{j`gWP(m>{k4CK2%TT1U+0#~%(v%{=&W4Q{^R$5Hh(^|<7W!k+_LJ7pul^>h>e|Q zDe20C$R{pQCCThRB)zXQa+v4tjoD}uaa0#fs!%b*Ts$o`jw?wD2RdGNuU$d3%I+kQf-nr6fAR`Q9Lgq{wIxx}#bQGi#CgHII38Q^2C`OhYq>w*5Z8xA|9E zTB^RBOP|m<%O~H@@bUJXnSO1!9r{((!k7X~7((W8wm*FloT|!DS|9`nBP)rFm*@QU zonImSilaMsc=emFqtP<|rDxJyc)@UaLGHzW%- zADes3rw?`%%Gq+1p7gVI5=rGp(t~ULEBQRxVuZ#!*l_y{sm*3Ep%Za?6r@B8*C~`x zezUOl<($oaXphTv=>$K?xVPY|Knhn{PJ=Jzw=Db1f(Gy+jaNN|@u z&m_mw2Git3oqpeHbty_mQn2gnHOIn>==7BYmjs(gu5@4-@4B;}pxrmq^c^z%)N2E1{;?DkT4&(cX=hC!O-Z^U3@-`52keZA^{JItggQi=DSB&)q%^J8M1j zJQyWn;f?vm`{#1RjpH~GAaf_v95-xVkx1{2!Kf3uY#JtrBT}7`St$v}mA^gaI;9O1z&!809{a5IlBA45@^;hzUv`0yw4jj&9wt*=*@kwchR7 zDIdM}9K%LEGIuoeyq zh**?bQZPi9eIaxHGxv$)VBM03H{+*S0LAj%eu%Gywz6egn0aIA*56#sTm@PqvVc>o zqD*vVU}Pqcp)!|hJsgg%nQI9qy$j?p(fXR>XatmM2A!*U(!SO^t`7(3`!#gRAc2Ab zW(Tk9CM>hDrcK>obOoWB}vaIZ}|+bh7i(or~K`mSQ3{=5c zYEq0y&)r+1>=;ccNW`SkvU)Yd62MWF3;_ql#V-(2pPCY+5@P9HV?7n(uA?@cGm71l zHLa3DirEJeG!UbsKfcZ8a)3B;+;u$u=y$yTpDSK};|{V~)9K2b^G?`oq4UD!<%W~> znxXXqFN~`Mz;3^jDXh8Vu>CxT5>hC&u#Fo!wMxe3H!}@>TI$B;mgz&2MVVXR?u>GK z)3DjX%x4DNPE@DMjM%yn=%FJPEVg6x(q4BdWXL|G@EH(4=it7Z*Id|9}tgeZa}4Cd$ zbf|2_GljCU4<;w_sm2Disrtc6ZV{+|8>S{wc@+q{VrYC@zbCFl>7JZ*RnO&U~F?*ntfX= zfYt{WW3*PyJ3^yc$7*+m#(7af0@dcdOo}oeBT?)cUCCR}YHCm8+_SZ@yiyiL z#d4|PbkTX4;miQ0+F_Nj%UJ8Kre=_u{dPVkS;Ect)6ibU?<0V6f;mL?_3~jn?`Yx1 z@>zO4dwR-epL~j_vg&&a2UJ%u{2`3yEDdahIL|QqXmUfG#mNT~*MTvBM2SKa}5G4His-k{}peCup2`#mXj@L&7h0i|z zgr|?66n~7&;NWMmEat!2cZ%Pa)si*kE=kDj&xpBnjJVnI&5?yG2vDWa%Fb7fvuB?m zDdp3azFU|<3HP1-AVZ-gdQ25f%6yCPv^?0ZD-*suZ|awGtRyKtWnaWvq_OoS``ji$ zB7v~a0?C-Zvr;DFilYTUV|6!;!#L60$_=Lp=8jl%cq)&5!eTzxpXCVv03ZNKL_t*c zg~`o3$o<#&{STiUfnKCm$_~oohYvYFKj*gVaZU(ZD|hX^D>QSJB@#m5*T4QX0B2`s zsgPSJm6xwObh7a(lMkUrQML5z5;oO04S8Bv)vWG-s>7U`={iDjdOOUAv)yiqF|uB- zS^2Iy7R}6_nwR{ADvYuVn5hd{S^ppn=9uPtTstu)hW^3U(Lg5RAyVUZ^Z1rVg zW)yueBl6n9R|igczygbMwfb_^xQ;rSo!ArQBngReocc8~M3s4M@B1D83skfy-(OOA zAgxJLsBtn6rq1iSUHmL?Oy zAhSuQqb=;Nd8j%)e&6^nG4tYwMZW+e44V!2Km9Cq-jh`3eCj7N_~#eu%0KY&$zuZB@ zERSs%OTJ48p}=1IhG~X-MuMbbhL>d3!ZDw$NyoxVF1C^9KIKl?6{n0=T+tc8Y0 zJF!J+Iq0U<8k`u^n)9Ku#iH5lC^f;fC>CX^sco{YL!NB5nk^UUN);}qB&k?ns?h|9 zDvI@(o|{O{xk-)siGM_<66{c|AXwOxy7ZX;Yka9jw7OPLo;)$QQY)0{eOF+jezjs8 zx7RvlX6)H1-S-9!UEw3&u{`D*Fw@~28!kQ5XI2YP=+;6oD~wirAzD?OmtTIFx88b- zzVG?qgAe%hlTS=|c2mXbS%-6uaSR|9-aC#XV+g1h)_u>}(^JOnKp$4nF)fe6A?Z}_ z<x%SpeW?N#LgE>BvK_vuD&oI z73NCUk1^tO-gKn4uN{X>Z1sW#b`Zz$@o~Q9xk;vng;2r57dVvz#uyRlY)w=X?wXuYG2)-aTlWTU4bz+-Q+4QWdQ(3 z$ICsdcLl}*tg5@jW5?FNUw{2|zVn^$(Dyx?&4#B>p0L?$ibb^qV@YAWhCm2glsP^- z?RzewxV_%zn~m!dU|IMXw3W^H_Bd55lbp@9cI3pe{P)4TNX>|r=i(A0jHPf|{Td1j{E)8ec>MTr zvYML2uZ1~W_x_za>j|H)t%)gN&~TK9#8~=^w6veEb5r*J#S4t-m?#G#rAw(7k5j95 z+zMeSS!-!MbVp|FoIm}w^PSPQE;`V!LtAKP5^W0wL-=J$8g=Tn5!f$1LF zGhIH(I1WVJ62g!oOAKGOh$;J*I}%m_5|^x;$+#-aZJq~MBx(7ezKEnegBBPLi%+jE zWa}=;o4ft$;QW^-ubLmeIW6NJVv!r*%wOfPv{_<|#1PE?k??p2DP#~zVBY~J<@~cH zCwQsAJc~Zb^Quu)(`c&v{kYGOeNEYtGuxNWBEWak z=t4{AJg1zG6BCjEt%01yeOIfkahmnXfCTl>{d~sT!Mmx6V9JSVy98_`+)e6hB z=XBxOEyx{%Hk&$AKy30ftl!PFT5rkI@Q%3<0SnTg-B0uD&&H0Arr@p=*lSY0DGJuz z)1@9Y$x=!cdOJ%L2@^@@y-nOQfBST{Jn5JmabcO@pK%nEnCZhP^J?}=6%MYchT7D4 z(TH_%i&QMsAt_OE`uThuii??8k5OY~J2itKhShi^Tb?K)fJLT^4+O+FA|Ln^$L=7GdAy_l1QX5u@ zJ|xE5Pqgc(p;#VZ>-Vg=9HM5?wBg$@}_*_2d~njQUzB0ymG zUR5=1ZXt{yA@$6Pbpa0!{wq%852(#UEPznAJT=lsz#q7tKUBW4>{0fQI zrq|=~(%Ghrg7aeZn>1n7WF<6v&89s;>C3B%64Ls)Xw8izF~^`0l~}Tg=R-tx622s0^1@h&--P++PK4zcOqe>N=g~Sz&EdODzx&ps9T6CF7-p=n zl?seLvW<}-z7`JD!+`2_{Y_t{ksC@$z@XBQs&FSYG>l_Y2{%6@YQv^+i67)64~(KT z#8N3^;&W4-bUvN?5lRVo-_y-QbJsX3^bsuylvwT6~0YM|!}|vn1_F&!ZWPtGYjUWr^aoS(COBh-xa49|BQ@FpQIGzZ# z<%V1}r(?ZX%ki`IkYDGK9%+qt-kYW* z7KJ7YyK3j1^YmIvv}e=byYxKbZX{CszO^cL1x%_0-9lObsZd;gZCeSv2xd9y9Yci+ z0?M%6;=Ofq%RZ3o4{0?^%ZJjP*IkONuTeDl^-Ljl$p>OG+-DtpGFNSSAFA#z)Y$q& z=bwFC;;ogkj}CRN2#`)pc=!zYs3ltF+m@8GwmYt2fh6=LN=k)rnqH+i)|Zr` zo%zEeZHmaGEhX0*1^mX(C>ETGT)(aHQ!pkdny3uJPy~pku-;BFZ=1NTFu!cx z2^McJ;xO|hm-ICMfg=~si$!qQM$*C_b2;^lwb}VK)v32QZBZozD=U!`7c+1r;)%%y zHw8C6SZ{*Hb%MAS=ExArzUYazVN|+b@lDH9x9GBzC_AlFor7`o$l5W=rTL3xYnUNj z>iD)IN1A6$5dz4N=Ck6fC`7W>;+&OK50Vxn8L-}aZl9d6-Uz*?V5cgs-0eh*#ko#2w` z78mcc4(A+~mzOx_Sg+S5q0fmo;S-I?i@K_aN~P`g{<11My@yO+%lDmmhLZk}daQ^e zwWO($pn1JAZ;KW-o=x@Q3yHHDUm;d{ZGu!{jCA4%VN8}*s(i5O5$CVYMBi-~Q>%Ce zB0iOTkhBQJ$*lDO*y6Pf?bGItLI_)9&XW+#jB)$)fOAC6v@Vf}`4N>_NpX>4UMv!F zc}?2GDQ12Y zwM6|S{yph!@wwgc6~J%Im`<`p@?6S1wAp<5UK)*W?pK-oi-8bqFIfJCNfSH2ZTQ}I zm7zG9ys9X88b&^g@+V;Old2i+Iv5| z+}9b`^`(4XQJj^orq;hE>m$=%whom>a4>zH4{?s8<6~5nA+-`%t=Fh37Z(?$R8wZy z_4V`L)4S`M+DWUGj|8(fjmKIPYN>Y4lzy`S(Q%sDZm<=QUcIXY81pl$4c-oxb3bqs z&2uk42k{ef^a(bQkZ&kjs9mJsvk@&4G>Cl5*dsoNV@g5Piq=qwJd2^PzVO&LicjR=*k@r}^BOYyqv{SN zPCuVJ!-)|K-xR8oe#*=m$0W_ho7W*qmUD(I)Ct}h)aji;b)D}fma9i5uLp}HrE7-} zto5@_3*}{0pac=9-E>jIoP!*qKf}nc()^!w+yp|I^OENo<|t2!3OUnWX=^& z0!Ytc->jdWpRro4tdSYHi>j3l>5tY2d`weew)^@1amXT`LS6YjDlF;oWWQEWQ({}I zIK(kkA|NU7Q{Rd-?hB}`&2uoo)PLF zK2KFLiwl$M%}3k&q%c7mf1VmF(!R#h2KV|5{Y6BTZ83(x8*y^5Wm zoSc-k&(_9vyJZ*#R;%SQIL|t+^Q@-pSt+6QrRDQ@^^Du0KvPD?sRL&^gH@fLI{4=b z)lwUUOp}cODb=EOZfeoVSt0;Bl1#T_bG6fuCOpK3I%_7mCkcn%PYN#oq}o#wQyt+{m4yyRf3bd#(tMR_`-# z=Zo83pWmn&?bRIucYfO}z_anNJ&9l`C}JKJlb=RrAnIaq@Xv)r79cR)+?htBfbaT= zMd1=%yF9O$v*npsA~c(@pm5DKGM$g9M0*xY*_s~{X5Fnk8q(Y|_OBM1IAKT&`$Kg< z_1)N#*z@^|79dfg`I08_mlH^$Xyh5nlNsDq8h|Z~F^(1lF^mvlyKnZYkl&eO(Gkczm2Y{rDzdgN+c3=Z$FUT zn`r4EV{Bj;VMJ52_6WgZ+;cZJ-_+3(5xlrYNPzlUxp%%uS@WBW=0=ct(C#6PXZiE1 z=zEgXIDeQ4V)IT2c+Q?)@^Ev3KfcTA4s^#*alJMr(j~{bMT>l;g~&As|3!{x$s$%& za+rp5uFz`E&zM*11!k~nwT{L4s!LIYU`Y7%q__F()v21mNxy2H^o5R_d8t}2>Z7A0 z?%cV<$;k;HfBF%l22zquvUEBkyOkm;WRy7R0@J+db6Yz8s&h=fe-Q#ka*g-+$lA(Ln7*b5$*;E5>yM$Nul91sG$D#L@niSm`J$>jwMJ z+lKEi)pDKrEC`T<_m}8^sVQt4Ok++*3$ZQ9QAzue>;veN7M>^V?7eAA7I!E~I~Os> zyd5yzNK1`P3RZov8OSrjM7ie64v95MVW?>!A>w_HjKcZj4fj8K$kD|SufBPVKPEZ* z14hoN{K?G0{&g5yrKP>UHZxj+5wEv4OL-=lIan!)`FvvGSuxXU+>JhgWGVZ3A<-rp z%L$P<)psXaf6W76;TT&jSuApxZ~th$wyN0C{2<=a!$Rp7NBo-m4PRhT-7Kmo=yClL3SYxSb)?2x3nQRK@9L^`R+j|ohNn?xRCeBTd z;&w_XSD30M-RypUopGfk-~YqCzbNNa5Qz*!#JM${>xrAdlh01MxZHAba?Gt2kVB=j zLoZn$UpE0##q^6`7$fRjfn?h~dEN1%82#@}i0m2J@9`|w z&i(uMdGEdV==+{Wj~h(VY91B#k9)UbBz>znXO4D#+PCn<{6ceN7mG^+IiNE0vkf$$3On@ zgeJkDt&lR__YIMDeV337gE>ou@pM${gA?b9(3r!k2F1CwPdt9*Py*gN#7Bl6=Y(&(@j5X^9^L;8Io%L97S*uite;ndoR2t<1HN)h31w#^ zTvIaV_v08)aojq(V`Zf`1FL?`$@-Yfrx!ew5igOuZ`_8}iY_W)0O{bU|BCxR4veX$ zQkS)8MS$RO5>ahSu}?LeIRQ(K08B8ez$7puc}z`^DGViwsy^?WrS3&69FYVyiIi6n zDS+I**YrZ8l6rhQuFL@S~QJ9|e&iVLJc zDQ-NzNNeKI$n>KzDX$W(xt8Sk$Es|&)MVMnWWTdN2T|1XU;q9O2N6iET)pRA0I!l%u#}T&@UVZHqZr!=fYPI6>{DMzD`Hb_kGraV8?-_=$)2{hh zMiD=%n2^ws7^|cUDUYLceshZV&i*+^pOTwe^C%}$sX&M$TXjS)9N#+OPrm!7eD4R} zN1bs0cOUZ0|L@0a2g7%*@LV#<0Trua+74y9Y3rX?Y4Xe8?>Lcmo_FeaxQ7nBIEJ9~ zor5s)=IgKU@a%$NbHS~bZgcwZadDa7dF>8#iEsr{1l?DAw6M-Xq{mf5RjspLIv1s+ zOg`uQ9GSob*Tm`Oy%kfOdrS~c%K(4^1v%$a2@FZ$o`&s`{Sm5@sHvq_;07TO%P`I` zj-{%rOkRzJt@W@x9}SvN@)E7F`6A^>43z*=8iD?prp z?_rdI?&O#^zxg`f{lRy6^Q|}Nx{k|>EkFOs&-vxge+7e8)g3lgR%g_CYQa@QsOboi zE?XQqSt-O#(Fg&&UnK%e(NiA0Pd#`A(|Xd#CUP~yBDaoDxCjH|7`StC%xkZ`2Cuw~ zsPgh_8%|D6i07MBowRD5C2!=0V=?mN!27F4d;AVQsNlr2@^F6klwZH|3%>iqx4FX+ zXBSV=VWbNkXOAw?@Q86xUV8l{{7I^l6~Ns%mGetB8sSl#=rYA_HRC2sA*@U%G!AOC zO?(piK9?G4H=--0`ZbOybpsaKN!N2-jg!xjQx+0y7;$i#YL!vU3u#_8)e6eU+~k$3 zwfL#Bvnxcp^?K2=$s=3lxu1NC5R`Rkg$0rVG5ti z6AYTds7s{)z-a{=o$Lt%Ul>aW$)TUB?m}aQesht>Io&Q=8Z!C26(AuRT&WTfFTDK5 zUH<&-@9^EXzYTYR2*a$g|WV)oxB{MA|8gbG7S@x#d-@I)@;YX`J*i{JOSx> z#ovOXbcH3Z@f8~;1a?2OwVU_co^L{5*0DYb3ojILY`3Z0xlS2pF1{%mQ4Ne5%jV3m znTQktg1BP6Dk;2^d@hQ{nqQsd=NlKl&v$VZfVwXXynG+AQYKkTZbFKomcz+CMT&0@ zi^s39N;*6MhI$JZ>puK&9<1j??`x)Eq$Z$EJ8W9|*&zlm(`f35B+KCLRG%4sW)E+oj%|8w?GnNIa1V)*SKq8%&iWQ%JTiRX`eR`Z}ZRkMyt8Z0Ds3W=FWe zR9%sxlJYqa+pyWfu=`B4tFq}QDJ5Ru;{1$$y~26N_UwX3pWWx>*IomOJo@ZD7iZ^_ zY~P|KBf|mBlgF0C$c#fKl%Ieg595)jB#mJLC54+uVQhh=2L#|HXFP@HhYC z|KhFJ-{8@cGgkBrI&ygydGyH>qC{SK{SNNdo=blPhbD(02~w%K3n>Ugn;KC}6@pgt z%59Xp&dNs|9UY|$)L@4C{9+1bvz`o+9H&OZe%hF47L`=~o>#WHf}ZB%CfeH)jG<8` zEpChTl@f6;&o5GZ|HwFwRj@c`@%^oTBQX_-X}{_-Tk`wo{N=Gk49bh8Jie+B>5vr8 zt2&wjk$ti$!BeDG2~b_`X@1pxS4(=I@G%7^git=uicc#n+EO}8-3Z%SZ1d|_iFbz= zVJl{Z_#?;ab`Kr~x50JJU~>=a+ehGP=^dN@^NkK%iF$I*f%w#sP;kx@BZ(+e{z5BZ zC6^k>&PmDx0>vZrzN7aYV;tB#eaidqyu;JSj|duh{MjS)Y-5X<5(;C8i)AII4`*uP z%|D+?^SK5*JLlfbwTxZ1QD3T9^-Wd06V~gF#}6O!(|`XrkdE*F;BPqYj@Sf6qbF$K z;%v+C$$g@3c-g%~f9r}Uqc8i=g{*=`fDB_cN^|(2E3{(Ax0r$qO1D1wOt1F)ESusw12!o$JsmZRo>e){)RaDUpoJ1w^`}G)4
RgfH1`7bHITi*~S$BQP6@gwHo6}1^JbT{+Q;4itB>~nG35>;Q<&uSy9&l`` zR%Pj_nrcxc%?&N3BkJomX}-yUs21whM!VFc9(!#~x{21|%AHkfW_!v@FTKQr2cPla zlTUf=wO83}xBSch`Uke>BY*$*|1X?g64XL|FQahr@jRxH_~ zv~q>#I#bo!`)00PUaz~Gc^nc#&76+fSF_~jpTot)CjHvzP@_U>1_zJP;0zZ7(OD$c5TYT7vEqZ-nfzsuAr}Zn001BWNkl$wTh_`U76NbC;LixCnn=d}^Fxe_Q>daWu!Rg)S?PpFXB@9c#B@`}mv)9I4|MKmOlvamm|% z`**x_e8ki3hNFIk6VJm>Px;0-@0!Nszj!Peo>jY)VtLv*fI#X8-XS{RTvv!R=U`}3 zT<)CQ#`isazs7rCnZ8(3X_u z4XX~>j=1eP;o=O%8vg(#(^wP;0Y;Eu6(7_oqj`Sl@i^52fz8K0TA0(RFP8e^;nx_? z0j~-C>EC{nhfm(-XaDveY)&s3HUS?!YuCe|#4(yM#-c}qDj^2cIr_dQY)4w6DEGY= zIiFh;RQ4%ieh*h6|LiBqK0TQztn>5MdR^`3ZQ`rWzM}^SNEFr_5gsY;{PX*qy}#ib z-}nZ1?%d(yk3Z&vckeMi5RN%wdpU4))Dyy%>|eC!YW#2tvqejlh{5KkBja|%@sU_h zbSo#aKt#FfF3fH?)ABN`M8QRq!cH8eSIDT0I!%@d$s*a8?d!x( zWMe5u+_s6_!<$uL8-umOT-AmvEt80`LTZvq825coh>@rPQ)bK&=Ol%erUGOVw*2Oo z|B3g)pS}H8+_`g?PoF%+pPcZ@-PgH18@ao;@zqytGz?bE2`wV@-I`u3Kw=b4WaU_Q zJ$>J^I$jxM)vqQIM&?JW@MLT?w0t3f?KoILL5YNfJ6j%vGK>SA^C|4MTDFr}XZn~4 zh}`@6P$?1sFTKHds;Lf9nD`x947~o{?m`sAdvd3l3b9Np{KlBpAz5FmuETXB>vd1; z9K*Qfaa_^k;^K*t_NQ$=Q?K!b#d}FYFA*u$gWfW)bqsbPzNX}gm zqxqob136qv3hbEW81j9gY^_7x{z%Y3YMGdw@KMcy9;j_Tr!|RkW_T40Etc82*+Xjt z$9yc2gwtB@J}+1)2_Q15wG`0A7#%JOA&`v$;esw`|7&w8M#-H6)JUw~LP09H};+ z_xjkSOzo)v zncx4_>k)U3Ywx*LK$e1duDjZMp}y=>Oy#50S?<%t*(K+v*6_-^j(%+lnnX=q743w^ zbD0PZRV_W_Gv$=rmxcymv6$jjqsExK=s12MhNK?hk|cAET1DTqL$F~+;= z+nio*_|KpJ2eRt;&R=|=qg%H*-EJ-U@T;Nh-E1U{zI3BZj&|o9-D<`9_=wf|h_3Gq zgLYE1pRBp7#^U&#`zN$OFG}w_LKwMo=MF#k!4Ck(`T03#PpwweRSaP1`yFt>RJ7e> zuP6*da`H!0f=Xj4F}Sl&7ErE;+P+2snjnvsZu7_`GnO2xQDA+v2JZ;IgU!G&1T>7P z?{fD;%kqyf|CK7(?UaqX?%~_0<5wX5{kR9MZ#PTQ<*9wcdK7lvLKJ;vzz+ zuLZ=RDm+HFO}}U$reKX)0>v~zFAnd_LT+2yIt(&1MWe1$7P7!3s!dVUX{iaPq=r$d zc#VVz&U@C!$3*9ex?zZ8isowSJWY7R^!=fTqnlU|zi;TvN_RN=W6wA!-5tk|{^yTS zRetv4pW!V!i2&INV_PVe*lJ@fflr!EwTrgr&LZGb?{1&4@SxG^CkaUB ziC!4ONQ{ooTZSuRAPh-!wu(g-d#+lddjvp~7y=;%PL9_E;GJLmg0Ay?_Xj`VHM#q> zvOu)_Z#JCZyPoxW&HBhJ4>P3)a1L#P3FivJavA?dfxs-n$B!TLlb`$qfX9y?7pw7b zt}qjL$CRNd2E5&FC$uZA;1Z!15SXC2#p)YP+T*CsQ+F^nnf z+0y}CP+}O+I5yT?g(D&fveT5CQzp24{p*e|%5SnAx2*dW-O8f={4L=JfBgegm0$nt z*KCGMh*rL%>w27a5aZq=l2=7t?Ho_#LsNmf3s+6A@%+%9!;~lSQqh*;yD*yV`+ic0 zaSpH6D6wg!hU$OIirADE^L;b|ME3eQuDXeg!{sc?7$alG(n5`U7F=?Uu)nAG0|< zhZyNG2UHBfh|#+ghcw4d11>5KWwY7RIXJ$3n~NtG{Pvw+fCgUu=1Z(OxzT!mSw|J@ zVD5=T3nHw2$Li>ae!a#ef=wL)Qi5Ugj9q4WZnh!k+G4VLqtbcLW;5{VN1v9ttk>(} zz)ojgo_Gr8u=!ePiQE`XRf#!|M8PFxCi{2P3BKgaRELigD6pB~jeQ`88S#tufjH;b3|o#? zD~ND;x#iC5xA@`T{E!d=@4fRb=T9yfHY3Nq;JhP)7S1`w9i}jc3a?m?8Em!JX3(iZ zk)P`h{J-aN`#z7VxWsoQ8iZ=yGVLZ$PfsU`QHHqsBg?lM!dL{yL_tY+UM<)}M>7|~ zbKoaa>@Q2Xxulz06m8O?c-V&RL`y8vZDF%5z0de?S|C?X&C-=V1%WuDR-39;B4{iRK__VyITlJ+Z&ZsF+!6(3P0sCL#OLL6b{;tYL zF8i?AYzhtT%jC5m8w1X@-&z{ZzPhgId7cGF_JQFYV+<4ep3ilDU-S3lyxQ>0%9{9* z8p|ltn$Oi{)s(Vs)k8Q&w_^%TuZe_T#}Os6I$p8490pDy3&OX~b*Pu1RwDmVyZ81BpTd3IE(t9^Ir>yLCObXAg6R3?iF_Yesq_X)`%;kpB zE}8ds-k40Ny7)WxPiexGOH#}h+`9so%^`~xGRW4(d_>H@k&|+=ll;z|J9KZp$(zpc z$%h}==UF>R5S2NeZ1#D<^BstY)eTeS^75RMqZMO>VS9-ePuOlPv^4NsV*IM{BA|tG zP6de(I*%7&RLjUOaE%xp93LNZe0)q07-A?)IO@22-d0nSww!-0U7VBufb3{7r(yE9 zbt$jM;YxpuOvbtQjr|*O>S`g;WU+_{J_)-?``U(n3-sfGY%RAplePS&QbW1V_OL57 z^re#Q?Ro``biPAVj*WAU)$tKA3|z(wdltTf4r}P9&2HCS%Xy!$yD1%A-||=%@a1_O zysRk?!?*=6^lrs=3^;Xk#~wL?zyE*!C;$3S|C*!YEx|X0z!(kN=~|}WE}99DRER8TYB8C_QLC`9P1{5x<#haoS}t?q zzcPCG_b@V6-ogl*^9w%u=p*os)5lME^ym>f2FTst#C#@sw6{_2sbn3ew`!j`wVVYD z9c^-Iz9yrEuv!JezB7Rvv52LZ%5F@!#1$Cy{CyilvBd1M1yKSx0+Yr((lk?Bszp?= zV3}T{T<1$b!x{zk5Tf8yrm$Ja9YJ%lSe@_Ji{dDoE=o+Wp7ls^DjeTk@t1%71Dra3 z^NZi|_>)K6TAy&dzRl)hv-3Q!Blz0muBtQUeOG?dTF^xRv8$wK$Ozc6K;tBeRS7z! z-@=1CKRNG`0wOYvetj0YusjgvOulZ!5F#35vP{y(qhhO~)~Z#!l@%`V)Xc1pv~W_@ zU=j9a!`dN-;t&i2Z&`W!IEyoz{fm>$wjuz7Y|pmb={mwHqT!1B+XG9^$If%o}uUR;kZ|W0qr7cvdcQ>!x&E zEa!BdxUhW`AXkQHroX7zXUhkRn$+~KYcFKhMJhy=Bz+%jc5femV|JEyOcr(w_ zXdggm{@%eDUw{U8UGrHntUhK*mg4ir7`Qk+V{?9C>kZ>&6PH#4J#R$=qLX=zaM-?rLaDrEa$4F!`+2)&SOhKZU9e zFzmLPaK4Xc8P5wVPP9mTiKfc>jN#rZ*6R@$T#7EN7QfN_vs2)Uf<>$FF$#8@Kr3-@MJ;VdvjF}UF)C=I1@%UbJ5IM#44%^0C8H}1S? zlg?GFxL6v3#i`Q@q-JtgO)yLDo#UntdATr!C2X}~wuA`7?jmMOLA+ty$*M5(*WeA8 z8)=bYJd&2`h-`Bup#8T~?jt1)raD|-CmcaliK0a?kx=BFroypMK77H)GmAZ zT_81|$)_3AEmHVf{xmk$ z@KRU8*j%sm!7ZUY08yrjl6SSfT&^jYCvZq;@8hrYk$fQ5OBV@*IFKz6Rb|z$)8w;h zWYs%TAzn+QYHrdrq2_&~`OMATecI(sM!N`04uAG6P#$fWXH|s|5w%kE`M)tJXq?=e zIx(lx4X0lilYl**t6_vM^JoJV?0x;*dv925wz{M`peMa!WIyIt1xormP6f;`Y$ls8 zL((yYN#%7~(P$BWx9+ZReTUa*HL`RM-^kaP36A-( zlYkDYqO zU$nMKSHcuY(*zsXi%_`9K0id(_79I`%cFiCDl?iKr#rt^mNl*nDP^CDqc-_*B9=U6 z>BgqL#aMy_&=eUVk(y*l$#d8*8@?tWRzt`#`B+MlQnp0ZO$i%Fh3=|xn4_dzvIfUk zlcS7Ir3e!1plKLu)H)C699`OEU1tiAx}}XLN$^aqfDszV7Hu5GY8ju$1?>QbI(EqsE@GQC-^^4Hod=g$ZQ_tvg>|Ll;U( zj!s>wuG)T{&(>&KX^{n)2#EGdF&!7N2PY|?!^(48*=I;)5b%ie#=xSYfoYixb8u02In{hx!J5IeT7Q~o@fXkIqVY0Enm~)#s+gci=gwEoE za#`cS6UOV^85Ly`_Yx&(z~y^_j5>0Lt7`O zo9rc@1!MUnPTo5lQNb&y^PrNHGK2A)boMXJw}ai}xv%KR3fhuV=n6-Sru=rGscz!g z*%>1%R{jVVJ(I@7vwlH>KPX&A4Uqc1%;`5Sf_ntTnd`3{AY zcg%}=17*R|jY+BrWX%h*Zy`<>iz$R)zcc?q-VA9f5Sd8#0%xF=G314vPgC;Z?=F~~ zKhG&tC{Co}=Du;_jnM?JW}-76N=RXaX1zI!p^jm3-CFbgx~BYmt~VQp&%b=iN|fUe z=~sfcGEt^ctMyE|j3Y8`@zK*MFyx$uq_hAbx?+XqXErsps}nLi3tduVL_DtV5UCr? ztY?!1k+_(rQD_kpDy82{vlPX#Ije*)QR2iSQIhhYX-V2=yV;CUXe#IG`JM96NqSprU)(2`8Fov+6^JI42D~jDca?(rGtC zL0X(5PJ9sac^L3umhik)ZMOPK2f`*&Or&TtNN?BfT1#F4NqeDCt=rj*wjUY=C-K)w zL{)x`^?4Lu3c?tgMA-DS3tUWItI>RgA^iXBy;-v)$CW1b9e0n+dv9$(p-=z`0^G^& zR*y_3nM@-F7A( zrfh;(gqLznx{p(k*}ThbITzDCy#$@#ceN%bwmpup(Fxa226c9RU3QvtNdrym^=lx> zMq`YKmOySub~cjxVg&n$(Q^uN4KU)m27nPfr(jG2Vw;D?6ya@z=Lk3miz@sqnxgN+7 zo$WZ|_D7|H(+3 zfZ~~)j)pC0z+OA-Qo*MJ?Y+IBJ96vfGbfSF8oBfF@?2)`q%=4G#u!lK!r*iaI421i z0Q@+L6it+ZRFBHWTOe;76(yjY*0S0qBl>Dm3z$quYJyR3z@VX z8C9Q=5gXjFTEUW$N{$-u!bq;tlw+3+GgiikwJoXyVu}P}1J3DuR(~1J)SHVaH;(%r>0T6^&C^Qe71SGDRBM|07*jb7k%1#N;8ODgYl_ z&TOulTcfw@{GYXATu<4Tbgy$`+7}Sk6T|kil&}?vBVe_1uuQoKP)=SZ85YE_pQwBU zciCd!O~_n1AgY0^*NYN!0d+U62}n}w5GIl-BT8g3*LEpkT6F$vspEplqbFd1>3Xl0 zpCgC7Hws%Q^%oG}$EoeDbPh>fLJNNumWG0C41%2NGTZDk72!>gBl(F_$aI>o>IfXTqQp<+>t5bc>sPA|Qu# zY@A#znKfH!d6_b3GrJ&qo$p-DXf1})Z@79O{p9B7qogm0!0a(3%D?<~2*I>pdleip zQr6w-yc8Fa&0|t5Nva9Wd zFT{mSOa;eUHDnECJ;-mNa=-v&ftP+<95E5ujFfsEH2{p`uGxHbzlbQO%kHI({yA-% z3c69WanG1j+EaQlN>xO3+g*6S4>eDxK^#{oWWV1kDu3t|TZ0{J9iu(;#aX+2Ex z_*+`vG^5tK4!8<&xJVoO)M7_J+SSGe001BWNkl)oEIbD0tEU108?`N(O zNdN+1szOfO?3;PXtp{by^mE_Ox+3fxE*pljeyLi&+JDVfu6uwg0un-i6Y3%^ZImzo znfiuy0_zUw_4-p?I#EOPW6Ea_pdk{OaJXVD6_r+-d~ClLmBy-6+VX|d+W23hi^QLyZAgD{ISS5*ni^D5@OYF}c3N*vr$>DooP+}zmA#^3=$ju$ax;Jt?% z9AHS2DYg_as`LVh!c3}y^fEwo;7r+Q_2#QPu2te{Q7O9?Cil$Cg5du$0!guI@M z5!N|aYccvAM)7M#L~)OMm!U=&8JX8=t9)UJ9jeoBle37s0GU8$za8%0y^CM}`qy~$ z=n;PV+uvfl-Qx80bgsp`z9g=JGCo?8R(myQzAh3XhmLTRNOu4jQnubKWl)to)XYm5 z7lFYUxWQr|!u$8%$IpNHGu*g$L;8Ee!1*;k`{hsY`JeubXAhoY6~vfHF@S=X7)DB3 z{C!;^WW>ZQs=4d1fm{d7O(FAsVs!ko>oqaQkiFVDm{na>P;3-a>0$Oc2~_J5Mi0-e zsi0cG0b}3NKCflQG+xSyH@!rIi!VA=PpPS0*?dL92;dZT-A9sZXEm8!y@^ew zXVaSLmxipPI(XsL+Bxd^NjFN#?m}Yl{osQSaP!s~9zJ=DZ=XJaPdde8Q^CK@K$PqR zOo#|D%IT%lIQtBg84Tg{#u+~R=zd<@<2d5%>Sr|t&aVByCd#KE9)D5w}1-NqRiC4Nm+5Jd{QIJ^!u)$50TCi*cRw^udELY=ij z9@joEdlHgKx%P_ft&RSlO5Badst>b-L-A}K2Q+sKhpoU9sELT{jVU#uD8_Sf`^sW| z^aw$8YsQpCTo*H$Ly!~w@ZqXUZ#S?(pCe_m?2N(PyLWN#qkDj}cz*s8qxS$653_e2 z)UJ^Ymb?$il=Bfl7)Q9l;ra9D`2FvHk0;+g#%{NRF(#+@s6p*0`CC-gV5|D8Mf^GO zK362PE#<#ycmT3&ByX3f$6mgCi3eYPjk_Ox0DA*K0Qe>FBq-|aI zyY6URjZlEQMWG^^{`%&@9I*%vg61nvPz%OBjyT`E!1L!PI6ptfIF89KWDu4X*E<9; zN_pB`(>Vzp7eP=&goh6w;_1_;@Vfx-BZgsxaU9{Q%58v5b#~)rlNq#L{Lcl^e5o0& zcDcG;V*u`$9@&Jpc^-hKwoT4|bwv%xaJt6E2UzP6JmU|){XGmU?tlCtLI`;J=v(~m zAAXDR$rfkB889+}mk4$5{Y0gZg4Q#r5fl;GXl#t+aIFonhu~F99rg1sL)?yQ12ag6 zI@RBD&|v+0d1(7Jdu8$b?`j_)0Awg76fH!(?iT>W(68U}tJpAFCnTU{bg~tDZa76# zdueFWxvN?V(9)k$H$e7{c1}fnmkq)F0BSL7iOW`_-&Gch`Y^rCz|8pS>#y~KNnx3?6U<*tUoWI!~=V7*>r-0YH_s#^!i4x$Kdv)N!AM_B5-n$U7&d9`ra zEH%;ST@^)&X+``}zE+qXHm$B$*Dru(P0vXnSAj@CG!{>uJ;v(v1OpBD=JT)d?9nsa zy?Yl1gz@DDPai(U4SNG?TI2l1Mhv+tC+c73i6Oa$larG)$BC$35MeBhwJ?U4yI-Mx zfBk(+zqJoIqWuMln6H5WI0O^?R!hpP5#w`iwsKuvFC^X7FgslBmA-!Z5;RQI6(=AQ z5br%0QjL&E2PBe*dT5n`Qo7;VJTE;LsOR>1qgi+RiN{YK$!`mW-WVl=u_cGWu3)XjcDn@vV=zU% zq$T%CuAVl>RKEdpA*kd9IHz7^0*uvI7G+Nr!}h9$E@jF!u`Ypt)#(|AVZZ=~HLu_w zZ}IK(Z!o|CW5AjR48wpB7>)+OIBY{iv=)Fb9zB@i!_%8LvLj2YuD*PqC&+2v7C0(n z=|0Qtp5LylgHqT>RWC+yMVctzOIF^rZbR#2q)b3&x?{;eo}ERgxY%l$4YeU_yqoN= zBA#SnYi{~xUVdlx&XUw##|!|@qENaJJVM;%jHiHsO$DViblq6hFSqdvy)8vKy4usI zCo)&pz)d5|Umd8t(;g}Nyd_bX%B)D@R0|VF7-z9s4TuD6wp)yEz3g-tDE+f(1;@zZ z+YSRe3^+SE#bao~Kdt>iFl=%O)^Xh8)U9A`a`}#oI0nR_<*1a46m?A5guAL{bbZv% z&bh{}(MZWSkIa>4$#2qsWt>lA}JU3s%a%^ zXY)k$>e=I%^Q+-tXGp^7<0z8HV5A@qIopawlo})5N(a&$r%ex2N}e{6#v}>8W&;fA zIMtR&Fo0o7;$Zt*ex7^+FhgXHraEQO)qlZzoSdw%+j$Ijz-F_-dcB4NVYAs_0dbU=piDGE@pV^@4FE!n zEz@GS5$#J!+tl9*+lrsP)!34ZGKL-Gut_Q>r;dhK%w{Btc`~{o=1_x|*Bdl}SvBxK$eu7{ev`3xv9I0+iC1s?P??hNRm%Mem3iEa>3rxSR^O4uvHKK#He2HEJV>ohI;;Bf2KErj6l^yyQW5io&q?zdnv zU>e{@pK2NuS6y}Jm~ds9v=W88A}S?6GZC@KoA0^|vBK1p+9H}`O^xl;?U4yXgmxb^ z_M8x#1bD1YEa~#z(W1{B%S;G6FS_zEz>o!Vz;?R>uNY^yZo&>Gsp+JrF$pNv%oC5- z3CHT{4?jrsHpDDaR?1+Si{Tl{CDTI)2;L)jFZEomv)_~V(*|^k*`=r{hGCs;!8H@a z6_EsH!erRy@rzHX@dt@J;tMpL6uR~EPLzKSnqV?>qNzfNHF0DKI-C$IO>v_thrBLD z<;k4NkA_Z#p>CU5@|$0{h86i+Y|hUSM-Lyiux^bp2AumX-n(}f@7=uvGbDw8BBksl zhgl8An_iaJxi55_wcRJiC@DTh7B|#Aa7Y5F>wUB^BXJV4l%ePAWU(<{PpLLKPqO3k zjNAAe@yK|&ldNa1OueP7F#<|uQLti}^K`wcsbmC0Bx`}ylG3X>} zHr1ZO)gqvNpDQw@_@VA|{fxz$?S20)uxRUkZgzqIwDvZvf%gHM9b@GjIM)IZu~~ib zLE^*xR`@bs02W2vC~7QYl1|G|(dB z+BH!*e$5IhS(k%otY?^z>nPe)`|%6Xmy|5hj1=QxiW4SCr>XX$QOA^G%SmNv>jt@1 zwJxi~((fSbb~_ACQcHvwu?-$HSp4v_PjTbsO&}#jrj#z8Lx5=V8eMDL|=hKanuynbTOfHX2-*UI0}2Lum=-YnY0xBAfZGXSj4wbt)X@ zlrbZ6u1E+7A!KH_NNP5!b<6TciAAZIAi9EaX-?9Rbkl80_etl`N)+|y{DPFC_qnZ7 zu9u}=Pir0@8ef~%IfM})DQtCOP65N%ZZ_~c55MtP87sPGPEnt1!PXpZ<}HNT&CN;= z)4R2R_sP9)?eLRd{Q|%L-S2V!=ow%PPH&vSl9LRd!ytAJ({DaxLNaFzln85418^k3 z#KPhC{i6d?M=4U0P9*o;s>-JJ2L#v#p{I7)AUTDl(zD`Cql|^lovJMBHB5xec`Elw zL>L&|*yk3EfhC6+0)}CLBf^Lg9v-*v-o{|U^R5Ll!RA-q7KDC3Nx=4rH$sa|ab%(V@#xW-y*v0AM_mX3}CTk0Dp71ErFQa(=^fcm{^Fm)Saq!*^L%(Kj| z82W_>RnM;GpzY{PA6ZtF_95^LgPw4(aiXTL*C`^yq1mLZ?$#Kyx2E_pFl*qcMl7Wi z+eCIf5z*)L9$r8z0`~0@(LvSKbXm-21MYv%M%+;P6GDJ<;_Hv(GgE3=_;ACv>VNQkoD&Wxix~}$X z0+P!uTMPD=(>y4|R5WcFRJ!X_QJK)CtNL-~dO3&twa?*Z$p+GEc-k6Gtx>(V>D7NO zQh?Dq6^2S0a?-4fedJ|7UHb`)4sPi$CS7qKFjF>|n97~ZF*{yN0`}519 zOs36;ECpEua^m^383t@#yhPmj+)w5JLlOn-LqvQB2*@1ti`8236$n9$>SQT-W&!4G zgT4zU3^V!a*^O_W?@j`02u z?%`*D^-HX7Sj3b9S(=l5WF5wH^ z`|k;p&tU%mgyF8Bp)DUkBUuQigE-(~P!4nD%o}8Raa_`Tj+m7omFQ zq&Dr~;MQw6=itcT{Mic$_#(!NtzHcu{2Sk>*9ioq`pZ_UF~i;NY=Zui>M|4kO|qQs2j)ehdsr z-A9~#8)A%bWMQm7#zyy+U)q5{xhqMxN^4WC6d}a zptiNsYGLE@ShN-x*krEw&b@MLzRCoF=3jB(b}9>F5@5DRwN{d7N}OYhakDz zy!UYZqTi?cY9=jVTvt`BQmLgDlg4puo;4v7G&Ppi{dmid!B-3Wx^PVY8p53LdBas(17_gn-P`!(-~Jjg1bp$I{xe(z?!5mVUcTG_ zWMEdJs^r)%@Iz9t=?ikrd;%~b&V`Y25QDM?wWjqO(mKyI&x^{*lF7NWY6JNEIzBjs zSqPG6wE~g%9xz7YU5sRQ7^9Q}7={6cBhJSSct!Z|laKJ}&p*S>4{j$lpQu=}V?fnr zBx(u=eGeChD@zZgwU?$z5ETj|)!GP|85D&GDw9+f@#~p*W}c}3t+jBb#8EZ2$RjyR zw`Anb8zx6&>W`H4Z3LjrJ=CYm)@P|`Usofn3CJX)Xtl|eqrB`oKlGBbk+mqpbKC9t zIOQxl(9G`28ASlA^$P27ia0t10^&A^r_QUCU9Siil7NtiMxL(fUILsW_>nQ(9PsI{ zev0S=&Y!=)=3!Ygtobmwm)}oiv#js`)xNr<4U97$^C_d<@b@_9A&X z12|wiju@TC-TU|O^Z(+P`0Q6dg*yX0114p;C~*Qwieph7>O1i-Irk1`h)>T@p9RX9*lq(fXH4{ zSSZoqnuu_A?V=FQdcSB#l~DU7 z&wlX}tnL6i5A0&ZU`!L~uJ0tP0ofcC1Mxjv9uBMH=3~ukRX@S*HN0 z>Kt-LNRg4Xi{9r}b;q3$O|Ip$3@phD&kuJRXv5iuvG2kRZBCqO=ON{ylxxFWss-g!Wqv# zGabb!W#Co=Rvf_Az;E7;UAu4G`=rn2Iwc}0FBwo&o*@K~v!Inl9Haca20r`gPw?KI zyZDEH_aE`(FHiC4FAp(pwpbYpmn4zwa+-)pBZZ{454r71!|p_5Ae5KBw2xym9xvN9K_LN!uN<*=(?l9>Z#dyZ1i8oqMwoog zeDK427;Zc4c8r&Pht(nQ-GrVmg@N0%QZHF{Ti8N>b6=o-Stj3mr zkm5(Ql5t(eR_z-3Suv)3d?m=$+LnMxyihCc>;q>|GFftn;?%eZg1AziEHgL^gT% z-O0bk=YRM!{^>vc9*_R=5byzx2|Rj)(Zi?>VnGrq5#t(Hq`G4f%|mGQ#FBlN()xoC zw?@UP1YZVHeB;Yn%^SYrx72Gx>FHr~H~51;<{ zN4WpVhj{Pf8^DRo|BgJ2qZAwnP@)?++2z{L?)?{|1565LWaY}hfZ>!KL2_JKJ3zAqGi&G|iilNn zYw3S)M{FmpQ{(3I1_lwn!sd~Ziq` zmvf)X+-o+D#)~y{>!>O_UP~E+b4iL${5ms2RR+NtoA7%Ck}7ny7NTQDV7J+7Z*(S- zU0S{qnUwEKzGt`dG{KIU5CdV{iMSA=&mzBUs#MXk))D{FV#uPkqit; z{ufbK=yR!1V?)q5g`)iZvIB}Bv-CkD`+mjYd+I*gK!h*Qytxp7?v4te9zjHp)6 z-gF+9ze`><(|i}nHd`bBCBz1xbwX^nfSWh&;8#Dmg-?I=DZY8|HNO1vOFVw`1b#bW z-0ra1>=1TiPDU7`NX+CTz+9#t;tdb5G9aq27~5}ODVhZ9#0*blX+?Zp915)cvhpDD$iqyZX4iBKk05tR)%w`h8I;QlkgPPAL|>v$^G0p(UnibvhCB1WpQsJ^4qE7#A> z-$O*u^GR)zf2%F;uL$<-X?0`0%Cq{rr}b9aYigyXAw~>>pp9{$6NA%}TlnnWEqwBe zA7i)M;mgmzgx>{>o1LWKRs(pD&9^dEq{2Q$L+91kt5=CAsi)K|Smxv+pzC*f-vWnP zyAzYdd1(JQ6~l5Xi`B^*W-$2VlTTorg-x`@>Sbyuh=ZI1NSH1p~# z%JsuV-hpZaGQ*n&6c1MzF>CgU#f~%$dpRf3MxV zYiU7s8}eOK@}z*_CUr=kXcH40s}*7U-}Ib@ls3cz$Z6kSZnuaWu`+9{P6n*j4!f|! zn%B7V{%t(?>LE-r+~>8~9928TC~I0(y%tWlv>MP2nVgo}I^A%sib*C#9u|U3Vh90b zB}v(jKKTsyKmG{6{q1k@`011Kw(E7ldf2~M<~WdjZpHO+>G!L^L@mLTjiH=G5u!RZ zM{(05vdJ5!r1gFia4B!ASJ2f+fIG23vP> zou^Jz{nh9C>$tkEK7SGDO(Yk+x6Z_){V?gz0_+o~%8XrzV%M<3+&N=0&ZJX&!*<~- z!BzIeoXSwVJUc0&iuF07K+IxWfa*>Z!EzOU5hwUaY{*lB0fX#zTNs^I(kPHBWa^j> z#Iaa2z?c9qV>j;b=+Ptmhu{1MtX3<0_2t*-S%@WuqN(_(#Ep!2VG*U0q^Yw;35eBH zCWZ6Yqf%Dy1BUeq>W)hce0={t?*7$Zc=F^)?m&G!1ic@0+jgbms?ufmzt@ZL zx{!6hK=TVWiTj~sLrJ`S(|=0!2bx+8uNN*l4@;L{%XG4+C<6y&4W({H;uIM`I1gYJ zPb?w>Ytw2>>Qhh1hTv=vHtFZ;JYqR!)tZ4IWCgm!{OFded5T62u_y2}icp%}L|Fbp zs*}ycI5`=TbDN03;@cv{eIh4yRdxTn40Ch8*Nbi88PvTChNhu05|iXT$dB-mV6Iq^ zu+Ll@srw#V=9^4XnzP!BQ8YeP3MXAR6OBgmU7xL-(EMBxESMtC@7n9=f9? zi#bHE!Z>#o2YUkHYd7Wv;?YCX-T@iDmAu+#3N=nDI3s0LIf=+>wp=+^Wz4J=3{hh* zcpY$EMD#il)pj=mhG4UCFcA+`ec9H=Ao^%=&kbPMp{N@*H3z5rVJIsyBvl9(Pm*+; zS^(xZ$`VYj>uO@})e$iew#WslOww@5o=5@;C4!gM6)IkIIH7>LkRAiy%#ZxfKDq7(=t|tx-FX#1x6^cnNW6^QWPSTWX;jD=|tO({wCW zosqa0-hGrruIphy@CDZbg~2Z>eimCJF%V*QtR*5KM9Ibrim4tt5*Jpi_`L+xP*Wl} zGvNIE9594acZS_=hd=z`4|x9kIllht!IC*?7UqbA=F;kaSBR4&hs*t~&s~c;i-5Qr zD_?y%0>}h}$C9+pI4cXxnWl)+tAs;@^r|+Hs{oS(SZd^Y;0QmKz5!JPc#X-qhtAS;-S1QYscD*D#}Z;K7227R}xzLJd& z>~=E0mIw*of=L7u3j_Azfzm9~YC{+*YK*2mK;A?%o9 z6(g(tWd?5CT#L~>qT3q*NYxsqeR_Ark?XdB)S&CiT8n`OSXjUxrv+H*m*%wV8EdLO z14wZ}+E&brX5sYphQtutG#=&PyIgMhCTh(%`KoliA0?CYU>z(h0!OTeHLMl8wciD( zhN;HE65FM*e-TkDtD@joLj= zdymy>b+GE5_r?3Gsftw*rkXhP-%$~exxanwi=KIJ_u4c7GwLy8C=(DLqXcPHX}?V@ z^OwiQ0bu*a2*}$4#Pa@oHDM$mdd?XRVp2K9$l%EE95Dhg95HYk$=f_1l(Op9s#A4O zPerTp#?+MOy-s=mk!J5p-#Cd)O*^`F#FNE)iIIt33JY1Pq%IGv zW#Tah7qx-(ATbS6Qo624XvxCDN{q~&2kn!PBx<|$?Ep|>HtK6p0{3M7scOEuZ-xn; zQ|~v&0|JyX@Yag0W4ql-ts=L=`T04VnPyXG=A3E7n8MuGebe$AE+bfypb=&jWnzPf z_2wLD%aX;^BqYr-h|6yJZj2Eh^J?QVi$1O9q`YrMwch12y8%<{N}MN^+M2mFf5?n?H-f&CZ zZ~b#FijSr?f&Jr{)UeNXr1Ty`OzNtbWlyJbOa?YunQK0>vsCqwYl%Z6g4AlV|HwHP z`rLi>_*)LLwZCyDInGw$wah>oZ!`XMvkJwqUHWYW(>nnR5{irW+uW|LZAT89)=B8s};tr2RPtl zwZ@AVFR)HEf3i)ND%?~LqV7A2W{0W`J~tOx!d3#13$P`Xm5(4$V$=cWR!Q>M0!-NX z-DF;+aFl$mONOu4YuFSRtr<4lF^i(Urj|Yc@fcB^Y}WOsg&r!=NCRf5F%Bgzj%+3n zbt1-zSlAJ?6oh}U|E~@rVzq(iaHVk;CZ@b#1W=3;|6nB1${pd=Jmjw0wHoj z$64)@wpkLAYjsd|T;R&PYR?fdMV>RjDd0|iCoq|#jGPc@CLn_9TA&d$=qdvJtAwZyn^9aUU3)u)(l)@Z%0~48lrS3*!i@lVOjT zRN_>Qg*m1&2A1$L#f_avQkeBNW4fkJF=nc@AtKn`y|>o-RL91Ltrd~Pn?#H`jerJ{ zGHfyp=_kXc*b6nXl3SHjO;xj`k#f1rRdj1qP>KEIIx>xU9&29!76M_90^RJ~=^<+= zgh=!fqPr(Jm5+#F+{Fxd$HLoajDU=A=1844t zoF_{6c8kyt9mO4Zj$j;j1WJDZz%p`D&Ya;uW}(c-jGBr-S6aJo3oNbGH>rx7W0?Ej zRa&_5-U)v8%b(!p*)42eZ1By4NBH9NFY)-rw^+F~Y^ALz$C%eNK=TZOX62m_jrx0X zf{87&Ex1-SJgt3$V;gT`U8`ZT)S3t~&Q@HO{#Y)k2uMc626cv+so0dxrPJ!hE1i=% z1$_zIj8Ho%!x#f{MMUZ+Z0^NP&%e1{B&j=6MlG7sGF4gGdTgXGUVBlp+Qf%|5jTdxrVxn^ICRFiA$J7(Wlg13cu z00n0OXqaJR4D6clxBu;5<8S|~zs7JIzzg7uKYWY7|F?gSFFt<&I~YVCs}chW5&$9$ z(f+X>nhUMSSu^Qc7)_ABX|5&HR)nRFJE3m9WxQO?NBz4iA@{P{i}WG4O(dGCnCVMVHrlKKGlZ{zVYUKz2ra-vBI60@>B!l4j@yH;9O^FA zY6Zm+x!Ap4bDeD;(BU3yjF;=LqemBqIP)Hl4Y4F3C+Un3Zf{>!Rk1z+4mx5-$NQ)RRGy4QYCq`I|g zFp+sGgj9ojy|LVL(8VAC*(PE*F`v+N9x z;-+ax7!uxdMCAOv?TDEWiWcD`edp%;^c8BFn*RBiK2Ju{Ue>GQ(*96)Q9~&udox?_ zE*!FfysAC259&Ut1fXgwjd%0jW3vMueEkp~{qzG2cO*^9voAJy`1l)m1gusL2)$<> zO+L>%Nyy3Q3(@Ffet)WTAX0GARjS~4KpR>P`^03w&nkx9j4%rse8Z|BI=c5xxi zxK17ouf~6cxah8X4kG8uA%Ho&`xxLFAm^~^&dG-ZH&^M%8`}x9Y(lDxl*u8aZmXz( z6{)vJKJdM~zA0ju4m90bwI9(6J(J;eMuPn`@LmVspcB{`R zI>;#|)uJ|iO%GZ?Ytoo1DZ>KMG42A7;FR8?qTCaNdaEl3fu@$IEn!a%8* z*h6k>PHkF&SzIT5p9!jP(>qJ*amo@#xo^H-6QkyV7jlueaT&?==z1Otk6v=aUt$<1 zeI!Z8UapSN?AZBwQnd_HC{5{G!cf%%+niMD1?sF+4~;=G+*$+h&f|~&?n`{}|9*{= z)hS{GHZNXc^Ku6pS8(KzbLG`O=}62Y+W9M*8Tp+FQqmSGeMsIyX9&hfS|qnBp#Vj; zC`^XW1(oDr^-7k5r}SNesZ#l55(EWffzf+7Hz4`|0)wm&F(SZegrfIes9gw&!nG0S z#e=G?8x3&vB9IfmOtpzH1kMf!BibEoBr4DPaUAnJ5Z-}y*tr+)( z`z1>1xlVt|NJ%J!{O^T=$fmzVmdc68!W*_xF2Yr+;^hK9=_rp%SqWi;)2zO?$9bq# zxQ8GIh%MaEB1qF6HC*sj$--|2-n20sC>(r@5p0sKpCw6U)bgUF0iiW4QM#G)!6H5n z7|$8(c4F5JfC+=t{Qwdoo&u?4oNO7)k_)b=swz*|gj0hW?`=_c)n z))gVn?MKt(eg*(Ib;}*c5s`f|s$_BiTj|q;aM;GK!5kL32W)Q1Z9gQiv2Le*HZYfKDD_;JXOc>bdJk8X=a{3+O(dxUpt?itL?(WwND&0g zVy|j^?~;wm*OYiEiWcGSsA0v4c28JQ|{Kj!?!W08$KYV|8R8Pw0T zsjr!k&@vI!&rUgJ5sOqr(%kjj5D%T1T36TiUo}!oQL-A*n7a`xy>8a;&g;Fi$0b*3 z$aB`)>C5UTXbzTec&odfgG6|8F7A{&48?&!)%yfwsZRBr@yjf(7w@Gc{& zDTjO9br*SNeg0x@(BDfP{rP=?!LI{){3V%>#fyrWK)&jkt&aYf^-G@|NPvEmszOeK57uaY+rM`Q%l^Vs5zsl|%@I zC7&Z4+5K#eiZe@rl2*BH5guX0X)CTgp3FO47j;Le7j&q(-=*vr# z?6o!%kO}c1HHHFY`{#Ckr&K=6bHr9*41s3U=NAQ$CQRj>mhg49(@HE#;0W&noZ^3$ z^RB$el+In_8I9zSucI*M^!-Z{d+fk^iKCBduWM%X>M5~Z~;_0WnbHpW>P3&bS#9FmT{hhq@X;cMR|_%4j$ZGy&@Yec(}<0b$& za#xZ-s4|wfc4HwVihm}AHEsR5_g!m6`cx(%x!?wA{7Mc0#6}!^z!S+szXdPS8dw~y zI1vy7tw^}Q0Vr}4e_!!*YKtqiwg~x*oc}6w;a=|NDs6CiMoAUWCt&RR0ZeTr#uzx~ zu-olG){4Q2#qG>m3(pZYyPgk?i%-?&_dL9bbC3)oMtAd24znA=a zsd9@k7={6s3FK|b{6~}t$n?EW2?#S!0-?)q``1k#KTWq-eTSb>Q`FBiQo3;Q`MD%A zrelgMseO<#UDx+X)dZcKoWKqPB7{o9h(QWLj7%{EL_(^>{D^g!M_CN^*T88@45W%p@t6OhQoMb4)xg&_nOwuy66VkPq) zYY(*rn@HA?zQZ{2owjjYBALi{iGUrNpVtYpS1#DDp|&h=rxIN&*j1oj{xF#T}V>vO=viDJq z%#}-Cl2mrPT{8gfd?YnG6)yzsU|m$IZ?pMM5f%;sjB)gc1PrScK!ojXhX966UKh?e zz!1hUNbuk=U>F9BzL2`vMZaewFi&-dsFh6*Wh)Jb7}}L=MQy7rG81WDX1@kOZFQSl$gmvRzFS4X}@Zi zN=wVx%2m@**D;we{Kgg2LRX!zxvr8xv@IfnS}^eKK(6u1E6ZCR^ily zVmppaM~EcdurpGQbXeJfHydw-Rz22B0G$3sPT5b1u^I;0!QtiR9Dx|O@7%#^81U@b zGq4ZRuCw3}z#K7#h=78(3pZaQFl2A4_T|Xx>T7xwn@LJd$w}6tDh+|NiHHhOb!j@8 zA>P1*tT5}fSjW(ocNtGjjEx65+`}`n?->`-#lH$0!gmSYoYXOYZeNBBAO-bioK|pO zW+>C%&!t;tj!g)_CCob0B%wv`0iiu{Fvl!NvF{sjjPNnQ zj}e|DKD>V)fAcqggPS*R;&;FM9sc=Gf5LXN1u=5QU{)8qePV0%V@)jObDfsE>$AQz zU1ZFaEyQ4qA=^Q0Si@SC0PDdW9DdjK#jbzb;3&QGHK?F2gXpeX>S!d-?*P0l1ae8; zyafGw(Aq1>U%n8CN*WPPPdL7VD$Z+i7MS!G$)hx>t(Nd_Elt##ovh)hik?MfmaFz^ zhIkGR$MLht^Cbi53^B2-h}Ekf+~6AG(RgSPAtEeBtslc78UTZH7`I!DyD=BA8ioNU zH_ouWc_SO*C83&(#ab(bhdUjnjx!f2DKCOk8bo<%>W3%SEi=>Q8ii(OrXzMZcpLJ|K{uR7DRUyZmGmzyTNMSZtY#(z{ zh}w_>!r7UqgVgM=6KH8V1#-Q3L)PtVijyo9Vq%Bws zs};_7TReF10OmLU56;fc@a30ZV!Pd9y)#6=l^d zoN0`l2vE%P8DYU7Vi*R_Uuw&ZO`H{FJa-2vdR}fR)GPno=`Ys^e@4^_~M(7ds zq5~rp#4Xj2BDitgO*Jrj+gnuvKw(a8b^QBPEOB7}CVYZ~C$rR(+L4qj3`AkZ2@-2& z&5&bAY68+c8r(APrY(li8|LT6=S<23%PBI2*hu9mW*{=084#mK@FHPkN|z{~s)4L^ zLM)VcIPFBLg8|KRU!y;H0VYjMcNze)+gLpS^?Hf`PEJlR1_|b~)*||Vm306EUw`ps zLG&Pm(dUU_&7{srWYvNx)goyOW_j{j0-}jr3c}-(-knek_#wa&!3+-LZiCao;r!WC zY#zM;eQ1Ck01J$~1v!En*4S)zSPiQ}$}6cTk_TYG(PD49m5GXN`O<3CN5i2FbBF-Y zOx^HS;=LTPTKW?cBaJf{1-|9WWt_Ws(pd2!-&^?Dvl+`Aq-MBII* z1CeltBpIzN$uOc-s@2f|$Qp#m5*R%IW=!#8WD&=Z)*n}QXuC80r)uA)V_le7@sdE& zT=1~E!hx2cTNisJyOG#H{(!t^14W2~yQ#+*Ifkprwvl$b!KFn~fhL|vqh4Pn>f-$K~{0PCS>c(PqNOH#mf zX((FaSisd6i18)aG+0EVI+ciY$2MxIVO2is#AyDjNK+$oTvGBacD%G)J{7S_eU^LZ zIiH5>Y3^81p`@cm+Gfg2-D0Sm$juC~iY)cIDN%D`0|N^VjPvtzynM04ix*p*zT9Gc zvIeaj;%*1;y%3PSd-<}Zd|xlT%{Go#(}y?RgUdrde}`>AhxYHB)VZvhp1bxU=a;Uf zPBqP7(Kaj@U^Nn(N+4dw8;prMEBA@pzU5q4JiSgot68A-qS7`e_&3`yq;GcU;^egV zSz4lMG|NzH?`zvk9!WZv@oxHa`Z85L6+-eGPLhM^{C*9&&YEBKBI(cqGo-$5TdnXq zp}6X`-+MUZg|oB{DLs3_VN?^nuU&1Yw&&EJV~p6o+`{iXHZQk$`Rp9)n`>YIhz&wu z*lKRIGAmd!`M$fvqj$8BbFZeY*9q@3;Q)@Gzw4OivTrV-cDn%a;96(SJBiM?HVNT}VNa zpHVp#!vFvv07*naR5zmns)fH;Rs71*N28XX8kzb9ptXzvr08-BfU(_mK)NpEOQcXONBo8isu19u67S>gsR9(9BW}+wph?6?#S?Z{51(*Vp z8n2IsC7t8NMelrOa!sQ_ti8k1)pPpHC0(Zy6y+pB2)U+l^by z8H=6~OaO(YaNYWz{o@u~Q3ycIKpt~6$=w#{t0$&FzlDNPs!rF>VmeTDo%F26ON#~m zs?Yn10jd;In-7>74&a>CR*;;yfyrPPF)9~Q2+0x>o|-dw;-xZg@;HnHmkn3*-2amC zeX5e`e(&1N1geV8+_#u(@iwch)b7CyL@|yN8Bk<=` zP6$MDkIOMA?fktP#N%I{4dl)D;j(a1M(kL;-b*vbsxA-NKn?{Binb)BTnd2qlHOx9 zqZE^B!WZWIot`vlTm8T4YnSj&{S3-S7mb862J0#Y8r9P-PZfB6#fp4C<5jO12~5BQRLp7 z>#oUZ?JMK?+(zg*2R*Op-t(esDwG*Ke)tIEW`~pA8k?6J>|SoMK6L=>Koh?pD*_(D zW&Z`w2#7%BqY228%`wj0 zw`9Z6WBu7UJ2|h<*teE4&LdH)X`PUoA|I>5&6*WnV(`m#h9yKg+d#x13ki5Lwj>8s zeOPC#E>Ei>w0rdxmr8^-<&V!Vf~(0Qq@wce1olzwdjDLmmmaRF0_pG0xn?>}v`R$=zQ@J;OyP{DLou*qFpeWmRt7Wx z-#&eTv$HecC1Wr{bM0Jzm^szd09LCNVvJIMhzRTT8oRFIY2WYOhB5h^*?k5oRhV2; z7_7Qq_4yEuxI5*a`~J@-N2J&>-)=sKMp;4I(+%K|n7hQX+Y>z#q?K!V?M`B#J2 zJ%39~#6_;Z2-KcM%&DY85M;O8?Xa>d1PWLUt16DGHI^$3!;pffIUBWAtKef?BoIsI zjwXx?-)m5B%zclXyWJ#V1+kQ)m@w(kT!$nD@lsz3xns3~9D<(HYA0M8o=%L-oL{T= z15go(h+rs792(`WKqRTy_4C|cUz51L_A0PM9Ai&n%#<+dXCMVSMyV;xk(-w@jw8bE z91kCSffr9c!|Lo5)*0+x?C|jGC-~^(4v<7}$qf$>?I);j0^VjD$3Yd^B{=Z6Y3?ry zZv*jAI96i4blWV5&KQHR184{AUT(8-+PRfT_T8SY*TfhDj5Q#m%q+t?;lo`d80zhk z?O6J<)up!i<)N4dmanl*fHaC^!K&&KGeiht0*K1Qqt)izD=q;G6pb<1*MKF zg(q?A?VzSAgO=+q(uRtM=M4p{3Bz0h#wDVmaM71Dw}|H*0%guMb%EYj*IZwcK9mTC z5OR6j7$aivuoUs)*|&J`=g)ETz1ui>?>%hKM?CW{aCUkFw?1?tuLee74-jEJtiT{d z-_Wl&0*BOjS5;LVYU_1A=UpZoz? zb}bifjR8W;c-SqYOQ1E;F6ewq#`^X$9Y`!lv{p}P(nc9*Ohmyf5{}$nM>uK?luYIn ziSLDd;$Qt)DK|3lP6M3dqRMCIEUcwOG%UQAag8HOHANFK`hYL~^atGk;U~EL{yl8B z0U5<%H`7CI@rc_5R_7o6?pODJZn3gbMU*6$}Na7ac-X6%7Ix*MUat#N-^c5Leiql z^}9T4{{-c`yP@_Bc|O-&M|Pl^qaBrL_nH z0$YYbI^XstqU13@Ze`RIuKv?=nzgs28`chs{%#l~)}$sJ{RGWH77cCZMb$|GmtBNQ zqd&$bUAL(Ov-Nh9m$X_t(2igUc=q%O9{uHOeE9K?;D!OtIXpjqjt5^n#Qh(r;uyfjUdsl%PB;e1UWW?mGRXY8rH*6N2yX*i*Zf^)`!&~njNRZWKqMtvcN@m` ze1pyTIh-O%t{LPW@e8Pzr}kA;Uk<^GEwZ+O9NYJ%jRQ^>``#5ZPtqqb7iL!(cln-h zb7%9_avM2@gxaD~CTUADk>Misv^EgBTw=c7025=%|DxiO)|Fy{h0O^UjgeFWb`VKq z$!>8-+-0CCE6e4A_WLCv6O5U~1z^@`y7$=PDu+TugfUV`%Q=H+3C>uIp7GTeU*f$F zzQVm9eFnf_<<>ZVevXF^8EkLi#_barYvAK3x?O9oKEP{$H;s@kbN%pEMkN*htsCax-58v$77n*4rRR7xRI`h(bU4Jg@g zMS40=52T-r83gYO@$g(K6J{d}EI5_0g*6zAtq2GqVnif~p7b1Hk!p!^wj1Z~Y^eO6 zj=hoUqHdIj;Ghw<7csk|dTi(%=}|$`F|XVj-+uEozWDr~@!q`;ff%ql9bn8FFTOno z2M=RD!0DY8EDeY(9ukpTsc51Ys)KEqX1(2yvv|$JW#(rN^83Evv3deZ7S&^qR~_%W z5y<(bVQwuHDdZB*Bb1nhYVl9Xy#k11gj*S$KYj*y;K}31aL!>o_t~zoZ(ZKMe;>d4 z)vs`Nc7}ia$A84{fBy%B5U^UUCQ;)3b9$z@CZ@e4aHty_+A`$DEu2rs*!-^c8RVn+dmT^*Zl(HA?1hnf!$08q0tfIJ4_FYyVH3Xz+cE-_9(nb-9 zhC@sQb*xJ@he+lMMGGWnlYeinN@ySnbBP$t0R+ti3^0P!12HKULpDbQ!2%QjSQvw> zii*(}2}27?1rPB>7F{E$h-3_mMOOVpBzIN=7;9jm0fcf=o#WRfIQ*p!*4MRCve7!6N=l9NFF_Ugx~z;HvoXoKmQyt zMp$d%)wX%S8+58}YOhmCdP#L>pmv93{MKygEajnkiNF{GGU9gJNI%q)<~)B<_fcFp z?l)_=K6XNlFv{77P)gX=b$2z3Ey0LRpAt83k;~aeoiq!8{(tt~rB{+9I}`hknY%~C zy*IPoFLpPZ-PO$=V!CHYVt|1J2#~ZI4MrG20|;7bt$|jAw9sZYf|mLT(vOg~0tF28 z1VvC1hZq#At1|1ERh5;G`-lj4H?yO~v14X#?h$csW_7b0Ln~zY4G#}@b9L=?450-`FqF~4 zFp7C{)Bw$aqm;_zrSB0nMLiOye<4aS_2=?fHiL@c#CbV(lyNL)E;AT$Q@kw$(sR?f z(fL_wIdkb$@+*(^y>8q7mT}y^8B+*hja2ya&cU#SF@$jht}bt2gT>9w4W2)LjQY%y3IN8jkDZ;?wJ=fZXj@IK z5eWcEeivaLF48ISJ|ZHpQzkO^f>`V)A5MF5o8RBH`KXO7CKP+YmYMUs|HepKWj8vI z>9AUL=!XHHfBq0m0l)a8KSsM=A#ebXjCQ>On6SIt;~V}4uk7!k+ca38H^Qhr;9UR= z!B`7Fx?Cv6nq)i+(L0Vb6@&&TR>zF$)A|QhAmVj=t7C@JLWI*4!VD*m z018c}%oi55%If^`vBG-m$-6_V4aOP5yxTqgw%xvw0c>D+76A#6^4f5KAAzf9S8xMk z)pU6D#Yf`0%M8upXE060G;Qi~Kc?6Z5zIsju%?CgZuYCvUT~~#kETQikcfTx50Fe3 z;zebW#zV#k^hY^cZ|Om$fy&1m7{064=!@oHw=w!TYYrzZER_pM8Dn5b7(&xDQGzG5 zMxquSyW}fvjDh!(KEO1Dew6Q4rj1?;x5>nNh{MyYruAJ~AdM@ZM|aT(>qS7-{$=2Y&} zIFk8hnvPYY9zp8wtQE2tJ~0Sk8aaM}ND4{?0>&V@pqhqYng%|2gfXD)I-H%IVYk0Y z5uj?&(LqW066A ziF)?uLe4GveZmIvn-=Tyo7R{;j3vNFge1tgk2~Pz=@x$Pake_g({CQ*@mJqs-L6E? z4FRpOBGWAmaaP5L>FB19Yj*UpcY~%fM@BPwSN>1xh8r6&5tqxr=NWYA7z#j z!DW%DaqIzWux=VS3b?*{ieLWq2e8)S`#=0KR^1tf5Wt=gJYz(FZB`&6++6jzy!ssL zi#1+(<2BrWbq((T(*m}Q9z(&vdn6Yoxo{hO$Xyl|s{5GdL_B(X-{1J}=Q zu)W@*vup4GJpA}mjQau2#-gznqaR_&B8aQ!{JwDt+NPbdaC375 zjpWSba|7rE1378~33Q7WKX!8?C2=bzqIqJnI+wo}!eu7d<%>3ANfEu@?f?L7YvGMJ z+*%{Xz<1t$6OX?56uX-pLNNH=_kRy9_pkW|Y0OjMyL)Yo~NP}g408uwSecyZ^*(`^iSKhxq5~d7=VXLEw zm)7TPatmgT`exejbH@#JnPh|PU8dhxc8!!7;WsHwdr44(A*UF_;d}pGX77ag;RXQNUBArt8+x5I;!rSI3-(3wjCpWHj{hS8qm?P`wo_B1Be!}UazB($fuVpQ;^s4ry45z zzDEdt;#L zEE)7SH@JWA9An?(|NHYl$JNs-{Ok{Yj*I)RVBGgGb_Eb2aLiqWOe;=X|Tp)8I60g)^43xH{jKNyRqgcDT z4_F@*HF%;T?^PL(RT$jCoc038zkxz{4$)C1$ah*7#5)he2ea|sy(!V;AlTsJ$B(hy zZl_!~X0D{b2vIGwWRDusRK;5|Fabs=1P)`3`up-+*=#V03bAMLc5*CH@;dl&vT`EG zNEnDf&WS;~n3R%%D6`bXUv36#EgVV7&5ZX8h$}h6JlqI0Z3i?4L%+kvAAN|vAMul) z{1k7!_kCOr1I)TZ*Q{WI#~3_#B)}MS)PY#FGzNKs-+J^rhHFNE2u~h8Nq*?Hw^&Kw zPD(Q`iq-#$(+M9Vx&lWf79`y%Ajv=hufF;!x^;*3+M;OzuiP&XV1b2PdVkx#<5n{c zU6+O|!sug7A>jJ?9+ywA;ChdaTKIm%w@<#t)zfDf`#}V?WUOY`ZWW=PIYXVdLrlH6 zV!>vYy`*e$O}>_*Bt}Ql!XIl(^^(+9xg?;J^wWYSw#umoVMJlH#6}SBGc@9GWnyPv znt>=`M|A5|>3tZ)aBgGOFNt8Zpb+B_3JK7#nGh{zPU(oXU{h^elB1t!Nz<5?`Jj}O zo9rA+f}KL3E5`wW#7)^+(JnMYWuRK42pC)+bIHg{<>%!(Cd}fmU2AjcU8*q^o0C8- zoi%V?B0w7=xcv^FKl})8zr*7vPw>6>e~d6Nymuf&=!|&BIq%`U)?c@xuE&iNf|CeX z8*xp_(hE<b)k1|pCZ!N&)wWUU0#yT~v|@>mfm4k9lk z3c|b^VT!i&zG4hh3BM%F6V(iuT(`VANDN_-K{RO46>ET*G3xV;5O6&&{WEB7H@Ra8 zPbs4*HJ9=@xDjI*(J%p|o>2f;V{KyO{V2hHoAnt25%&FvFTeN%Up@W`&##~3&3E6$ zJMX@Wv$G5Iu7~pi51wt##8V_PcO7>a2n0itbu&fxFOASGG>}7Im2?=OSYsg z^s<=+aibjiKA31Ajm{CsNngY<#CZ(+5xeUxfHO2}z*>rMR#<$$-vna(BJDf(a=hbn z7tbfiH=oP!3t$O&{%nuk^$z>}063sA1{@rAH&^)Lvro})cW8_xE%gN0R=h=R(+Nbm zcrKIzlrY$`$5*3H2nk1{ zVng3Tvoj=yaSDJBneacGmyF)U0w?o-KvrK%1Ji^tRG48+@Dk)y z^;^$3Z4))9oCZJ{7YD{_y~>FqnIq&9z0v}sEqHLrJW2+lFj~nJz4sV~0d5@O5n!pT zgCfQ1GA z^r|f1H#*_qu)(^l7cz&tP~;Efbo+Abwc65>$xWbV70}J%bsWc2JPl=MXk}EXbD|z* zG0!2UD33Z12pyNe@eo3K&P!?_G0+AKV=RazKTAox3Bo+s2lycNg%E-S^MK(vBoVe` z6nc+C8b*4?2@HLi>qk!o0@zAAXGzj%z#s&cxM=ZQBan@yD_K$+>wPV?;KAqMrr7tI zQ(*ZE37wX!ekp0X`_KJu@{9A>y31x$+(&cgmq_PLJ;WlZoit{0>F!9^94o0 z$;5T4ItZZgA_Nv8$B(!n0G43PIhqbIW?GT+w~=Wa(mH+}@3JH~%o*{Np(*p|`yS(# z@$AcM1ZQBlK?n}55rglOZyw{r4?n=L+lqYxgg zm`8~v-9-a298pxF^n22Kr}3IP^Mo+9B@4nM_GBWGV8w}{Us`M1RL{tJp9IjChOpF& ziDUAvmeiw3Jfu>jWt1Y|#UO*|onsrx<+7w@0CU1NQ_*5-3mv4oEkan7j~)R&RwN6= zDM?z}wOFlI*qoo?{QMlN%^Kc&JbnHg&!0a>-}j*4u%KTW=-f9v}>=g_t- z#x@f#W=Y2ku#h$ey7daq1%%*0)}U#{jnw%8<2Yc`t#Hv@smpgEJ|Val)D>zl! z%6B`e^ec`OjOb+-FJKbE&XR>8z>fjjs~fm5;_PCBZqrS2&Hc7A5#Toic2iiYY)LSW z{p)*&zVC5!bA$fcV;l@@u&~s^S_9Yjc>MSg9z6IM+v_VBmTYbz=A2Wbw&Q@tbaRGL z+tg+n$@F@u7e3d-Q+!#y9F}0D@;cp%)q-6zHJ1A(yP-$sp<0GMD`3Jnv{{;Zf03;! z!A6@$=?tWZjllksUgmVZw{2}J5Kr(@o>nD$?>)vLyTLLuz$_|ilIjVjZDtzCM8hbE zk_H=#1B^rnhYCcmC$g>=Qr?p(2#%d#Fb1(Cc0ae!%CT&z1d=kdkIALEmc zA7FKHhF4#E18=-8F&&ABjah?bScD5|pMx%n7#au1x0d&Nu- zH3q=O+%{xnb_4-7;qw z37IA{o8zp!X1pZ?4-ESO+v`29ueKPj9qzSnV!!Xs$K;LwNI@H}U4X??^4_!C|#N z2Q%U3(gED#)wecse*;OWVPwsP;NhG{YonK2CCM6=IxHb()MGw=6sfN|53wmSFwKg5 zhogt?DFcpyZ7KV*WFt%G%XQ6UqX%0aaZ;{c%mAx8cVLFesBl>X>jna`xSh9#;74HC zjkvkqVZZG$^gWDgunrBvFrov&5U_oAiO)WIfG~EWi!O##%x#s=P4- z_9K{2RWv#BZTu=A1`8d#5$k>`jOvKaPm|w8I7*?XDp1fcz(i6Hg+%DoSee@XDr+Uu z+fuWzCNYpSg>`pJA)CDvrZRvFQg_HS2A+LR=dM3u&TmwzwHXS^*M|_m4uH?8hCN~u z#>j};HoC|fwQWqfV0NH9-VPcqCCP(OIj9M3z5sD_mB;|jZIaPejo?k!+%G@D~ zAaG2508sMgiVm_A=QRl4IgTU3euuq%4j9724}UqSM{o$1Iyipm>)R2GISati#FeL> zuR*8=!eq;%NZ5IeG1XN@44ez#NU%Z(DXv4k)4un^-^CyNy`STIKm1*std zJZ`S`2s~hQvBLTJTJo1Mr1YmTIO`hh_j`SlV!YH21yF-zdpUX}BqE#61F~MF!=RYs z>xGWU5|w6q2oZt#*}mI4}TU{b0eA;`l`z|GYb zH&^$kAz_#qyC`~c%_kCl-kc1RL_No4|5X}qJjGizb8 zU*-#0*QW}yHH1Wz3qIxZra(>#M-j@2MLifMFv94>#;gpac(ySnh8PsWp`tB{@En&9 z7hB9b3MQZ-)&9|>6+ohzvuHntEV|7ZRZ5G0Bz9 zCV6Q1kQjOhqS|uMq>dqtdoWWwQizoxiNp<=S!x;hafD|^yILnruIy7fp3*=_#xXOH z+b|9}swR0XnN2-=bB!oN9%M8ES0EQdNwLdmyMx%5f){OB!{Jl>hpx@INxt~}Gpx_n zXxbL9zxy`Kss(}3k{ENZFK@scureKNG{zekkO3HkRkJ}EXHsiy-rt^tE%DMsbd=KH z^(fMd2she4m8OZ})E1x1BY?G8u6UOkqo7&>5h=+2YI3KF7x&eT2tfeGNl|b<-{n7yz|-eHZOiLV~0zr)lEMfFX_; z<@x%T(`+D9O~WyR{5*|`AU#t$TQU+L@1wgQ21_=+M(<82A2_ewt)I29lo-ba0+J0w zMGS}mHPLX)4Dn{6MIv>y!!JjhPqqMqfS83C0Zc|9HxG=X2X+HsTR0j)MheduYhpU+ z0Oz7@<0Tpg0+%eb8kg)5VJ3@5Hl5f>$^}%Wg)SWtbbj(<7!6CD%cMUg^C+Hwu>T@; zKxO*d6>`c1RUia9oN6Ry%hk`y2vQ(b$R$7Z`;u32P}jr=kNN-?eDVS$)1}7L z>_+&(!;c;<8CYsTfq_7<)J35R==Xbk^6>-w^1~1D?8#GD6RVw8gg33Hmni@6T{aO0 zX+mR{P=J!qmk^cr9taZerL?t#sFabYw-;6SyKO6J%TjAX0JJuI_8iL0qYUhme@a}W zBkEzK!Go|SaaDon3gTGQQphbXuwyXBv3I^J=3X^x#IIQ}T}j9m2)KHBi7y|1hWCE< zLo|&A8Y6UX3w-(U#um;+ zO+|why-3%(P;4jfN6ZOUE2WY)rsdC_Rn0?=_Gq$8b-||Mwdv@;dU!a9A^VV!OE&8* z3fGhX7%P)R6qY#}g`@Dy9H1huj)Q?@ISl|z)291QyZ~VVLl}d{_W3owa06N^P}ke< zy^Zze96pR_8jEpo=-mJdi;fzYvnbJfgKmYQx5Zy^9L6IA_)vSvB|m9OPY&Mm!1wxj z-5mZ7L~#33`p$$9khCz{n>}1$xM7rhQ=Lv8uw-!7bqLo^Wt3^!GgZRU+W5wy{E});w1Q z+*JowrvSgWN$NPc66Oje{s@JNbB9y-!Ljv}Xjc4JjDi7aK`G&e-bL=FF1Ink-_)4#Fu~(@zW;q}&eqt6 z0JaUlK)-c(GCYTEC7U%HlJxvV%j+d)QUKss#(wulEjH8G10ql_s!Uh%%w*WD0Fv5TW(AicBLOG9bzxo=Ve)=gs{rCaKeuu_b zsnQqskJS3e{SZ2GcVcqd26z0POTVu*jCyS9bvvcM({KkpS7z`<1!)0OJEPvqBSw;+ zXiI(2*4P+P9YzO`GK@^LWN{Fvu1Kg=^o$s685}c}#({vGTasVP4jf`Dr`}6{cd{bk zkp*BNSvHBpBggxIrje8@*Ecu#=CiNxzg_-IoWFX3i~IMnz1rgD=_PKSTw&byIA5)C z*NT3pTFD%;Ya^hGKV{{N<5SjG(Z45|iG9eJs~XQ3AS1QxHG{9Zt{TuJ+wkc?ycqD9 zy2KNm!zAL2cy+!;pws-z#qmhLm=Y*`Cx)9YaOQ}S1BhCl+LlV@sT(d(>Ww^)r_X7K z(5*UbcROsiH~8xF&j9xDLyzBm|0h7(f?}~BKYF-6z;O?<3LQ?@UoGt^p}1`Tq__p= z&ldLO+<2n~ni>1@^OlZ)WM|d3#6aqElOq$XZDE;&fxt#cTxb%Q!LfLaC2@ebeD)NN zzW5RkA3nr4Uww`KW{b`?=&S_-!;Jxrk&3B|9Qb?dc1z7;^37yUr@zlxa7!0?Kq*-8 z^9qDBn?|vI%QXy5?H)ZD%VY}ruSTrq4DB`y@Gzo~G!Qk6J1@x#iI8BavLa!|#G`*W zlvDadtM#QP9X@FPcu5uGC7WU01X8cPp$0GphIeqg5jQtixPE?#$IUmmzPv&k4A#vW zE3&}Ik?X&>8Y1+gz-y~pX&q)&bq`52C01H$BV}ZKiJ=xFAh2beTUO0P?`KT%R+%43 z{8>0_a{!5ys-I(IaMJdQV;;HFtr_J?KPz;nLyfYn+RZiqU zu<^5{07>2?pOfGad#({Rw?9g=@e`56ADEchg`)eep#U=C-di4-Jt$Z(JPeCxS$PZ; zVA)QN1|}UrfEz-32MZFnTZlItvqxtdDYNZ>tLsZV_~>JN@WBUo_U#iGW3aX>Ne47Y zz^;vRmfYPb-kpI^hg`g5Dng$N8-vZ&8q(ecb2{pYae}7x_4)lQ;(rz_{imb

HL?j@!qGh%O%q+6M7zM@-EtsY@ZY9Sk5;_GBO)v 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%0A|f!hPGf{NGy}k34T5!W!VHEeA`tcV8`oZW;pG>8 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 z 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 Date: Thu, 30 Jun 2022 15:58:36 +0100 Subject: [PATCH 296/310] Make MetaMask opensource --- src/data/wallets/wallet-data.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index f18a744ef4f..7c6a29f3039 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -596,7 +596,7 @@ const walletData: WalletData[] = [ firefox: true, chromium: true, hardware: false, - open_source: false, + open_source: true, repo_url: "https://github.com/MetaMask", non_custodial: true, security_audit: [], From a3ba547e5abff2cf8a2afff45cf81002f3b47ce9 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 30 Jun 2022 09:06:34 -0600 Subject: [PATCH 297/310] feature compare dropdown default values --- src/components/FindWallet/WalletTable.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 1e85c1804a7..adaad60db47 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -586,10 +586,10 @@ const WalletTable = ({ data, filters, walletData }) => { }) ) const [firstFeatureSelect, setFirstFeatureSelect] = useState( - featureDropdownItems[1] + featureDropdownItems[14] ) const [secondFeatureSelect, setSecondFeatureSelect] = useState( - featureDropdownItems[13] + featureDropdownItems[1] ) const [thirdFeatureSelect, setThirdFeatureSelect] = useState( featureDropdownItems[9] From 91c4ba117888bcd08d003faf9c8bc605595821cb Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Thu, 30 Jun 2022 16:30:48 +0100 Subject: [PATCH 298/310] fix black overlay size --- src/pages/wallets/find-wallet.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/wallets/find-wallet.tsx b/src/pages/wallets/find-wallet.tsx index 22c7a6c2cba..f2ad56ef039 100644 --- a/src/pages/wallets/find-wallet.tsx +++ b/src/pages/wallets/find-wallet.tsx @@ -179,7 +179,7 @@ const FilterSidebar = styled.div<{ showMobileSidebar: boolean }>` display: ${(props) => (props.showMobileSidebar ? "flex" : "none")}; position: ${(props) => (props.showMobileSidebar ? "absolute" : "relative")}; box-shadow: ${(props) => - props.showMobileSidebar ? "0 600px 0 600px rgb(0 0 0 / 65%)" : "none"}; + props.showMobileSidebar ? "0 800px 0 800px rgb(0 0 0 / 65%)" : "none"}; } @media (max-width: ${(props) => props.theme.breakpoints.s}) { width: ${(props) => (props.showMobileSidebar ? "90%" : "90%")}; From 262cb98f12a29fd0b550a5c38260ab0b3486fa46 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 30 Jun 2022 09:42:19 -0600 Subject: [PATCH 299/310] ButtonLink component instead of Link --- src/components/FindWallet/WalletTable.tsx | 44 ++++++----------------- 1 file changed, 11 insertions(+), 33 deletions(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index adaad60db47..8d94dd01936 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -4,6 +4,7 @@ import { getImage, GatsbyImage } from "gatsby-plugin-image" import styled from "styled-components" // Components +import ButtonLink from "../ButtonLink" import Icon from "../Icon" import Link from "../Link" import { StyledSelect as Select } from "../SharedStyledComponents" @@ -406,37 +407,14 @@ const Socials = styled.div` const LastUpdated = styled.p` color: ${(props) => props.theme.colors.text300}; - margin: 2rem 1rem; + margin: 2rem 0; font-size: 0.875rem; display: flex; - flex-wrap: no-warp; - flex-direction: row; + gap: 1rem; justify-content: space-between; - align-items: center; - @media (max-width: ${(props) => props.theme.breakpoints.m}) { - flex-wrap: wrap; - flex-direction: column; - align-items: flex-start; - flex-flow: column-reverse; - } - a { - border-radius: 4px; - padding: 0.3rem 0.7rem; - margin: 0.3rem; - text-decoration: none; - background: ${(props) => props.theme.colors.primary}; - color: ${(props) => props.theme.colors.background}; - @media (max-width: ${(props) => props.theme.breakpoints.m}) { - margin-left: 0; - margin-bottom: 0.6rem; - } - :after { - margin-right: 0.2rem; - } - :hover { - opacity: 0.8; - } - } + flex-wrap: wrap; + flex-direction: column; + align-items: flex-start; ` const StyledIcon = styled(Icon)<{ hasFeature: boolean }>` @@ -1079,10 +1057,7 @@ const WalletTable = ({ data, filters, walletData }) => { - - {wallet.name} info updated on {wallet.last_updated} - - { }} > Check out {wallet.name} - + + + {wallet.name} info updated on {wallet.last_updated} +
From 0e78a048f638a7ef867b2fb86f9c7cdca8579e83 Mon Sep 17 00:00:00 2001 From: Raj Shekhar Date: Thu, 30 Jun 2022 16:56:25 +0100 Subject: [PATCH 300/310] updated broken [Fixes #6857] --- src/components/MergeArticleList.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/MergeArticleList.js b/src/components/MergeArticleList.js index e61f3dca6bf..233eef82c4d 100644 --- a/src/components/MergeArticleList.js +++ b/src/components/MergeArticleList.js @@ -26,7 +26,7 @@ const reads = [ { title: "Execution layer specs", description: "Ethereum Foundation", - link: "https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/merge.md", + link: "https://github.com/ethereum/execution-specs/", }, { title: "Consensus layer specs", From 10261f2605f4367f15049dc62f2fd564a9dee680 Mon Sep 17 00:00:00 2001 From: Nuno Loureiro Date: Thu, 30 Jun 2022 17:53:28 +0100 Subject: [PATCH 301/310] change opacity for scale in the social links --- src/components/FindWallet/WalletTable.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 8d94dd01936..483cbeed8af 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -399,8 +399,11 @@ const Socials = styled.div` height: auto; align-items: center; display: flex; + transform: scale(1); + transition: transform 0.1s; :hover { - opacity: 0.8; + transform: scale(1.15); + transition: transform 0.1s; } } ` From 078ebb5a273cbc1a9e2b510fcff40552763625b2 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Thu, 30 Jun 2022 17:55:39 +0100 Subject: [PATCH 302/310] Update src/content/community/research/index.md --- src/content/community/research/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/community/research/index.md b/src/content/community/research/index.md index 716edde0938..eab02af1a5f 100644 --- a/src/content/community/research/index.md +++ b/src/content/community/research/index.md @@ -11,7 +11,7 @@ One of the primary strengths of Ethereum is that an active research and engineer ## How Ethereum research works {#how-ethereum-research-works} -Ethereum research is open and transparent. Ethereum's research culture produces tools and other output that are as open and interactive as possible, for example, through executable notebooks. Ethereum research moves quickly, with new findings posted and discussed in the open on forums such as [ethresear.ch](https://ethresear.ch/) rather than reaching the community through traditional publications after rounds of peer review. +Ethereum research is open and transparent. Ethereum's research culture produces tools and other outputs that are as open and interactive as possible, for example, through executable notebooks. Ethereum research moves quickly, with new findings posted and discussed in the open on forums such as [ethresear.ch](https://ethresear.ch/) rather than reaching the community through traditional publications after rounds of peer review. ## General research resources {#general-research-resources} From 891eb10edbb3e6de3350a9f66b8b6356df5d435a Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 30 Jun 2022 16:56:14 +0000 Subject: [PATCH 303/310] docs: update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a31251f4f30..f4f99457bff 100644 --- a/README.md +++ b/README.md @@ -1278,6 +1278,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
MiloBowman

📖
tadeo

📖
Jorge Santana

🖋 +
rolodexter

📖 From bee4ddea31b7765e4c89b3d500fb347bdc03cd91 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 30 Jun 2022 16:56:15 +0000 Subject: [PATCH 304/310] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 5155ccd5f50..48c123a528c 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -7954,6 +7954,15 @@ "contributions": [ "content" ] + }, + { + "login": "rolodexter", + "name": "rolodexter", + "avatar_url": "https://avatars.githubusercontent.com/u/977925?v=4", + "profile": "http://www.rolodexter1.com", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, From 627ecc2b08868b66a8f843039c677b5fa4fc0912 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 30 Jun 2022 17:02:30 +0000 Subject: [PATCH 305/310] docs: update README.md [skip ci] --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index f4f99457bff..0903cc5a858 100644 --- a/README.md +++ b/README.md @@ -1280,6 +1280,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Jorge Santana

🖋
rolodexter

📖 + +
RanchHowards

📖 🐛 + From c5d31e6588867376dcce0d497f8d36c4bcb01004 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 30 Jun 2022 17:02:31 +0000 Subject: [PATCH 306/310] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 48c123a528c..8e79f4eafb4 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -7963,6 +7963,16 @@ "contributions": [ "doc" ] + }, + { + "login": "RanchHowards", + "name": "RanchHowards", + "avatar_url": "https://avatars.githubusercontent.com/u/69303624?v=4", + "profile": "https://github.com/RanchHowards", + "contributions": [ + "doc", + "bug" + ] } ], "contributorsPerLine": 7, From e7d40fed4e6017a8d5d1d0de0d420de51a41ee10 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Thu, 30 Jun 2022 18:07:12 +0100 Subject: [PATCH 307/310] Update src/data/wallets/wallet-data.ts --- src/data/wallets/wallet-data.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index 7c6a29f3039..cd34052ffa0 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -536,7 +536,7 @@ const walletData: WalletData[] = [ active_development_team: true, languages_supported: ["en"], twitter: "https://twitter.com/TallyCash", - discord: "chat.tally.cash", + discord: "https://chat.tally.cash", reddit: "", telegram: "", ios: false, From 7a4ec9029c30d707f2f48d415e13e5bc9dcfcd26 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 30 Jun 2022 11:21:44 -0600 Subject: [PATCH 308/310] Update src/components/FindWallet/WalletPersonasSidebar.tsx Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com> --- .../FindWallet/WalletPersonasSidebar.tsx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index af50ff136ef..f438a3de684 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -75,14 +75,14 @@ const Persona = styled.div<{ flex-direction: column; align-items: flex-start; padding: 1.5rem; - background: ${(props) => - props.selected === true - ? props.isDark === true - ? props.theme.colors.primary900 - : props.theme.colors.primary200 - : props.isDark === true - ? props.theme.colors.black400 - : props.theme.colors.primary100}; + background: ${({ selection, isDark, theme }) => + selected + ? isDark + ? theme.colors.primary900 + : theme.colors.primary200 + : isDark + ? theme.colors.black400 + : theme.colors.primary100}; border-radius: 4px; cursor: pointer; transition: 0.5s all; From f75d8d8809a8636b91c1aa85d331746656075d98 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 30 Jun 2022 11:31:30 -0600 Subject: [PATCH 309/310] whole row clickable to expand --- .../FindWallet/WalletPersonasSidebar.tsx | 2 +- src/components/FindWallet/WalletTable.tsx | 61 ++++++------------- src/components/Link.tsx | 10 +-- 3 files changed, 24 insertions(+), 49 deletions(-) diff --git a/src/components/FindWallet/WalletPersonasSidebar.tsx b/src/components/FindWallet/WalletPersonasSidebar.tsx index f438a3de684..ae69ded8b17 100644 --- a/src/components/FindWallet/WalletPersonasSidebar.tsx +++ b/src/components/FindWallet/WalletPersonasSidebar.tsx @@ -75,7 +75,7 @@ const Persona = styled.div<{ flex-direction: column; align-items: flex-start; padding: 1.5rem; - background: ${({ selection, isDark, theme }) => + background: ${({ selected, isDark, theme }) => selected ? isDark ? theme.colors.primary900 diff --git a/src/components/FindWallet/WalletTable.tsx b/src/components/FindWallet/WalletTable.tsx index 483cbeed8af..b806998f5f7 100644 --- a/src/components/FindWallet/WalletTable.tsx +++ b/src/components/FindWallet/WalletTable.tsx @@ -125,6 +125,7 @@ const WalletContentHeader = styled(Grid)` const Wallet = styled(Grid)` padding: 25px 4px; + cursor: pointer; td { padding: 0; border-bottom: none; @@ -399,10 +400,10 @@ const Socials = styled.div` height: auto; align-items: center; display: flex; - transform: scale(1); + transform: scale(1); transition: transform 0.1s; :hover { - transform: scale(1.15); + transform: scale(1.15); transition: transform 0.1s; } } @@ -776,7 +777,16 @@ const WalletTable = ({ data, filters, walletData }) => { return ( - + { + updateMoreInfo(wallet.key) + trackCustomEvent({ + eventCategory: "WalletMoreInfo", + eventAction: `More info wallet`, + eventName: `More info ${wallet.name}`, + }) + }} + >
@@ -839,16 +849,7 @@ const WalletTable = ({ data, filters, walletData }) => { - { - updateMoreInfo(wallet.key) - trackCustomEvent({ - eventCategory: "WalletMoreInfo", - eventAction: `More info wallet`, - eventName: `More info ${wallet.name}`, - }) - }} - > + {wallet[firstFeatureSelect.filterKey!] ? ( ) : ( @@ -857,16 +858,7 @@ const WalletTable = ({ data, filters, walletData }) => { - { - updateMoreInfo(wallet.key) - trackCustomEvent({ - eventCategory: "WalletMoreInfo", - eventAction: `More info wallet`, - eventName: `More info ${wallet.name}`, - }) - }} - > + {wallet[secondFeatureSelect.filterKey!] ? ( ) : ( @@ -875,16 +867,7 @@ const WalletTable = ({ data, filters, walletData }) => { - { - updateMoreInfo(wallet.key) - trackCustomEvent({ - eventCategory: "WalletMoreInfo", - eventAction: `More info wallet`, - eventName: `More info ${wallet.name}`, - }) - }} - > + {wallet[thirdFeatureSelect.filterKey!] ? ( ) : ( @@ -894,17 +877,7 @@ const WalletTable = ({ data, filters, walletData }) => { -
{ - updateMoreInfo(wallet.key) - trackCustomEvent({ - eventCategory: "WalletMoreInfo", - eventAction: `More info wallet`, - eventName: `More info ${wallet.name}`, - }) - }} - > +
diff --git a/src/components/Link.tsx b/src/components/Link.tsx index f6f3d68a7bd..75cf40e6715 100644 --- a/src/components/Link.tsx +++ b/src/components/Link.tsx @@ -141,11 +141,12 @@ const Link: React.FC = ({ href={to} target="_blank" rel="noopener noreferrer" - onClick={() => + onClick={(e) => { + e.stopPropagation() trackCustomEvent( customEventOptions ? customEventOptions : eventOptions ) - } + }} aria-label={ariaLabel} > {children} @@ -157,11 +158,12 @@ const Link: React.FC = ({ href={to} target="_blank" rel="noopener noreferrer" - onClick={() => + onClick={(e) => { + e.stopPropagation() trackCustomEvent( customEventOptions ? customEventOptions : eventOptions ) - } + }} aria-label={ariaLabel} > {children} From 22e64197bef5cf8a62740da22a7d57653133d773 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 30 Jun 2022 12:54:26 -0600 Subject: [PATCH 310/310] v4.4.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d09f678c665..10fadca6567 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ethereum-org-website", - "version": "4.3.0", + "version": "4.4.0", "description": "Website of ethereum.org", "main": "index.js", "repository": "git@github.com:ethereum/ethereum-org-website.git",