* Fix: debounce fetch apps
* refactor: fix AddAppForm name and add missing types
* add `use-lodash-debounce` hook to test debounce functionality
I'm planning to remove this dependency, as it requires to also install `lodash.debounce`. I prefer to implement it ad-hoc.
* refactor AddAppForm to use the observable pattern
* memoize `getAppInfoFromUrl` to prevent requesting the same information over and over
* prevent requesting data if url is not valid
* remove logging
* prevent validating form before visiting the fields
* refactor AddAppForm
reorganize code
* fix: change `any` to `unknown`
* fix: `uitls.ts` types and imports
* refactor: rename `isSubmitDisabled` to `onSubmitButtonStatusChange` prop
* refactor: rename `agreement` to `agreementAccepted`
also, moved `initialValues` to a constant `INITIAL_VALUES` outside the component
* refactor: reimplement `useDebounce` hook in-app
* refactor: extract app manifest verification to a helper function
also fixed types
* fix: prevent accessing `contentWindow` if `iframe` is `null`
* fix: `getAppInfoFromOrigin` return type
also, removed the expected type for the `getAppInfoFromOrigin` calls as it is inferred
Co-authored-by: fernandomg <fernando.greco@gmail.com>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
* Remove spaces
* Change naming convention to make clear that only edge whitespaces are removed
Fix function documentation in string util
* Add trim spaces from address input in AddToken and AddAsset
* Use validator type
* Trim spaces on Safe App links
Co-authored-by: Mati Dastugue <mdastugu@amazon.com>
Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com>
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
* Fix ts error
Add type return on fetchCurrencyValues
* Add skeleton for loading balance value
* Fix texts in uppercase
* Adds ETH Icon in currencyValues dropdown
* Adds getExchangeRatesUrlFallback
Adds support for ETH as currency
* Alphabetically sort currencies
* Add types
* Type formatAmount
* Adds formatAmountInUsFormat util function
* Add types
Uses formatAmountInUsFormat for BALANCE_TABLE_BALANCE_ID
* Updates max and min fraction digits on formatAmountInUsFormat
Add tests
* Updates max and min fraction digits on formatAmountInUsFormat
Add tests
* Add types
* Fix currencyValues types
* Adds safeFiatBalancesTotalSelector
* Adds total balance to safe header
* Fix types
* Adds currentCurrency on header
* Adds types to getTokenPriceInCurrency
* Fix balance currency rate conversion
* Add guards for modules
* Add guards for modules
* Uses console error for api
* Remove anys
* Redefine CurrencyRateValue types into CurrencyRateValueRecord
* Redefine test texts
* Use absolute imports
* Add types to dispatch
* Add guard for no balance value
* Fix ESLINT warning
* Add types
* Fix no balance case
* Use optional chaining
* Absolute paths
* Adds return types
Uses BigNumber in safeFiatBalancesTotalSelector
* Remove number as type for formatAmountInUsFormat
* Uses createStyles to remove any types
* Improve total balances display
* Fix balances value column
* formatAmountInUsFormat feedback
* Force boolean evaluation
* Fix totalBalance heading styles
* Add types
* Add types to fetchTokenCurrenciesBalances endpoint
* Replaces coinbase dependency by backend for ETH price in USD
* Absolute paths
* Replaces RecordOf<TokenProps> with Token
* Feedback
* Trigger buid
* Types
* Fix tests order
* Renames numberFormat to usNumberFormatter
Co-authored-by: Mikhail Mikheev <mmvsha73@gmail.com>
* type validators
* safeSelector types
* history 5.0.0 breaking changes adaptation
* replace simpleMemoize with memoize from lodash because of typing issues
* add type definitions for history and react-router-dom
* type fixes
* yarn lock update
* fix router state
* more type improvements
* validator tests wip
* add tests for validators, remove duplicated validators
* add error messages to tests
* fix minValue error message for inclusive param
* Replace jsx.element with react.reactelement
* Fix uniqueAddress validator argument type
* remove comment in AddCustomToken validator
* use absolute import for saferecord in safe paage container