Open sachben91 opened 4 months ago
Clicking on view leaderboard should change the state of the frame to backward and forward toggle buttons, and a "view cast" button. The frame should show the top most upvoted contest entry and the "view cast" button should take the user to that cast.
@sachben91 I investigated this and it won't be possible to embed cast into the frame. It is important to understand that frame, essentially, is nothing but the image that can be enhanced by the action buttons below the image. Cast, though, is interactive component with clickable author's profile picture, nickname. Body can have selectable text, clickable image or interactive video player. All of these are impossible to display inside a frame. Considering this limitations, these are solutions that we can implement:
We can use farcaster API to fetch data for leaderboard casts. Then, we can use this data to build our own "preview" of the cast and display it as a frame. Downside is that the frame can only be in 1.91:1 ratio, so if there is a lot of text in the cast, it might not fit in the frame. Also, there might be a hustle with rendering images. Videos won't be possible at all. So this will be time consuming but still the results won't be impressive. This is the example of very basic cast preview
"View leaderboard" button can be external link that will lead to our app. This should be new view as currently leaderboard for common contests is just a list of threads sorted by upvotes, which does not make sense for farcaster contest. Anyways, in the farcaster leaderboard page we would be able to use react library that renders farcaster casts and they look really good, they suport text, image, videos etc. See examples here
Personally I think that number 1 will be time consuming and for sure we will encounter more technical issues along the way. Also, it might lead to bad UX because cast previews will be very limited. Number two seems to be more reasonable from technical and UX point of view. Downside is that we are taking users away from farcaster app but the truth is that farcaster frames are mini-apps that have limited possibilities so we need to look for a compromise.
@sachben91 This ticket has a very big scope and many things needs to be done beforehand. Also, considering this comment, the requirements of this ticket should be changed. To move this forward we need to:
cc @rbennettcw
@masvelio on leaderboard - will likely have a design that I'm able to hand off tomorrow, will create a separate ticket for it. Do we need a separate ticket for implementing eligibility check?
Do we need a separate ticket for implementing eligibility check?
will leave this answer to @rbennettcw
There's a lot of duplication going on. I've already started on the eligibility check.
All of the platform side tickets, I've already created and started working on: https://github.com/orgs/hicommonwealth/projects/37/views/1?filterQuery=rbennett+milestone%3A%22Contests+on+Farcaster%22
If it's already implemented in the UI, then I'll wire up the platform side to it.
There's a lot of duplication going on. I've already started on the eligibility check.
All of the platform side tickets, I've already created and started working on: https://github.com/orgs/hicommonwealth/projects/37/views/1?filterQuery=rbennett+milestone%3A%22Contests+on+Farcaster%22
If it's already implemented in the UI, then I'll wire up the platform side to it.
UI for eligibility is ready in frames. Leaderboard - no, we need a new design
Description
From a Farcaster frame, users should be able to:
Project Owner
@sachben91
Bucket ID
7659
User Stories / Acceptance Criteria
Design Devlink
Frame prototypes
Design Screenshot
Additional Context
Some resources for implementing Frames (suggestions not guidelines)