Commit Graph

135 Commits

Author SHA1 Message Date
Sam Keen
9591687a80
Feat/224 move token app into monorepo (#229)
* moved TFE into monorepo with some remaining errors

* moved TFE into monorepo with some remaining errors - further files

* add tailwind config, use etherscan link from toolkit, use web3 from lib

* make app compatible with react router 6

* remove vega keys from app state and use from state from lib

* comment out crowdin script injection

* convert all buttons to use ui toolkit buttons

* remove blueprint inputs and selects and replace with ui-toolkit

* remove css resets

* tidy button styles in wallet replace splash-screen with version from ui-toolkit

* various style fixes

* tidy up proposal list

* add valid key to route children

* Set custom port and config for token e2e tests

* added env title e2e test

* started some styling fixes - nav and home route

* Added 'h-auto' to button height regex check

* Added 'h-auto' to regex check to allow desired TFE button height

* Removed scss and used tailwind for heading component

* Woff files not woof :)

* Proper nav h1 font size

* Wallet card headings

* Vega wallet button styles

* Set project to use static hosted alpha font (cors being fixed separately)

* Eth wallet button styles (unfinished)

* Home route styles

* Staking route styles and title calculation

* Rewards route styles

* Vega wallet container button style

* Eth wallet disconnect button

* Connect dialog title colour and spacing

* Splash screen layout

* Fixed a bunch of linting errors

* Used 'Object.entries' instead of 'Array.from' to create iterable from object in 'use-search-params'

* Removed use of 'any' from 'use-search-params'

* Better simplification of 'use-search-params'

* Removed package.json duplication errors, set most up-to-date version from duplicate options

* Elvis for possible undefined in 'use-add-asset-to-wallet'

* Removed redundant files

* Removed old todo

* Removed package.json redundant packages

* Added dark class for dialog h1 text colour (required as the current scss gives a wrong default for this element)

* update useAddAsset to use new provider

* Ensure Jest has required methods

* tidy up package.json

* remove ts-ignores and use casts for dynamic grid imports

* remove unused code from token-e2e

* update to latest types from react 17

* Removed vegag wallet not running component as it should be handled by wallet lib

* fix typing of contract addresses

* type cast network string to Network enum in reduce

* remove comment, issue 270 created instead

* default associated wallet amounts to zero

* update comment

* delete unused staking-overview component, add note about withTranslation types to comment

* re add proposal dates

* enable source maps for build

* add rest of env files for networks

* remove crowdin script tags from index.html

* add testing-library/jest-dom to types in test tsconfig

* setup i18n for tests so that translations are used, proposal change table test

* delete unused translation files and config

* set sentry release to use commit ref

* delete dex liquidity pages

* remove unused useVegaLPStaking hook

* use found id so no non null assertion needed

* remove mocked graphql provider

* remove commented out breadcrumb component

* add comment and link to issue for syntax highlighter changes

* fix any types in token-input, add link to ui-toolkit input changes

* dont default allowance to zero as it affects rendering logic

* fix spacing between callouts on associate page

* adjust spacing between callout for association callout

* fix alignment of ethereum splash screen

* use ethereum connect dialog state for connect dialog

* add infura provider as default

* change from infura provider to JsonRpcProvider

* remove unused Ethereum config

* add custom webpack config to inject sentry plugin

* delete commented out code for pending stake

* add comment linking input elements issue for eth-address-input

* move useEagerConnect to libs/wallet, add logic for connecting state so token app can load after connection has succeeded or failed

* remove unused storage files, update web3 connector to render children if not actively connected

Co-authored-by: Matthew Russell <mattrussell36@gmail.com>
2022-04-20 12:37:44 -07:00
Sam Keen
f0e4aded3a
Feat / 94 toggle button (#223)
* Toggle button built ui-toolkit

* Rewrote controlled toggle button story without args

* Fixed ts args issue using ComponentStory element

* Wrapped controlled version of buttons in a form for Storybook to stop light and dark theme scope collisions

* More toggle tests

* Update libs/ui-toolkit/src/components/toggle/toggle.stories.tsx

Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>

* Displays checked state as text for controlled toggles in storybook

* Used classnames helper

* Added toggle to deal ticket

* Simplified the toggles array type to allow any number of toggles, removing the need for a cast

Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>
2022-04-20 12:58:50 +01:00
Matthew Russell
49169e5755
Fix/Loader size, token refetch, order dialog and deposits subscription (#228)
* fix loader size, balance refresh after faucet and string interpolation of market name in order dialog

* fix ts errors

* remove ts-ignores

* remove 0x from pubkey before starting sub for deposit event

* add remove0x helper
2022-04-12 11:41:07 -07:00
Sam Keen
c588745819
Fix/233 Improved input legibility for placeholder and typed text (#236) 2022-04-11 17:02:16 -07:00
Matthew Russell
f244cd07d4
Feat/103 deposits (#143)
* add web3 provider using web3-react package

* add env setup, add guard for incorrect chain id

* add lib for web3-provider

* make wallet and ethereum connect dialogs look more consistent

* add setup tests file for jest-dom

* remove chain id config and just use appChainId prop, add disconnect button to invalid chainId state

* switch handling of connect dialog state to the consuming app

* rename web3-provider package to just web3

* envs for each environment so we can specify chainId

* make web3container enforce connection before rendering childen

* add web3 provider using web3-react package

* make web3container enforce connection before rendering childen

* add container for getting network params

* Move ethereum config query to web3 container

* add basic deposit form elements

* add queries required for deposits, add asset default

* add bridge contract and deposit transaction

* break txhash

* restrict etherscan link props, use etherscan link in transaction dialogs

* use smart-contracts-sdk

* split hooks and components into different files, fix find deposit logic, add styles and progress for tx dialogs

* fix text colors for dark mode

* improve tx dialogs, rename deposit query

* position use buttons, fix select validation

* fix type errors after not being in strict mode, add allowance checking

* add deposit-limits component, fix types now that strict mode is enabled

* make contract hooks have a single instance

* split out dialogs into separate files, fix icon alignment

* improve error types for use transaction hook, add number save min and max for the amount input

* add validation for ethereum and vega addresses

* add unit test for deposit form component

* add icons and shared dialog styles so it better matches order transaction dialog

* fix underline class, reset finalized deposit

* fix type imports, use i18n function, regen types

* only pass contract address to token contract hook

* add vega env, refactor so retrieving asset contract address logic isn't duplicated

* add faucet functionality, combine dialogs into single transaction-dialog

* combine rendering logic into single func of transaction dialog, rever contract hooks to just useMemo

* use to field rather than connected key

* fix props and imports in deposit form test

* share faucetable condition, pass it to token contract

* pass contracts in as params to hooks to avoid multiple contract instances

* refetch balance in wallet after deposit, add comments

* use hook state for tracking deposit via partyid, add test for use ethereum transaction hook

* add deposits lib

* add last smart contract sdk package

* fix asset import in test

* tidy up ts-ignores

* pass arg for faucetable token contract

* add provider url to env vars and use in place of infura id, also update web3-connector to only allow the chain permitted by the app

* add type guard for erc20 assets

* fix intent shadow helper function, use arrow function for isEthereumError

* update etherscan link to use env vars for url base

* rename deposit related hooks to indicate read vs write calls

* move ethereum error class and helpers to react-helpers

* add use-ethereum-read-contract hook to contain fetch logic

* remove unused import

* move validation to lib, add hex check for vega public key

* use map for transaction modal states, pass confirmed prop to transaction dialog for deposits

* remove unused import for classnames
2022-04-06 10:34:51 -07:00
Bartłomiej Głownia
6cbc701384
[#168] Use static resources from static.vega.xyz (#205) 2022-04-06 11:36:36 +01:00
Matthew Russell
3b56dcd2b9
Task/Orders data provider for libs/order-list (#173)
* add small/large options for loader

* switch order-list lib to use orders data provider

* prepare incoming orders for table insertion

* delete dupe file, fix test

* ignore sentry-cli from netlify build

* move sentry/nextjs to dev deps

* exclude sentry-cli from netlify
2022-04-04 13:41:19 -07:00
Edd
49f97a3097
Merge pull request #201 from vegaprotocol/feat/200-remove-search-input-rounded-edges
Feat / 200 remove input rounded edges on ios
2022-04-04 16:57:50 +01:00
Joe Tsang
205f4124f1
Test/deal ticket tests (#161)
* scaffold dealticket package, remove trading views from react-helpers

* add deal ticket component, add intent utils, expand dialog and form group styles

* add splash component, show market not found message if market doesnt exist

* tidy up error handling

* add handleError method for vega tx hook

* add better testname for provider test, flesh out tests a bit more for deal ticket

* Add unit tests for useVegaTransaction and useOrderSubmit hooks

* add wrapper component for order dialog styles

* add vega styled loader to ui toolkit and use in order dialog

* add title prop to order dialog

* split limit and market tickets into own files

* add button radio component

* revert dialog styles

* move splash component to ui-toolkit, add story

* convert intent to enum

* Make button always type=button unless type prop is passed

* inline filter logic for tif selector

* add date-fns, add datetime to helpers

* add order types to wallet package, make price undefined if order type is market

* use enums in deal ticket logic

* tidy up order state by moving submit and transaction hooks out of deal ticket

* add comment for dialog styles

* remove decimal from price input

* add types package, delete old generated types from trading project

* rename types package to graphql

* update generate command to point to correct locations

* fix use order submit test

* BDD and navigation tests passing

* Remove commented steps

* Steps up to placing order

* Date picker and date-fns update

* Vega connector wallet tests

* Passing up to request sent, updated date picker

* Tests for sell orders and errors

* Update market feature

* Fix failing tests

* Update wallet login

* Readded tx hash assertion and remaining tests

* Add CI wallet import

* Update .github/workflows/cypress.yml

Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>

* Resolved PR comments

* Fix yaml error

* Attempt to fix failing tests in CI

* Run Cypress in Chrome

* Add reload if public key error displayed

* Fix wallet name

* Add force click and waits

* Increase timeout for deal ticket page

* Removed network list from yaml and using input error id

* Increase timeout to 8 seconds

* Re add deleted test id

Co-authored-by: Matthew Russell <mattrussell36@gmail.com>
Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>
2022-04-04 16:11:27 +01:00
Sam Keen
8fd1d00474
Named 'hasError' prop explicitly on import, avoiding being in the rest properties (#204) 2022-04-04 15:06:12 +01:00
sam-keen
4d13b2f3d4 frontend-monorepo-200 Search input has rounded edges on (some?) iOS versions 2022-04-04 11:21:10 +01:00
Dexter
3aabb0facf fix incorrectly rendering indicators statuses 2022-04-04 09:22:49 +01:00
Dexter
bb0cf7f575 unify intents based on configured tailwind intents 2022-04-04 09:22:49 +01:00
Dexter
a3951016d0 address pr comments 2022-04-04 09:22:49 +01:00
Dexter
c4e6450290 reuse vairant logic 2022-04-04 09:22:49 +01:00
Dexter
9c3957caa3 move card and indicator into UI toolkit 2022-04-04 09:22:49 +01:00
Matthew Russell
15551b65e5
Feat/83 switching vega key (#156)
* add manage dialog to wallet lib, add it to trading app

* add test for wallet button

* add tests for manage dialog

* move tooltip to ui-toolkit, add copy with tooltip component for manage dialog

* add better labelling

* add tooltip story

* add story for copy-with-tooltip

* add tests for tooltip and copy-with-tooltip

* move useFakeTimers call to beforeAll

* adjust design of manage dialog

* fix linting issues
2022-03-31 10:16:30 -07:00
sam-keen
b6df83ede8 Resolved merge conflicts with master, reduced warnings 2022-03-31 14:20:36 +01:00
Matthew Russell
4899d1bce8
Task/Mark translations (#174)
* add dummy i18n translate function to market text that will need translation in future

* add i18n function to aria-labels
2022-03-30 18:08:25 -07:00
Bartłomiej Głownia
7af0efa8d8 Enable @typescript-eslint/consistent-type-imports eslint rule 2022-03-30 13:05:41 +02:00
sam-keen
95e846d6af Added theme switcher and tweaked header to accommodate 2022-03-30 10:54:13 +01:00
Matthew Russell
858bd372d2 prevent positions table if not party id provided, handle no data in async renderer 2022-03-29 17:01:34 -07:00
Matthew Russell
3f62c79f8d colocate querys with libs 2022-03-29 15:52:51 -07:00
Sam Keen
7e3e098ae4
Feat/76 Use UI toolkit components for 'jump to block' (#147)
* frontend-monorepo-76 Use UI toolkit components for 'jump to block'

* frontend-monorepo-76 Use UI toolkit components for 'go to party'

* Added reusable component for 'jump to block' and 'go to party'
2022-03-29 19:08:33 +01:00
Dexter Edwards
c5788fa1cf
Feat/122 next previous buttons (#131)
* fix use fetch hook

* add next/previous buttons

* disable the button if the block is 1

* prevent slow fetches from overriding data

* move splash loader into UI toolkit

* remove splash loader

* remove splash

* remove pointless component

* add tests for blocks page

* fix jump to party

* merge updates

* address PR comments
2022-03-29 14:30:23 +01:00
Bartłomiej Głownia
73e778de34
Merge pull request #114 from vegaprotocol/feature/29-market-list-table-improvments
Feature/29 market list table improvments
2022-03-28 09:20:57 +02:00
sam-keen
bf2ff8af53 Merge remote-tracking branch 'origin/master' into feat/75-link-like-button 2022-03-25 16:50:01 +00:00
Bartłomiej Głownia
ddb0681fb5
Merge branch 'master' into feature/29-market-list-table-improvments 2022-03-25 15:31:49 +01:00
sam-keen
a38971c3da Added Alpha Lyrae support for ui-toolkit 2022-03-25 12:58:23 +00:00
sam-keen
9b4a41be07 Merge remote-tracking branch 'origin/master' into feat/75-link-like-button 2022-03-25 11:12:01 +00:00
Matthew Russell
ed8db76af7
Task/AgGrid and responsive nav font size (#130)
* add custom properties to style ag grid tables

* use theme styles, make nav text sizes responsive

* move row and header heights to parent

* use max-w-full
2022-03-24 11:08:57 -07:00
Bartłomiej Głownia
4698e532c1 Use data markets data provider instead of use-markets hook 2022-03-24 14:29:12 +01:00
Bartłomiej Głownia
2c28c9dd2d Test ag-grid optimization approach 2022-03-24 14:27:00 +01:00
Sam Keen
05d53bbf4c
106 - migrate mainnet stats to monorepo (#107)
* Initial commit of generated mainnet-stats directory

* Migration partly complete

* Migration complete

* Vega logo now in ui toolkit

* Specified a port that stops conflicts with other e2e tests

* Extra config for swapping to port that stops conflicts with other e2e tests. Also file name case change

* Adding the Cypress project ID to allow recording

* fix test

* Mainnet stats manager moved into library

* Mainnet stats project now importing manager element from lib

* Block Explorer has mainnet stats on home route

* Styling tweak to stop mainnet stats tables trying to match heights

* Spacing alignment tweaks

* Changing header text and tests to align with other branches

* Correct header test for mainnet-stats app

* Correct h3 test for mainnet-stats app

* Fix linting issue

* fix casing issue for CI

* Corrected mistake in merge

Co-authored-by: Dexter <dexter.edwards93@gmail.com>
2022-03-23 17:40:15 +00:00
sam-keen
61f8662323 Improved how button classes are applied 2022-03-23 15:48:50 +00:00
Dexter Edwards
ae37f76b1c
Search implementation (#97)
* make titles look prettier

* link to parties from transactions table

* render what data is found conditionally

* more syntax highlighting

* re-jig file orders

* remove footer component for now

* add subheading component

* adjust column layout

* Style up header

* enable ligatures

* change env files

* fix error if data is null

* show governance header even if there is no data

* remove dead css

* add dark theme for block explorer

* use memo on parties submit

* remove some css from header

* basic search implementation

* allow passing classNames to form group

* add tests for form group

* add form-grpup stories

* bad rebase fixes

* add link

* tidy up tests

* fix tests

* tidy up env files

* final test fixes

* switch order of classes

* fix test id

* force build for testing

* rename file for linting

* add tests for header component

* rename export

* input error tests

* use descriptive function names as per PR comment

* fix casing issue for CI

* handle empty state

* make query easier to understand
2022-03-23 09:57:51 +00:00
sam-keen
bbdc1c6e08 Used link-like button in block explorer 2022-03-22 15:39:56 +00:00
sam-keen
1e5f72ebcc Created a button that looks like an inline-link 2022-03-22 15:25:45 +00:00
sam-keen
37cde5fb74 frontend-monorepo-100 Allow Lozenge component to accept props i.e. data-testid 2022-03-18 16:40:55 +00:00
Sam Keen
514b30bebd
Merge branch 'master' into feat/40-tx-styling 2022-03-18 14:55:43 +00:00
Matthew Russell
313e6e1217
Feat/63 Deal ticket (#82)
* scaffold dealticket package, remove trading views from react-helpers

* add deal ticket component, add intent utils, expand dialog and form group styles

* add splash component, show market not found message if market doesnt exist

* tidy up error handling

* add handleError method for vega tx hook

* add better testname for provider test, flesh out tests a bit more for deal ticket

* Add unit tests for useVegaTransaction and useOrderSubmit hooks

* add wrapper component for order dialog styles

* add vega styled loader to ui toolkit and use in order dialog

* add title prop to order dialog

* split limit and market tickets into own files

* add button radio component

* revert dialog styles

* move splash component to ui-toolkit, add story

* convert intent to enum

* Make button always type=button unless type prop is passed

* inline filter logic for tif selector

* add date-fns, add datetime to helpers

* add order types to wallet package, make price undefined if order type is market

* use enums in deal ticket logic

* tidy up order state by moving submit and transaction hooks out of deal ticket

* add comment for dialog styles

* remove decimal from price input

* add types package, delete old generated types from trading project

* rename types package to graphql

* update generate command to point to correct locations

* fix use order submit test

* use intent shadow helper

* remove date-fns and format manually, update submit button error to use input-error

* remove stray console.log
2022-03-17 12:35:46 -07:00
sam-keen
001848fc78 Used lozenge for txs 2022-03-16 14:58:16 +00:00
sam-keen
a51a04c97b Added a lozenge to the ui toolkit 2022-03-16 12:57:24 +00:00
Bartłomiej Głownia
8a829964be
Feature/38 data grid component (#77)
* Add ag-grid

* Add lazy loaded ag-grid component

* Add theme context, move VegaWallet to separate lib

* Fix trading app cypress configuration

* Lazy load ag-grid theme css files

* Encapsulate theme switch hook
2022-03-14 14:18:11 +01:00
Matthew Russell
f10cdf491d fix dark light colors of dialog 2022-03-10 20:51:05 -08:00
Matthew Russell
847d51e060 use components from ui-toolkit, add form-group, adjust input widths 2022-03-10 20:51:05 -08:00
Matthew Russell
77214d5427 further styling 2022-03-10 20:51:05 -08:00
Matthew Russell
0b3bf269b6 tidy styles and tailwind config 2022-03-10 20:51:05 -08:00
Matthew Russell
cb465ae37b make dialog use tailwind 2022-03-10 20:51:05 -08:00
Matthew Russell
bd77e15092 properly set up storage lib 2022-03-10 20:51:05 -08:00
Matthew Russell
fba3101753 refactor so that consuming app chooses to render modal and what connectors to use 2022-03-10 20:51:05 -08:00
Matthew Russell
ff24a4a3ba add dialog to ui-toolkit, add functionality to provider to render connect dialog and connectors ui 2022-03-10 20:51:05 -08:00
Bartłomiej Głownia
ebbd50edf3 Setup dark and light theme in trading app 2022-03-09 16:09:17 -08:00
Bartłomiej Głownia
e8a795461d Add theme switcher component 2022-03-09 16:09:17 -08:00
Bartłomiej Głownia
16cef1ec06 Base level components fixes after code review 2022-03-08 15:51:14 +01:00
Matthew Russell
18dc14dca2 remove unused code 2022-03-07 13:57:06 -08:00
Matthew Russell
6df206e411 add varnames for padding values for button and input 2022-03-07 13:57:06 -08:00
Matthew Russell
91e4c2a385 make inputError kebab-case 2022-03-07 13:57:06 -08:00
Matthew Russell
9eb75d33c9 delete old unused styles 2022-03-07 13:57:06 -08:00
Matthew Russell
58cb3514f5 remove superfluous g tag 2022-03-07 13:57:06 -08:00
Matthew Russell
ca74b48be9 fix incorrect type used for select attributes 2022-03-07 13:57:06 -08:00
Matthew Russell
6ba41f4345 rename textarea to use kebab case 2022-03-07 13:57:06 -08:00
Matthew Russell
ac3e10a0a4 fix spelling typo in button props destructuring 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
682ea8b0ab Add white anfd black palette 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
33284da828 Improve props handling and types in components 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
20a053a4f5 Adjust ui-toolkit colors 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
809d136994 Fix nav accent padding 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
f4a8aaaf23 Use only black and white rgba colors 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
d9444e9aef Add nav buttons 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
0e9a3c37c5 Add icon to button 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
3f490f03ca Add icon to input 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
e5f96448fc Add Icon component, use Icon in InputError 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
e2f0f61817 Add InputError component 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
cc084cb247 Improve input props handling 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
6a65299918 Add select component 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
1f91ebe86f Add textarea component 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
cdb5856983 Add button component 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
6c04475d82 Add colors and typography stories 2022-03-07 13:57:06 -08:00
Bartłomiej Głownia
290f5c68ad Extract tailwindcss config to libs 2022-02-23 16:29:07 -08:00
Bartłomiej Głownia
30761f2b9d Setup tailwind.css 2022-02-23 16:29:07 -08:00
Bartłomiej Głownia
7567047e51 Use CSS Modules 2022-02-23 16:29:07 -08:00
Bartłomiej Głownia
8a09f57bd4 Fix build and lint errors 2022-02-14 17:16:21 +01:00
Bartłomiej Głownia
b2eeaa338a nx format 2022-02-11 15:49:45 +01:00
Bartłomiej Głownia
355de1a32f Create a Mono-repo for DeFiUI + ui toolkit using nx 2022-02-11 15:02:11 +01:00
Bartłomiej Głownia
1244d1be80 move all files to libs/ui-toolkit 2022-02-11 13:18:34 +01:00