Giter Site home page Giter Site logo

goosefx1 / gfx-web-app Goto Github PK

View Code? Open in Web Editor NEW
29.0 29.0 17.0 87.38 MB

GooseFX - Your Solana DeFi Destination. Trade Perps, Earn Yield in SSL Pools, Stake GOFX & Get Rewarded

Home Page: https://app.goosefx.io

License: MIT License

Shell 0.01% JavaScript 65.58% TypeScript 6.81% CSS 10.79% HTML 16.75% Less 0.06%
defi react solana tailwind web3js

gfx-web-app's People

Contributors

agbanusi avatar bdcorps avatar blanedev avatar candidatek avatar clish254 avatar dannymanzano172 avatar deadeagle63 avatar dovahcrow avatar github-ahmedwasim avatar jordaaash avatar kirangoose avatar nak1998 avatar ronanyeah avatar shashank729 avatar tylerottoup avatar usgoose avatar valentinmadrid avatar walt-1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gfx-web-app's Issues

Error building from source

Input:

git clone https://github.com/GooseFX1/gfx-web-app.git
cd gfx-web-app
yarn --pure-lockfile
yarn start

Output:

Starting the development server...

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (/Users/jordan/gfx-web-app/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/Users/jordan/gfx-web-app/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/Users/jordan/gfx-web-app/node_modules/webpack/lib/NormalModule.js:471:10)
    at /Users/jordan/gfx-web-app/node_modules/webpack/lib/NormalModule.js:503:5
    at /Users/jordan/gfx-web-app/node_modules/webpack/lib/NormalModule.js:358:12
    at /Users/jordan/gfx-web-app/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/Users/jordan/gfx-web-app/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at iterateNormalLoaders (/Users/jordan/gfx-web-app/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
/Users/jordan/gfx-web-app/node_modules/react-scripts/scripts/start.js:19
  throw err;
  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (/Users/jordan/gfx-web-app/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/Users/jordan/gfx-web-app/node_modules/webpack/lib/NormalModule.js:417:16)
    at /Users/jordan/gfx-web-app/node_modules/webpack/lib/NormalModule.js:452:10
    at /Users/jordan/gfx-web-app/node_modules/webpack/lib/NormalModule.js:323:13
    at /Users/jordan/gfx-web-app/node_modules/loader-runner/lib/LoaderRunner.js:367:11
    at /Users/jordan/gfx-web-app/node_modules/loader-runner/lib/LoaderRunner.js:233:18
    at context.callback (/Users/jordan/gfx-web-app/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
    at /Users/jordan/gfx-web-app/node_modules/react-scripts/node_modules/babel-loader/lib/index.js:59:103 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v18.7.0
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Farming: parent container issues

The parent container of the content in the Farm page is currently taking up the entire page and has horizontal scrolling as a result of overflow in the list items.

Fix the container padding to match the figma mockups and remove horizontal scrolling within the container
Screen Shot 2022-01-17 at 1 19 16 PM

Crypto-trading - Orderbook functionality - Minimize bar on top of orderbook should not collapse the order form

Intent: Collapsing the order form is not in-line with normal user expectations when deciding to expand the order book. To keep behavior aligned, we do not want the order form to disappear when the user selects the button to expand the order book.

The default number of rows displayed in the order book is 10.
When a user clicks the expand button on the order book, that displayed rows count increases to 20.

Requirements:

  • When a user clicks the expand order book button, the form should not disappear.
  • The additional rows in the order book should be displayed at the bottom of the order book without moving the rest of the page components around.
  • If expanding to 20 rows cannot fit on the page by default, we will discuss other ways to handle it.

image
image

NFT Market: Remove Create NFT Preview Network Request

Currently, in the "create single nft" flow, when a user uploads a file, the preview image is firing a network request. This request errors out and prevents the preview to render. This is unneeded and should be removed.

See antd docs for info: https://ant.design/components/image/

Screen Shot 2022-01-31 at 10 58 01 AM

When the input fields are updated with an errored preview image, it will remove the error message. It is likely that removing the network request will fix this but make sure that it does not appear under any circumstance
Screen Shot 2022-01-31 at 10 58 21 AM

No tooltips
Screen Shot 2022-01-31 at 10 59 45 AM

No "eye" icon and no click events should fire on either preview image. The only action on the small preview should be the delete action
Screen Shot 2022-01-31 at 11 00 09 AM

Link to Docs on About Us

When you click on About, it should create a dropdown menu that has an item called, "Docs" and leads to https//docs.goosefx.io

image

NFT Market: Font consistency across components

There are several cases in the NFT market where the theme font 'Montserrat' is not being render in the UI. Go through all of the component styles and make sure that all styles are inheriting this font family

NFT Market: Deeplink to Single NFT support

The route for the NFTDetails and Sell component pages use an optional route param of :nftMintAddress. The component is currently not set up to read that route param and ensure that the component has the data it needs to render.

import { useParams } from 'react-router-dom'
const params = useParams<IAppParams>()
params.nftMintAddress

Create a useEffect hook that evaluates if the route param exists and the current context

if param "nftMintAddress" is present && general and nftMetadata === undefined, make a web3 call:
getParsedAccountByMint(nftMintAddress) then setGeneral() and setNftMetadata()

The component should only render the JSX if general and nftMetadata are defined.

A working solution should allow the user to paste in or reload the url "https:localhost:3000/NFTs/details/" and "https://localhost:300/NFTs/sell/" and see all the details data.

NFT Market: parent container issues

The parent container of the content in the NFT page is currently overflowing beyond the first fold of the page. It also does not have the proper dimensions of margin relative to the edges of the page viewport and the header.

Fix the container dimensions to match the figma mockups

Screen Shot 2022-01-17 at 4 39 28 PM

NFT Market: Collections v2 Design

Update the Collections page to match v2 designs.

The header does not need to collapse toggle. Keep it in expanded state.

Do not worry about data rendering or anything from the api that could be causing an issue. Just focus of layouts and use dummy data where needed.

Screen Shot 2022-02-04 at 12 39 20 PM

NFT Market: Single Cards Display

NFT Display - Image attached below - Collected NFT gallery is displaying images in NFTs in various sizes. We need to ensure the gallery view follows a strict grid, and images are the same size.

The current state does not enforce consistency of img dimension: see below
NFT_Created_gallery_display

Refer to the V2 designs to enforce a 190px by 190px. If the height exceeds 190, fill the width and let the image overflow down the y axis
Screen Shot 2022-02-03 at 12 28 17 PM

NFT Market: Profile Tabs

Currently "Created" tab is not reading from collected

  • Collected Tab should be changed to "Items"
  • Render icons on NFT cards in the Items tab based on props that are driven by data returned from the web3 call to the users wallet

Screen Shot 2022-02-01 at 10 57 49 AM

  • Create a click event on each card that opens a modal and displays all data for the selected nft
  • Use <NFTDetails mode="my-created-NFT" backUrl={backUrl} handleClickPrimaryButton={() => setVisible(true)} /> inside the modal. Currently, NFTDetails uses data from the NFTDetails Context but if a user creates an NFT that does not exist in our DB then there will be no id to fetch. This requires an optional data prop to be created where all of the nft data from the selected nft can be passed.
  • The deatils modal should contain a button that relocates to the "Sell NFT" page.

Screen Shot 2022-02-01 at 10 52 53 AM

Crypto-trading - Market Selector Drop-Down - Dropdown scrollbar on bottom should not be displayed

Description: Fix a display bug with the horizontal scroll bar showing up at the bottom of the market selector drop down on the crypto trading page.

Requirements:

  • When a user clicks the market selector drop down, the drop down should show the available market pairs without the extra horizontal scroll bar on the bottom.
  • The vertical scroll bar will need to be displayed still so the user can scroll up and down the market list.

image

Front End Work

Just to start @Jonathan-Multivurse:

  • Implement Synth Main page
  • Check Responsiveness/Bug Testing (by Oct 15)
  • Will revert back regarding the NFT front end

Wallet connect requires an additional click

Usually, a DeFi app requires the user to connect the wallet which involves 2 clicks: the first click on the "connect wallet" button in the top right corner, the second click for choosing the wallet. e.g. https://www.orca.so/

However, this is not the case in our current app: we need three clicks. We might need to change the source code for the library we used for wallet connect to remove the additional click.

Enhance Display Grid Synths

  • Add decimal places for higher priced assets
  • Number of digits on left of decimal for asset price = Number of decimals needed to display for amount and delta (4 decimal places)
  • Build logic around display decimals with higher prices

NFT Market: Sorts and Filters

  • Create logic for filtering nfts within of a collection
  • Create logic for filtering nfts within a user profile
  • remove live auctions tab from collections

NFT Display

Need to redesign NFT display view to make it better:

  1. Make the top menu collapsible

  2. Reduce the size/font of this header - it can be smaller box/text
    image

NFT Market: Footer Carousel has wrong dimensions

The footer carousel on the NFT page needs proper dimensions to account for its parents width while keeping the controls visible.

Currently, its width exceeds the boundaries of the page and the controls to scroll left and right are pushed outside the bounds of the page making them not visible or clickable.

Implement styles so that the carousel fits within the boundaries of its container so the controls are visible and clickable.

Farming - Improve collapse function

Currently, the farming pool details are only accessible by clicking the arrow. The pool details should collapse by clicking the whole row and not just the area containing the arrow.

Screen Shot 2022-02-01 at 11 54 26 AM

GeoRestriction

There is georestriction enabled from amplify in AWS.

Currently it is a domain level restriction for app.goosefx.io/

We do NOT need it currently for NFT store: https://app.goosefx.io/NFTs

Restriction should not be domain level and should be unique and only enabled for Synths, Crypto Trading, and Farming.

NFT Market: Profile Page v2 Desgin

Update the user profile header to match v2 design. Update the "Items" tab to say "My Collection"

Do not include the "Lend Borrow" button

Screen Shot 2022-02-04 at 1 08 44 PM

Main Nav: Navbar Height & Icon Dimensions

The navbar height is suppose to be 80px in height. Currently it is 96px

Additionally, the icons each have the incorrect height and width. Their heights should be 27px and their widths should be auto to prevent warping them.

The "Crypto" tab icon should be updated to match the latest comps

See screenshot below for correct outcome:
Screen Shot 2022-01-24 at 5 51 59 PM

Crypto-trading - Orderbook functionality - Clicking Amount column values should populate the order form

We want to enhance the order book functionality by allowing a user to click values in the amounts column and having those amounts prefill in the order form above.
Currently, clicking the price column values will auto populate the price in the order form. (that is the desired behavior for the amount column also)

Requirements:

  • When a user clicks the amount value in the order book, that same value should prefill the order form.
  • Clicking the amount column values, should not change the price value in the order form.
  • Clicking the price column values, should not change the amount column values in the order form.

image

NFT Market: Home Page

Refer to the V2 layout for home page

Update the current home page layout to use NFT Marketplace (UI.UX) 2.0

The api for floor and volume have not been created so just use the current data being returned by /all-collections endpoint.

Use dummy data for price value but use title and profile_pic_link from returned data.

Crypto Trading Slider does not recalculate

input from user -
When I try to move slider to change the price, it doesn't recalculate. I have to click on "Total" field to recalculate correctly.

But if I click on "Size", "Limit Price", My "total" field and slider gets their previous position

github issue 1
github issue 2

NFT Market: Global Quicksearch

For the global search, use the data in allCollections within the collections context data source. This feature essentially will be a filter on all collections via the search input.

If focus is brought to the searchbar and there is no characters input, display an empty results box with "Start typing to search collections"

If there is one or more characters typed in the searchbar, fill in the results with a maximum of 5 collections.

If there are no results, display a message in the box that says "No results found"

See image below for reference. See Figma designs for more details as needed
Screen Shot 2022-02-11 at 12 14 04 AM

NFT Market: Home Page Banner Expand/Collapse

The Home page of the NFT Market has a banner that defaults to being expanded but optionally has a button to collapse it. Currently that button is not active and the banner cannot collapse.

A toggle function needs to be attached to the chevron below the image to activate expand and collapse. The text and call-to-action button need to change their size and position for the collapsed state. See image below

Screen Shot 2022-01-24 at 11 32 07 AM

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.