Commit Graph

1224 Commits

Author SHA1 Message Date
m.ray
d03e4cf785
Feat/300 network parameters table (#333)
* network parameters table with key value rows and syntax blobs only for json values

* inline row not for syntax

* add unit test for network param table

* add cypress test to verify if values are non-empty

* remove some comments

* rename formatNumber method to addDecimalsFormatNumber and simplify formatNumber

* remove duplicate expect line

* use AsyncRenderer and sort params asc

* refactor and add extra tests to check ordering and loading cases

* format big number params with addDecimals formatNumber

* Update apps/explorer/src/app/routes/network-parameters/network-parameters.tsx

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

* capitalize and refactor tests

* missing ; caused formatting to fail

Co-authored-by: madalinaraicu <“madalina@raygroup.uk”>
Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>
2022-05-04 18:15:54 +03:00
Matthew Russell
1d8de701c9
Use types from web3-react library
export connectors to avoid needless data manipulation, use built in types from web3-react (#310)
2022-05-02 13:16:57 -04:00
m.ray
bd3268adf0
Feat/258 move key value table into monorepo (#320)
* move key-value-table to ui-toolkit and use tailwind

* add key-value-table to storybook

* override border width 1px from the styles of the app, remove td and th from children

* clone muted and numerical props to children elements

* proposal change table remove empty lines

* add Roboto mono to font-mono tailwind config

* remove labels and labelfor

* revert change on token-details-circulating

* export the whole components directory rather than explicitly individual components

* add classNames, add formatNumberPercentage, remove spans, add span in token details circulating

* data-testid=governance-proposal-enactmentDate and use span instead of div

* use custom spacing defined in tailwind & another README.md update for running cypress in watch mode

* update divs to span within the vesting table

* Update README.md

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

* borders and text visible on both dark and light themes

* add headingLevel and use dl instead of tables

* update styling for dl inline

* remove added grey from tailwind

* ignore md files

Co-authored-by: madalinaraicu <“madalina@raygroup.uk”>
Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>
2022-04-29 16:27:20 +03:00
Matthew Russell
3af4e354cd
Mock accounts for trading page (#311)
* move accounts and positions into own feature, add mock for accounts

* use length for expected number of columns

* combine trading feature tests into single trading-page.feature

* add orders scenario for trading page

* fix typo

* move related test cases for orders together
2022-04-29 14:24:15 +01:00
Sam Keen
2b910aa04c
Feat/272 syntax highlighter from explorer to ui-toolkit and feat/216 added light theme and feat/283 add to token (#286)
* Moved syntax highlighter from explorer to ui-toolkit

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

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

* Added a light theme for syntax highlighter, added the styling for syntax highlighter to our custom classes

* Suboptimal but successful way of ensuring styling is applied to syntax highlighter

* Styling syntax highlighter with scss

* Fix failing test

* Back to applying styling via custom plugin, but with a wrapper on the syntax highlighter ensuring Tailwind doesn't cull the classes

* Preferred class name

* prettier formatting

Co-authored-by: Dexter Edwards <dexter.edwards93@gmail.com>
Co-authored-by: Joe <joe@vega.xyz>
2022-04-29 10:46:31 +01:00
Joe Tsang
448e0ec78f
Test/294 orders list (#301)
* Order mocks generated

* Tests passing with orders
2022-04-27 10:22:37 -07:00
Matthew Russell
29cd7dd2e4
Feat/104 withdraws (#263)
* add withdraw page

* add create page and withdraws lib with basic components

* add create withdrawal functionality, add withdrawal dialog

* re arrange pages so we have a pending page with a list of withdrawals and a withdraw page with the form

* handle withdrawal completion

* add withdraw dialog so withdraw is completed in one flow

* rename and arrange prop getter function to avoid use of any

* tidy up and make eth transaction and vega transaction hooks follow similar patterns

* make complete withdraw hook fetch approval, combine hooks for full flow

* delete unused file

* add accounts to query to get use max withdraw button

* use ag grid fro withdrawals list

* format amount in grid

* ensure party has id field for cache

* update to use t i18n function

* change complete status to better match values of WithdrawalStatus

* add asset lib file for type guard

* share queries for withdraws lib

* move web3 related hooks to the web3 lib and make web3 lib buildable

* add unit test for use-complete-withdraw

* add test for use-withdraw

* add e2e scenarios for withdrawals

* don render custom no withdrawals message and use ag grid prop

* make withdraw form take ethereum account as prop

* add test config, update withdraw form to handle min/max amounts, add unit test for withdraw form

* fix rendering 0 if not pending withdrawals

* use controlled component for select box

* tidy up async parts of tests, add test for withdraw-manager

* update withdraw dialog to use map for different tx states

* add fallback etherscan link, add test for withdraw-dialog.spec.tsx

* rename erc20 query in token app, change page structure to /withdraw and /withdrawals

* change linked vegawallet-service-api-client to newly published version

* ignore not implemented withdrawals e2e tests

* make vega tx pending and requested states the same, for now, until tx confirmation work is done

* Add some unit tests for determine-ids and remove0x

Neither are critical, but both are libs expected to be shared between
projects so some unit tests will hopefully ensure projects all have the
same expectations about how the functions act.

- Add 1 determine-ids test
- Add a few remove-0x tests
- Update determine-ids to use remove-0x
- Add a comment describing why i18n is what it is

* modify cache with client only field for tracking foreign chain progress

* move withdrawals-list to lib, add useWithdrawals hook

* add container component for withdrawals page

* add unit tests for withdrawals-table

* add some tests for use-withdrawals hook

* revert changes to generated files in other libs and apps

* update withdrawals scenarios

* resolve pr comments

* update page containers to use render prop rather than children

* delete unused files

* remove transaction dialog story

Co-authored-by: Ditmir-Vega <ditmir@vega.xyz>
Co-authored-by: Edd <edd@vega.xyz>
2022-04-26 19:51:39 -07:00
Matthew Russell
5134df02b5
Fix/268 Overflow error text (#299)
* add break word for transaction dialog error state, add stories for transaction-dialog

* update story text to be more explanatory
2022-04-26 18:48:29 -07:00
Bartłomiej Głownia
d0ec016adc
Feature/151 orderbook (#266)
* [#151] Add orderbook

* [#151] Add orderbook components

* [#151] Add market-depth data provider

* [#151] Add orderbook manager

* [#151] handle market depth updates in orderbook manager

* [#151] Fix PageQueryContainer usage of AsyncRenderer

* [#151] Move data handling logig out from orderbook manager

* [#151] Use mocked data, fix data issues

* [#151] Add compact order book data unit tests

* [#151] Add updateData unit tests

* [#151] Add updateCompactedData unit tests

* [#151] update cummulative vol on update, move data ref handling from effect to manager

* [#151] Update cummulative vol on update, fixes

* [#151] Optimieze orderbook ag-grid render

* [#151] Replace ag-grid with orderbook component

* [#151] Use react memo to optimize orderbook rendering

* [#151] Fix cummulative vol computation on compacted data update

* [#151] Add resolution controls

* [#151] Fix cumulative spelling mistake

* [#151] Use number instead of string for cumulative values

* [#151] Expose restart callback in useDataProvider hook

* [#151] Update empty cumulative values

* [#151] Add horizontal line under header in orderbook

* [#151] reuse orderbook data in market-depth chart

* [#151] restart market depth provider on sequenceNumber gap

* [#151] use throttle in orderbook and depth-chart

* [#151] Add comments, refactor data functions

* [#151] Add comments, refactor data functions

* [#151] move orderbook and depth-chart libs to market-depth
2022-04-26 17:26:28 +02:00
Joe Tsang
cd343cc1fe
UI test for positions table (#290)
* Positions test passing with mocks

* Update position mocks with changes

* Use Cypress env for public key in mock
2022-04-26 14:20:31 +01:00
John Walley
ba19b5acca
Candle/depth chart switcher (#284) 2022-04-25 10:34:07 -07:00
Bartłomiej Głownia
2cdf349641
Limit number of warnings in tests (#298) 2022-04-25 17:33:49 +01:00
Sam Keen
3354fbb0c2
frontend-monorepo-267 Reduce total staked to 2 decimal precision (#282)
* frontend-monorepo-267 Reduce total staked to 2 decimal precision

* Tweak to formatNumber to allow fixed decimal specificity

* Setting default value for the 'defaultPrecision' argument in the function signature of 'addDecimal'
2022-04-25 15:28:31 +01:00
Dexter Edwards
ce5d7bc15b
run nx format (#295) 2022-04-25 15:03:58 +01:00
Matthew Russell
037108b4d7
dont capitalize deterministic id as change is being made in data-node (#293) 2022-04-25 14:39:09 +01:00
Matthew Russell
899277e6d4
Fixes for workflows (#291)
* change to setting envars rather than passing in via CLI

* update nx to latest patch version

* add env files for token-e2e, fix lint and ts errors

* move generate functions to mocs for trading e2e to avoid violating boundary rules

* add jsx compiler option for trading-e2e

* downgrade nextjs

* add testing-library to types declaration where required
2022-04-22 17:51:18 -07:00
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
Joe Tsang
753cff95b9
Test/249 convert js files to ts (#255)
* Explorer-e2e files changed to ts

* Files on trading app converted

* Fix type error and update Cypress

* Remove Jquery type

* Update Cypress version in package.json
2022-04-14 09:33:20 +01:00
Joe Tsang
7aea742677
Test added for stats page (#199)
* Test added for stats page

* Removed implicit waits

* Switch to use Cypress env

* Fix lint error
2022-04-13 09:31:23 +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
Dexter Edwards
04669bf9ad
Fix/213 total staked not showing (#242)
* total staked should show

* format number correctly with the correct number of decimal places
2022-04-12 11:18:58 -07:00
Matthew Russell
04872522d6
Task/229 Stub api in trading e2e (#211)
* add fixture for markets query

* stub graphql requests

* re-add assertion for tx hash, stub command/sync requests

* refactor to get tests to run with trading page mocked queries

* add test wallet credentials

* split up markets page from trading page

* add portfolio page feature, add market page scenarios

* move hasOperationName helper to support/index

* fix home-page.feature

* fix missing feature step

* Minor changes to BDD steps

* Use in object syntax to get better type safety on hasOperationName helper function

* remove bypass placing orders env var and usage in tests

* use UI_Trading_Test wallet publick key in command/sync mock

* move public key to cypress env

* replace fixtures with generator functions

* colocate query generators with queries

* add custom commands, add index files

* fix dodgy merge, remove duplicate market page feature

* make tsconfig for cypress lib match

* update tsconfig for explorer e2e so commands using merge work

* revert trading step to js

Co-authored-by: Joe <joe@vega.xyz>
2022-04-12 12:04:26 +01:00
Sam Keen
c588745819
Fix/233 Improved input legibility for placeholder and typed text (#236) 2022-04-11 17:02:16 -07:00
John Walley
f721a21d0f
Feat/129 pennant chart (#214)
* initial commit for adding chartt lib with pennant chart

* add pennant package, fix dynamic import of chart

* use updated pennant library

* Create separate chart and depth-chart libs

* Remove leftover generated files

* Use more targeted queries and subscriptions

* Fix jestConfig value for depth-chart

* Add jest-canvas-mock

* Refactor updateDepthUpdate function

* Add updateDpethUpdate test

* Add jest-canvas-mock to chart tests

* Avoid using any type in test

* Use correct casing for gql queries and subscriptions

* Make ButtonRadio generic in option value type

* Add padding and margin to chart container

* Remove unused subscriptions and methods from data source

* Use correct React imports

Co-authored-by: Matthew Russell <mattrussell36@gmail.com>
2022-04-08 10:49:45 -07:00
Matthew Russell
dbd0514515
Fix/177 add check for gridref.current.api before using methods (#215) 2022-04-07 15:27:34 -07:00
Matthew Russell
98c1fc82f7
Feat/152 Trade list MVP (#217)
* add trades lib with data provider

* add trades table and cell color logic

* ensure we only show last 50 rows

* add test for table columns and formatting

* update trades table to get cells using col-id

* fix linting

* use default function param for fetchpolicy
2022-04-07 06:41:57 -07:00
Bartłomiej Głownia
c573349f68
[#185] Add accounts table (#193)
* [#185] Add accounts table

* [#185] Add summary row to accounts table
2022-04-06 10:48:05 -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
Sam Keen
69734471fd
frontend-monorepo-190 Add env vars details to stats readme (#202) 2022-04-06 13:19:48 +01: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
Matthew Russell
018e5fe139
Task/33 add sentry to trading (#189)
* add sentry setup, add VEGA_ENV to env files

* rename custom error page

* capture exception for eager connect

* add link to setup docs in comment

* add browser tracing plugin

* define sentry auth token once

* enable sourcemaps on build

* use correct sentry config property
2022-04-04 12:45:40 -07:00
Joe Tsang
a459793f09
Task/Updated tests to pass when there are no transactions (#145)
* Updated tests to pass when there are no txs

* Add slack command to send messages to slack

* Re add library for Cypress

* Resolved PR comments

* Added TODOs for clarity

* Increase wait for block to update

* Increase to 3 seconds

Co-authored-by: Matthew Russell <mattrussell36@gmail.com>
2022-04-04 18:20:33 +01: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
ea89acf44e fix lint errors 2022-04-04 09:22:49 +01:00
Dexter
89921e995a use components in netowrk stats 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
Bartłomiej Głownia
8424dc718d
[#128] Use native ag-grid sort instead on useMemo (#178)
* [#128] Use native ag-grid sort instead on useMemo

* [#128] Add secondary sort on positions table - order by instrument name, market id
2022-03-31 09:14:16 -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
sam-keen
80902e3c30 Added custom module for classes that aren't in Tailwind - allows us to use contextual alternates for Alpha Lyrae 2022-03-30 16:56:48 +01: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
4f15851103 update order-list lib so it behaves the same as positions and requires a partyId 2022-03-29 17:19:41 -07: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
3394050f76 update types in submit button to use global types 2022-03-29 16:21:57 -07:00
Matthew Russell
d3d28947ea tidy up deal ticket query and market page query 2022-03-29 16:19:23 -07:00
Matthew Russell
edce1c7869 rename graphql dir to types 2022-03-29 16:03:27 -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
Bartłomiej Głownia
9c42f54331 [#128] Fix type issues 2022-03-29 19:31:00 +02:00
Bartłomiej Głownia
444f1b6584 [#128] Capitalize types in position queries 2022-03-29 19:13:01 +02:00
Bartłomiej Głownia
fe29e86c74 [#128] Add market data details to positions query 2022-03-29 19:13:00 +02:00
Bartłomiej Głownia
043c733185 [#108] Add more positions-table unit tests 2022-03-29 19:13:00 +02:00
Bartłomiej Głownia
a68bce9ed1 [#108] replace assign-deep with loadash/merge 2022-03-29 19:13:00 +02:00
Bartłomiej Głownia
7e74615bf6 [#128] fix MarketData cache issue, add default cachePolicy to data provider 2022-03-29 19:13:00 +02:00
Bartłomiej Głownia
7ba74eeafd [#128] generic data provider improvments 2022-03-29 19:13:00 +02:00
Bartłomiej Głownia
e3a1142579 [#128] Add variales handling in data provider 2022-03-29 19:13:00 +02:00
Bartłomiej Głownia
aec5d54820 [#128] add <Positions/> component to trade-grid, add useDataProvider hook 2022-03-29 19:12:45 +02:00
Bartłomiej Głownia
7f1632d44d [#128] add <PositionsTable/> component 2022-03-29 18:57:13 +02:00
Bartłomiej Głownia
936ed3f9e7 [#128] Add positions data provider 2022-03-29 18:57:13 +02:00
Bartłomiej Głownia
95f66ccd9b [#128] Make market data provider generic 2022-03-29 18:57:10 +02:00
Bartłomiej Głownia
30c990bb3e #128 Add positions library 2022-03-29 18:55:41 +02: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
Sam Keen
47e703c558
Merge pull request #149 from vegaprotocol/feat/113-stats-use-theme-switch-hook-and-ui
Feat/113 stats use theme switch hook and UI
2022-03-29 12:49:05 +01:00
Matthew Russell
d4652b3dd8
Task/Strict mode enabled for trading app (#150)
* enable strict mode and fix resulting type errors

* fix print affected command

* remove assign-deep and use lodash/merge, fix some type errors after enabling strict mode
2022-03-28 12:34:45 -07: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
sam-keen
1d2db41e92 Added new shared theme switcher into stats project 2022-03-25 16:47:28 +00:00
sam-keen
e308a923c2 Moved the theme switcher hook into a shared lib 2022-03-25 16:45:12 +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
Edd
fe12b45039
Merge pull request #146 from vegaprotocol/feat/110-ui-toolkit-alpha-lyrae
Feat/110 UI toolkit alpha lyrae support
2022-03-25 13:53:02 +00:00
sam-keen
a38971c3da Added Alpha Lyrae support for ui-toolkit 2022-03-25 12:58:23 +00:00
Edd
23a3c8fdd3
Merge pull request #132 from vegaprotocol/feat/127-generalised-stats-page
frontend-monorepo-127 Generalize stats page to work for all environments
2022-03-25 11:43:35 +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
8e9c2e4080
Feat/105 Web3 Setup (#119)
* add deposit page

* 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

* remove .env file for now, will complete as own ticket

* 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

* remove fallback to testnet for apollo client creation

* make web3container enforce connection before rendering childen

* move infura id to env var
2022-03-25 00:44:10 -07:00
Matthew Russell
0af568dada
Fix/Clear active public key from local storage after disconnect 2022-03-25 00:43:49 -07: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
sam-keen
e2a61d26ad Proper way to get environment variables, and hoisted obtaining the env vars to the consumer of the stats manager 2022-03-24 14:58:24 +00:00
Bartłomiej Głownia
afd82a8e45 Revert useApplyGridTransaction changes 2022-03-24 14:52:33 +01:00
Bartłomiej Głownia
1db7919875 Code style fixes 2022-03-24 14:29:51 +01:00
Bartłomiej Głownia
f2e297ce39 Cleaup after use-markets hook 2022-03-24 14:29:49 +01: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
Bartłomiej Głownia
8b57f6fdb1 Fix RTL warnings 2022-03-24 14:24:12 +01:00
Bartłomiej Głownia
15a7887351 Fix 0 handling in PriceCell 2022-03-24 14:23:31 +01:00
Bartłomiej Głownia
319d3adf23 Unmount singleton hook if no consumers left 2022-03-24 14:22:46 +01:00
sam-keen
af5832fa9e Merge remote-tracking branch 'origin/master' into feat/127-generalised-stats-page
# Conflicts:
#	apps/stats/jest.config.js
#	libs/network-stats/src/config/types.ts
#	tsconfig.base.json
#	workspace.json
2022-03-24 12:21:44 +00:00
sam-keen
5d6147ec7e frontend-monorepo-127 Generalize stats page to work for all environments 2022-03-24 12:04:01 +00:00
Matthew Russell
6ad2a7676e
Feat/84 Order list (#89)
* 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

* add button radio component

* revert dialog styles

* move splash component to ui-toolkit, add story

* convert intent to enum

* add date-fns, add datetime to helpers

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

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

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

* rename types package to graphql

* add order list container and order list component

* add test setup for useOrders

* add test for use-orders hook

* tidy unnecessary diff

* regen types and use them in order-list, also change to use applytransaction hook for orderlist grid

* make order table columns resizable

* make market table not have highlightable cells, use splash for orders errors and loading states, unit test for orderlist container

* add tests for order list table

* show rejection reason and expires at depending on status and tif

* add decimal places to query

* only update row if data has changed, add test coverage

* add setup tests file to avoid importing jest-dom for every test, add async-renderer component to handle fetch ui logic

* install all of lodash but import individually to get tree shaking

* add setup tests file for orderlist package

* add missing fields to use orders spec mock order

* fix act warnings in index page test

* fix casing of app import

* remove react-singleton-hook, simplify side formatting

* fix linting errors
2022-03-23 12:08:10 -07: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
Matthew Russell
9ced1ce0fd
Fix/format price in order confirmation dialog (#102) 2022-03-22 11:18:50 -07: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
Matthew Russell
4355907c52
Fix/Set initially selected pubkey after connect (#96)
* set initial public key after connection

* remove stray console.error
2022-03-19 18:31:44 -07: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
Bartłomiej Głownia
3e69e53c4e #29 Add market-list-table 2022-03-18 13:13:14 +01: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
1f1ce70a67 re add tsconfigs for storage package 2022-03-10 20:51:05 -08:00
Matthew Russell
69924aa0b3 Add connect diaglog tests convert storage to js to avoid ts issues with testing 2022-03-10 20:51:05 -08:00
Matthew Russell
f10cdf491d fix dark light colors of dialog 2022-03-10 20:51:05 -08:00
Matthew Russell
a47e4526bb fix vega connect button alignment 2022-03-10 20:51:05 -08:00
Matthew Russell
af2f05b778 remove input error from form and just use red text to avoid clash with the actual input errors 2022-03-10 20:51:05 -08:00
Matthew Russell
145e2558aa move connectors to own folder 2022-03-10 20:51:05 -08:00
Matthew Russell
74ac60fbfa fix jest setup for react helpers 2022-03-10 20:51:05 -08:00
Matthew Russell
fdc5e68158 tidy up storage keys in wallet provider 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
9bffb15c2a use compoments from ui-toolkit, minor style changes 2022-03-10 20:51:05 -08:00
Matthew Russell
fb1bd68aee increase spacing of input elements 2022-03-10 20:51:05 -08:00
Matthew Russell
4bcafea969 remove hard coded vega wallet auth values 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
e92e708cf1 add vega wallet manager component and re add current single pubkey to provider state 2022-03-10 20:51:05 -08:00
Matthew Russell
84af6177ad update eager connect hook and make app concerned with selected pubkey, refactor token to be stored as object 2022-03-10 20:51:05 -08:00
Matthew Russell
1e6900d147 handle session expired 2022-03-10 20:51:05 -08:00
Matthew Russell
bb485d5783 add useEagerConnect hook 2022-03-10 20:51:05 -08:00
Matthew Russell
a44b8538fa renew default api class after authentication 2022-03-10 20:51:05 -08:00
Matthew Russell
59d0beebe2 add current key selector, fix revoke token/disconnect 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
d7a004d2ee remove unused colors.js, and unused commented out code from the them 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
Matthew Russell
351cd77f84 move trading views to react helpers 2022-03-02 12:21:35 -08:00
Matthew Russell
375697a18a use bg colors from theme 2022-03-02 12:21:35 -08:00
Matthew Russell
6ee4a4da72 make navbar use tailwind, remove nx html 2022-02-23 18:08:31 -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