GithubHelp home page GithubHelp logo

od-gov-proposal-app's Introduction

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

od-gov-proposal-app's People

Contributors

sebidelamata avatar alekseevaiana avatar pi0neerpat avatar

Watchers

 avatar daopunk avatar

Forkers

hai-on-op

od-gov-proposal-app's Issues

QA Proposal Details

Proposal Details

od-gov-proposal

  • Overall- reduce the amount of white space, use consistent font-sizes and heading text.
  • left-align text
  • Remove large blue bar under section headings headings
  • Remove box border for "Decoded Arguments" and move to bottom of list

QA Footer

  • Page height 100vh
  • Use our page loading animation
    image

QA: Header

image

  • Remove home icon. Open Dollar icon should be used instead to take the user "home" (eg. /)
  • The header width should be the same width as the page content. Currently everything is bunched up together
  • "Pending Proposals are..." button should just be text below the page title and use an <a> tag for text "Github".
  • Delete the "Proposals" heading, since the sub-headings below are sufficient

Preventing proposal page fail

After clicking on Proposal there is an error fetching data

  • Create delay between requests
  • Make sure error appears without crashing the page

QA: Cleanup

Data loading

  • Content should not move. Should be left-aligned
  • Show a few react-loading-skeleton rows for each section: pending, and submitted
    image

Governance Proposal App - Scoping

Web2

Web3

  • Use a popular web3 library for wallet connections
  • Use Ethers for RPC calls
  • Should accept an environment variable to load data when the wallet is not connected.

Data

User Experience

  • Display a table of all proposals fetched from Github
  • Relevant info to show is: ProposalType, description, ProposallId (only the first 9 characters), calldatas, targets, values, and status (eg. "Submitted" or "Unsubmitted")
  • If a proposal has not yet been submitted, the "PROPOSE" button should be enabled
  • If a user clicks "PROPOSE", prompt to connect their wallet, and trigger the transaction.

Transaction Details

The only transaction needed is to make a proposal

Bonus stretch-goals

Not necessary, but nice-to-haves for the project:

  • Show the user's voting power ProtocolToken.getVotes(), compared to the current voting threshold OdGovernor.proposalThreshold()

Notes

  • Proposals which have not yet been submitted to governance will return an error
    image

QA: Footer

image

  • Footer should have a background color to separate it from page content
  • Make more consistent with our od-app footer
  • All links should be updated

QA: Proposal row

Unsubmitted proposals

image

  • Move propsal ID to the top of the row, followed by the description
  • Remove "Update Delay" text
  • Remove Unsubmitted status text

Submitted proposals

image

  • Same as above,
  • Can leave the vote details table, but feel free to reduce the spacing / clean it up a bit

QA Proposal interaction

Proposal interaction

image

  • "Not Enough Votes" submission button should say "Propose", even when the button is disabled
  • "You do not have enough votes should not be a button- it should be status-text below the button
  • Add padding above the bottom explainer text

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.