Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: display the projects created by the user #541

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

kittybest
Copy link
Contributor

@kittybest kittybest commented Dec 10, 2024

Description
This PR is trying to figure out what is the best way to display the projects to the user during the application registration period, since they might wanna check if their application is approved or not, and they might want to edit it.

Method 1: (Which is now implemented in this PR)
store user's projectId in the localStorage, load those projects separately and display on the top area of the project dashboard.
image

  • Why store the ids in the localStorage? because the one upload this project might not be the one holding that payout address
  • Why display in a separate area instead of display them altogether but just add a highlight border or tag on it? we could discuss more about it, display in a separate block or display altogether with other approved projects
  • Why the approved application by the user is displayed both in the separate block and in all projects? this should also be discussed, the reason why I did this is because imagine there are hundreds of projects there but user still wanna check their approved projects
  • Why not just adjust the sorting and put the projects created by the user always on the top? is also a good idea, but maybe we need to add something to let user know exactly these are their projects?

Related Issues
close #514

@kittybest kittybest added the enhancement New feature or request label Dec 10, 2024
@kittybest kittybest self-assigned this Dec 10, 2024
Copy link

vercel bot commented Dec 10, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
maci-platform ✅ Ready (Inspect) Visit Preview 💬 Add feedback Dec 17, 2024 5:13pm

@crisgarner
Copy link
Contributor

  • Why store the ids in the localStorage? because the one upload this project might not be the one holding that payout address

If the end goal is for a deployer to update the application, maybe we should store in the metadata the creator address, and enable it to edit. The issue with localStorage, is that if you switch devices or want to check status on mobile, might not get this information, also you can wipe your localstorage.

@ctrlc03
Copy link
Collaborator

ctrlc03 commented Dec 16, 2024

  • Why store the ids in the localStorage? because the one upload this project might not be the one holding that payout address

If the end goal is for a deployer to update the application, maybe we should store in the metadata the creator address, and enable it to edit. The issue with localStorage, is that if you switch devices or want to check status on mobile, might not get this information, also you can wipe your localstorage.

yea we could default to localstorage, if empty then pull from connected address

@kittybest
Copy link
Contributor Author

  • Why store the ids in the localStorage? because the one upload this project might not be the one holding that payout address

If the end goal is for a deployer to update the application, maybe we should store in the metadata the creator address, and enable it to edit. The issue with localStorage, is that if you switch devices or want to check status on mobile, might not get this information, also you can wipe your localstorage.

Yes I agree, but I think if we urgently need this feature, this can serve as a temporary solution.
If it's not urgent, then we could discuss a better solution, or you think we should go with the way you propose?

@ctrlc03
Copy link
Collaborator

ctrlc03 commented Dec 16, 2024

  • Why store the ids in the localStorage? because the one upload this project might not be the one holding that payout address

If the end goal is for a deployer to update the application, maybe we should store in the metadata the creator address, and enable it to edit. The issue with localStorage, is that if you switch devices or want to check status on mobile, might not get this information, also you can wipe your localstorage.

Yes I agree, but I think if we urgently need this feature, this can serve as a temporary solution. If it's not urgent, then we could discuss a better solution, or you think we should go with the way you propose?

don't think it's urgent (but might be wrong), can probably add that extra feature of pulling from address too?

@kittybest
Copy link
Contributor Author

kittybest commented Dec 17, 2024

updated, but this is kind of a dummy solution 🤔 since the creator is stored in the metadata, so if we wanna check who create the application, we need to load them all from the subgraph and fetch metadata one by one.
Thinking about maybe put creator to the contract same as the payout address?
but since this is not an urgent issue, thinking it's quite enough for now.

@ctrlc03
Copy link
Collaborator

ctrlc03 commented Dec 20, 2024

updated, but this is kind of a dummy solution 🤔 since the creator is stored in the metadata, so if we wanna check who create the application, we need to load them all from the subgraph and fetch metadata one by one. Thinking about maybe put creator to the contract same as the payout address? but since this is not an urgent issue, thinking it's quite enough for now.

let's keep it simple. If the payout address is the same as the connected user, show as their application. If no matches, then check localstorage. If no matches in local storage, then show just all applications

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

Feat(frontend): there is no way I can see my application after I’ve left
3 participants