Giter VIP home page Giter VIP logo

superteamdao / earn Goto Github PK

View Code? Open in Web Editor NEW
59.0 59.0 93.0 131.26 MB

An open source platform connecting crypto founders with elite talent to create bounties, and accelerate project completion

Home Page: https://earn.superteam.fun

License: GNU Affero General Public License v3.0

TypeScript 99.57% JavaScript 0.11% SCSS 0.31% Shell 0.01%
freelance-work nextjs open-source solana typescript web3

earn's People

Contributors

a20hek avatar apz-gh avatar atreay avatar code-parth avatar dhruvsol avatar jayeshvp24 avatar johnswaroop avatar manice18 avatar mb-008 avatar midztechnology avatar nawed2611 avatar nishaaannnt avatar paarugsethi avatar pratikdholani1 avatar pratyushsawan avatar revtpark avatar sajal0208 avatar shiva953 avatar simplysabir avatar sktomsi avatar suhasasumukh avatar sumit-kumar-21 avatar superteamfun avatar tksumanth1994 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  avatar  avatar  avatar  avatar  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

earn's Issues

Reduce the random numbers added to a username to make it more memorable

Expected Behavior

Usernames suggested during account creation should be easy to remember while maintaining uniqueness. Ideally, a username should be a concatenation of the user's name and a short sequence of numbers to ensure uniqueness without making it cumbersome.

Actual Behavior

The current username generation algorithm/approach suggests usernames with long strings of numbers appended, such as "dholanipratik973551". This makes the username difficult to remember and unnecessarily long, potentially impacting user experience.
image

Allow sponsors to edit their sponsor profiles

This issue is a paid bounty live on Superteam Earn right now, with a prize pool of $75 USDC. Check it out here.

Expected Behavior

Sponsors should be able to edit their profile details from the sponsor dashboard. To make that happen, the sponsor dashboard needs the following:

  1. An edit icon next to the Sponsor name on the dashboard
    If the sponsor name is too big and could break the UI, truncate the name such that the edit icon is visible and not interfering with the vertical light grey line on its right
image 2. Clicking on the edit icon should take them to a pre-filled sponsor profile creation form, where all fields are editable Add checks for duplicates of username/company name, twitter, etc. Change CTA copy to “Update Profile” image 3. Once the profile is updated, redirect them to the dashboard

Actual Behavior

Often the name or PFP of the sponsor needs to be updated which has to be done manually — this helps save time for the sponsor and reduce their dependency on the Earn team.

Fix: Sponsor Page UI

Expected Behavior

image image image

Actual Behavior

  • FAQs animation on collapse has a weird delay
  • Listing Work is overflowing, it rather be scrollable
  • Stats are not centered from tablet and below

FEAT: DARK THEME

Expected Behavior

There should be a dark mode so that if we are working at night then our eyes will less strain.

Actual Behavior

There is no option for it in the whole dashboard.

Steps to Reproduce the Problem

  1. Go to the dashboard.
  2. Search for a Dark theme toggle.

This is very useful feature as many are developers here like me who are always comfortable with dark theme.

Ability to remove team members from a Sponsor Dashboard

Expected Behavior

  • Each member row should display a "Remove" button.
  • Upon clicking the "Remove" button, a confirmation modal should appear with the following details:
    • Title: "Remove Member?"
    • Subtext: "Are you sure you want to remove <email> from accessing your sponsor dashboard? You can invite them back again later if needed."

[Bug] - Error while liking the submission

Recording.2024-03-20.004625.mp4

Expected Behavior

On clicking the like button the user should be able to like the submission thereby increasing the counter of like by 1

Actual Behavior

Gives error as shown in video above

[BUG] Edit profile when not logged in

Expected Behavior

A user should not be able to access the edit page when they are not logged in.

Actual Behavior

By going to url https://earn.superteam.fun/t/<username>/edit/ an edit page is visible to the user even when they are not logged in.
The most important part of the issue is it works for any username
However, the backend logic avoids the changes so there are no worries currently but it still is a bug that needs to be handled.

Screenshots

image

Steps to Reproduce the Problem

  1. Do not be logged in
  2. Go to the URL provided above with a username
  3. The page will be visible and accessed

By setting up locally, I found the issue and fixed it. It was a minor one :)
would love to raise a PR if you can assign this issue to me !

Cheers !

Improve UX for Liking Submissions

Expected Behavior

  • Liking a submission should be a smooth and quick process without needing to reload the entire page.
  • The toaster notification should be aesthetically pleasing and align with our overall UI design standards.

Actual Behavior

  • The entire page reloads after a user likes a submission, leading to a disruptive user experience.
  • The toaster notification that appears post-liking a submission has an unattractive design, especially concerning its border, detracting from the overall user interface.
    image

Steps to Reproduce the Problem

  1. Navigate to any submission (earn.superteam.fun/listings/bounties/[slug]/submissions)
  2. Click the 'Like' button on the submission.
  3. Observe the page reloading and the appearance of the toaster notification.

Ideally use the Toast component from chakra-ui

Add project to Hacktoberfest

Adding a Project to Hacktoberfest:

  • Add the “hacktoberfest” topic to your repository to opt-in to Hacktoberfest and indicate you’re looking for contributions.

image

  • Apply the “hacktoberfest” label to issues you want contributors to help with in your GitHub or GitLab project.
  • Add a CONTRIBUTING.md file with contribution guidelines to your repository.
  • Choose issues that have a well-defined scope and are self-contained.
  • Adopt a code of conduct to create a greater sense of inclusion and community for contributors.
  • Be ready to review pull/merge requests, accepting those that are valid by merging them, leaving an overall approving review, or by adding the “hacktoberfest-accepted” label.
  • Reject any spammy requests you receive by labeling them as “spam,” and any other invalid contributions by closing them or labeling them as “invalid.”

More details on the official page

Alignment and Spacing Enhancements Needed in Rewards Section of Detailed Listings Page

Actual Behaviour

image

The podium prize split elements are not middle aligned to the top and bottom borders


image

When a listing is in draft and has no rewards added, the submissions elements is too close to the border above it

Suggestions for Improvement:

For the Podium Prize Split Alignment: Adjusting the vertical alignment of the podium prize split elements to be centrally positioned within their container could enhance the visual balance and overall aesthetic appeal of the interface.

For the Draft Listing Spacing: Increasing the margin or padding above the submissions element in draft listings could provide a more spacious and less cluttered appearance, potentially improving readability and user experience.

Looking forward to any additional insights or suggestions

Search not working in Submissions dashboard

Expected Behavior

Text search should show submission either by matching the name of email in the submissions dashboard.

Actual Behavior

No results are displayed when searching in the submissions dashboard.

Steps to Reproduce the Problem

  1. Receive submissions for a bounty.
  2. Search for a particular user

This is useful when we have to cross-check that the submissions have signed up, filled another form or signed up for a platform that is being tested and we need to confirm that they actually signed up using email from our end.

Sort Comments in Reverse Chronological order

Comments under bounties are currently sorted in chronological order i.e. newest is at the top. Change this order to reverse chronological so that newest comments show up at the bottom.

Add support for images in the listing description

This issue is a paid bounty live on Superteam Earn right now, with a prize pool of $125 USDC. Check it out here.

Expected Behavior

Click on the upload image icon in the listing editor toolbox, and select the image (png or jpeg) to be uploaded to the listing description.

Uploaded images should be compressed before being added to our Cloudinary to save on server costs.

Things to note:

  1. Images should always be centre-aligned
  2. Resizing the image should be possible but should not break the UI
  3. Only jpeg or png formats should be supported
  4. Place the upload icon between the Underline and Embed Link icons in the listing editor
image image

Actual Behavior

Users need to upload their images to a third-party website and link the uploaded image to the listing descriptions, leading to suboptimal UX for both talent and sponsors.

Enhancement: The Description Editor Toolbar is not sticky

Expected Behavior

the toolbar of the editor should be sticky.
image

Actual Behavior

Right now, it is not sticky which causes the sponsor to scroll back up and down a lot even to change formatting.
image

Steps to Reproduce the Problem

  1. Create a listing
  2. Get to the "Description" step of the create listing flow

Refactor `/src/pages/dashboard/listings/[slug]/submissions.tsx` for Reduced Complexity and Enhanced Maintainability

Expected Behavior

  • The /src/pages/dashboard/listings/[slug]/submissions.tsx file should be concise, well-organized, and maintainable.
  • The file's length should ideally be less than approximately 400 lines to enhance readability and manageability.

Actual Behavior

  • Currently, the file is overly long and complex, which hampers readability and maintainability.
  • The file exceeds 400 lines, making it challenging to navigate and understand.

Steps to Reproduce the Problem

  1. Navigate to the /src/pages/dashboard/listings/[slug]/ directory.
  2. Open the submissions.tsx file, and observe the file length and complexity

Proposed Solution

  • Refactor the submissions.tsx file to reduce its length and complexity.
  • Identify sections that can be modularized into separate components or utility functions.
  • Ensure that refactoring does not affect the existing functionality and performance.

Enhancement: Use Actual Title for Listing Slug Instead of Template Title

Current Behavior

When a new draft is created using a template, the system currently utilizes the template's title as the slug for the listing link. This behaviour can lead to situations where the URL does not accurately reflect the final title given to the listing by the sponsor, potentially causing confusion or misalignment between the listing content and its corresponding URL.

Expected Behaviour

It would be more intuitive and representative if the slug for the listing link were generated based on the actual title provided by the sponsor for the listing, rather than the template title. This change would ensure that the URL is a more accurate reflection of the listing's content, improving clarity and user experience.

Steps to Reproduce the Problem

  1. Create a listing using your sponsor profile
  2. Select a template, and save the listing as draft

Unable to save draft when a user is on the compensation/reward page

Expected Behavior

image You should be able to save drafts from this page since anyway, you can from previous pages

Actual Behavior

Results in an error that stops the draft updation

Steps to Reproduce the Problem

  1. Create a Sponsor Profile
  2. Create a Listing
  3. Get to the Rewards Step, and save the listing as a draft listing

Minor bugs in Submit Form

Expected Behavior

  1. When we click outside of the submit form, it should close.
  2. It's better to disable the submit button until all the required fields are filled.

Actual Behavior

  1. The submit form doesn't close when clicked outside.
  2. The submit button is not disabled and is less clickable by default ( We can make its bg-color have less opacity or a faded bg works too).

Steps to Reproduce the Problem

Here is a video to reproduce the problem:

2024-03-18.03-36-28.mp4

Authentication state persistance

Expected Behavior

When navigating the earn website between different routes I would like for my wallet state to be persisted unless I log out

Actual Behavior

I get disconnected from my wallet

Steps to Reproduce the Problem

  1. go to the earn website
  2. connect wallet
  3. switch between different routes and your wallet connection gets disconnected.

possible fix

use context or a state management library e.g zustand or recoil

Resolve Hydration Errors

Expected Behavior

  • The web-app should render consistently on both the server and the client, ensuring a smooth hydration process without errors.
  • The initial UI rendered by the server should match the UI rendered on the client.

Actual Behavior

  • The application is experiencing hydration errors, as indicated by the error message: "Error: Hydration failed because the initial UI does not match what was rendered on the server."

Steps to Reproduce the Problem

  1. Run the app using pnpm dev
  2. Observe the localhost for hydration error messages during page load.

Make listing URL/slugs editable during listing creation

This issue is a paid bounty live on Superteam Earn right now, with a prize pool of $75 USDC. Check it out here.

Expected Behavior

Pre-fill the auto-generated slug whenever a new listing title is added to the listing creation flow. Allow users to edit the slug while checking for duplicates. If the slug already exists show an error message right below the field in red text (same component as used for social link errors, or duplicate sponsor profile names error for example).

Duplicate the Listing Title field component for style, etc. The slug field should be right below the Listing Title field.

Actual Behavior

Right now it’s not possible to do this from the frontend.

Add a prompt modal asking to install PWA

Superteam Earn is now fully optimised for mobile. We want to educate and prompt our mobile users to install the Earn PWA.

  • Show this modal to Mobile users
    image

  • The modal should be shown once per user (use localstorage to track this), and should only be shown on mobile. Use user-agents to identify mobile device

  • Check out this guide on how to make PWA installable in one click, from the mobile browser. But would advice to do more research on the same, in order to make this work for both iOS and Android devices, as well as both Safari and Chromium browsers.

In browsers which the one-click installation is not possible, show the following modal:
image

Design Link for both modals

Add Docker compose for database setup

The Problem:

Setting up a database each time is time-consuming and can introduce initial configuration errors. This process involves installing software, configuring settings, and ensuring compatibility, which often leads to inefficiencies and potential issues.

Solution:

Utilizing Docker simplifies the process by allowing users to effortlessly spin up the database according to predefined configurations, eliminating the need for repetitive setup tasks.

`yarn dev` command and other commands are not cross platform.

Expected Behavior

yarn dev command should run the project smoothly across all platforms(mac, linux and windows). And other similar commands.

Actual Behavior

yarn dev does not run the project in windows and throws error. The command in package.json does not follow windows syntax and it needs to be updated to Set NODE_ENV=development & next dev to run the project.
image

Steps to Reproduce the Problem

  1. Clone the project on a windows system
  2. Run yarn install followed by yarn dev and check logs.

Solution

By adding cross-env package to the project and replacing existing commands with cross-env commands prefix is the easiest way to do this.

Add Missing Steps for Prisma Migration and Client Generation in README.md and CONTRIBUTING.md for local setup

Hello maintainers,

I noticed that the README.md and CONTRIBUTING.md files are missing a crucial step regarding Prisma migration and client generation. This step is essential for contributors to properly set up the project environment and contribute effectively.

I have made the necessary changes to include instructions for Prisma migration and client generation in both files. These changes will help streamline the onboarding process for new contributors and ensure that everyone can easily get started with the project.

I kindly request you to review my changes and consider merging them into the main branch. If there are any further adjustments or clarifications needed, please let me know, and I'll be happy to address them.

Thank you for your attention to this matter.

Best regards,
Sumit Kumar

expected behavior

Screenshot_20240224_133034

actual behavior

Screenshot_20240224_133157

Auto

Expected Behavior

Actual Behavior

Steps to Reproduce the Problem

OG images for references are not cropping properly

OG images for references are not cropping properly
image

Steps to Reproduce the Problem

  1. Create a project listing
  2. Add reference links in the creation process
  3. Publish the listing, and check the references tab of the listing

Make the token list field searchable

As we increase the number of tokens supported, it will make it much harder to scroll and find the right token. Hence, search is better

image

This component can be found here

Missing Local Setup Instructions

Description:

The project's README.md and CONTRIBUTING.md lack detailed local setup instructions, which can hinder new contributors.

Solution:

Add a step-by-step guide covering cloning, dependency installation, environment variable setup, and running the development server. This will ease onboarding and reduce entry barriers.

I would like to work on this issue if it is considered valid

[BUG]: Automatic Refresh

Expected Behavior

The web page should not automatically refresh itself

Actual Behavior

The webapp keeps refreshing itself when applying for a bounty, resulting in resetting the form I have filled.

Steps to Reproduce the Problem

  1. Go to the earn website
  2. Find and project and try to fill in the details and wait for a short while. The web page will refresh itself resulting in loss of all details you had filled.

ENVIRONMENT

Broswer: Brave Browser 123.1.64.113
OS: Pop OS

Calendar UX fixes

Expected Behavior

image
the calendar in the create listing form should open up when clicked anywhere on the bounding box

Actual Behavior

It opens only after the icon is clicked on.

Suggestions about the UX Improvements:

  1. Calendar should pop when anything is clicked
  2. Provide small pills of "1 week, two week" etc to add deadline with just one click

Sponsor Dashboard floating copy

Expected Behavior

Hovering on each stat should give more information about the same, similar to the following:
image

Actual Behavior

image These stats have no hover interaction.

Steps to Reproduce the Problem

  1. Create a sponsor profile
  2. route to /dashboard/listings

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.