* feat(schedule): invert toggle
* fix(schedule): use subtitle label for toggle
* feat(scheduler): add note on frozen funds
* feat(scheduler): add a short note on fees
* feat(scheduler): only show fee note if scheduler isn't running
Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com>
* refactor: use Formik in Wallet component
* fix: handle lock attempt of currently unactive wallet
* fix: let Formik know that onSubmit handlers are async
* chore: remove unused utils function 'serialize'
* fix: remove redundant comment
* fix: wait for utxos to update after send operation
* fix: split 'taker started' and 'payment success' alerts
* refactor: move 'isOperationDisabled' from function to property
* fix: reload data after taker operation finished
* chore: improve readability
* fix: abort waiting for wallet sync on errors
* refactor: move method from Receive to utils
* refactor: externalize copy-to-clipboard functionality to own components
* refactor: use component CopyButtonWithConfirmation on Receive screen
* refactor: utils from js to ts
* refactor: use Formik on Earn screen
* refactor: separate error and serviceInfo alerts on Earn screen
* review: fix displaying absolute fee input validation message
* review: inline persist form value functions
* review: simplify feeRel validation condition
* review: constant for local storage keys on Earn page
* review: validate form input based on selected offertype
* test: mock session api call in App component test
* fix: reload session info on Wallets screen
* fix: reload session info on Earn screen
Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com>
* chore: update dependencies
* fix: prevent browser warning on Onboarding screen
use unit 'px' instead of 'rem' to prevent warning 'Unexpected value 8rem parsing width attribute.'
* fix: disable sending if maker or taker service is active
* ui: blur send form when taker or maker service is running
* fix: prevent unfreezing of fidelity bonds before locktime is over
* refactor: expose mechanism for reloading service info to components
* fix: reload service info on send page
* ui: add caret-right icon to info alert when maker is running
Firefox throws a `DOMException` when using `1001` as close code: `A parameter or an operation is not supported by the underlying object`.
Cannot really find out why this is, but in this case it does not really matter, as the code only runs if there is no connection in the first place.
* feat: add cheatsheet
* show cheatsheet only when wallet is active
* display cheatsheat in dev mode only for now
* add close button to cheatsheet overlay (for mobile users)
* ui: visualize upcoming features in cheatsheet
* ui: show cheatsheet once after first wallet was created
* feat: add simple feature flags
Co-authored-by: Đorđe Spasić <34274884+Djo1e@users.noreply.github.com>
Co-authored-by: Gigi <109058+dergigi@users.noreply.github.com>
* feat: add api call to get timelock address
* refactor: reset wallet info in WalletProvider
* refactor: move wallet info loading into WalletProvider
* review: inline function in CurrentWalletAdvanced component
* review: add comment on error handling in auto-reloading wallet info
* ui: adapt info alert color to match figma more closely
* ui: adapt connection indicator icon to match figma more closely
* ui: better visibility of disabled input fields in dark-mode
* ui: reorder form fields on send page to match figma
* ui: default to sending as collaborative transaction
* ui: add icons to receive/withdraw buttons in CurrentWalletMagic
* review: use Send/Receive instead of Deposit/Withdraw
* fix: spacing on send screen
* fix: make collapsed accordion buttons visible in dark mode
Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com>
* feat: add password confirmation on create screen
* fix: labels and feedback in create form according to figma
* test: verify password confirm validation message
* fix: remove unnecessary escape character
* fix: do not escape '-'
* refactor: comments and better name for escape function
* deps: add Formik form validation library
* refactor: use Formik for CreateWallet form validation
* refactor: remove 'isCreating' flag in favor of 'onFinished' callback
* test: adapt tests to be compatible with Formik
see https://github.com/jaredpalmer/formik/issues/1543
* ui: move seed phrase on settings page to modal
* custom btn-close style only inside modal-header
* better name for i18n key of seed modal info text
* review: remove unnecessary 'preventDefault' on settings page
* review: remove angle brackets from modal header
Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com>
Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com>
* refactor: always extract api error message with Api.Helper
* refactor: port WalletContext from jsx to tsx
* fix: do not hide CreateWallet component on connection errors
* chore: remove deprecated 'exact' property of index route
'exact' has been removed in react-router v6 and is not needed anymore.
* dev: enable engine-strict to enforce specified npm/node min versions
* dev: update npm min version from v7.0.0 to v8.0.0
* dev: update node min version from v16.0.0 to v16.11.0
* fix: show skip button on quiz screen only in dev mode
* chore: externalize styles for Seedphrase and CreateWallet components
* fix: slightly increase container width of seedword
* feat: prevent users from leaving page with seedphrase on it by mistake
* feat: prevent leaving page while wallet is being created
* test: verify 'skip' button is not present in test env
* fix: Warning: 'value' prop on 'input' should not be null
* cleanup: use AbortController to remove websocket event listener
* dev: enable React.StrictMode globally
* feat: add ServiceInfoContext
* use ServiceInfo in Navbar component
* move updating ServiceInfo with websocket data from App to ServiceInfoProvider
* use sessionConnectionError in App component
* use taker/maker info from ServiceInfo in App component
* move resetting wallet/walletInfo from App to ServiceInfoProvider
* fix: display wallet active state according to server session state
* always sort wallet array list by name starting with active wallet
* hide wallet list when reloading wallet data
* feat: add activity indicators to wallet list screen
* externalize JoiningIndicator component
* ui: hide unlock option for inactive wallets if maker/taker service is running
* refactor: use WalletContext and ServiceInfoContext consistently
* chore: use statusText as fallbackReason in Api.Helper
* fix: pass correct request body in send requests
* fix: pass sat value of utxos as strings in advanced view
* fix: show config warning after failed send only if necessary
* Add seed phrase backup confirmation during wallet creation
* Refactor to use 12 inputs, add skip button and more improvements
* Add reset for no match message
* Move backup confirmation into own component
* Remove verify button, make reactive, disable on correct word and more
* Fix build error
* Fix declaration order
* Remove not needed prop and remove input feedback
* Add slashed zeroes styling and remove input padding
* Dry up code using daniels suggestions
* Remove unused callback
* Make seedword index fixed width
* Run npm install
* Run prettier
* Fix key locations
* Add more translations
* Update src/i18n/locales/en/translation.json
* Update src/components/CreateWallet.jsx
* Update src/i18n/locales/en/translation.json
* Update src/components/CreateWallet.jsx
* Apply suggestions from code review
Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com>