Proposals Framev2 Dev

Create a proposal from a miniapp app frame

This feature is likely important to MetaFactory

Proposal details is complicated. There are a lot of different proposal types. Maybe we focus on Signal and Funding proposals first.

Design considerations

App frames will open in a vertically oriented modal element.

  • 424x695px on desktop
  • Mobile fits the screen just as the warpcast app does

A Splash Screen are required and will show when a user launches the app frame

  • takes an image and background color

There is a single Primary Button that can be redendered programitically in the footer of the frame.

Potential/Hypothetical Flow
Screenshot from 2024-11-09 13-19-17

Development considerations

Stack implications

  • Likely need a server, next.js on vercel with api endpoints or actions deployed to cloudflare
  • Might have to us next js for ease

Resources

Mini Apps

📣 Miniapp transactions are live!

Use this Neynar API to send a frame message to that URL and get back the transaction data in the response

Frame v2 Spec

spec
dev playground
example repo
more

initial state is a trad frame

  • image and button

  • button opens the app (inframe browser)

  • try demo

init frame spec
Screenshot from 2024-11-25 10-47-24

manifest file needed at /.well-known/farcaster.json

  • test and understand App Association Signatures

jan21.2025 work log

  • request funding
    • token select field
    • dao token select wrapper w/ hook data
  • chain configurations
  • homepage dao list/hook on connected address
  • switch to yup

future optimization

  • prefetch providers?
  • more form abstraction/configuration (define after some more examples)
    • transformers into functions we pass as a string
    • fields as legos
  • any utl clean up needed?
  • form starter component to clone
  • recipient field using ens and warpcast names
  • token max button

frame embed missing at
https://proposals.daohaus.club/dao/0xaa36a7/0x33279f5046ca54365eb047f0758ceacdb85099e1
vs
https://proposals.daohaus.club

jan6.2025 work log

rework from this repo
https://github.com/HausDAO/menagerie

  • bring over providers
  • add dao/prop pages
  • meta entry points for the new pages - align to menagie (layout/meta ect)
  • bring in utils
  • bring in hooks
  • bring in extra components
  • clean out leaderboard cruff
  • tidy up utils, naming, ect
  • enhance forms as below
  • signal

1.17

  • signal submission
  • rework sample for travis

form todo

farc form
generic form parent
custom form components
reusable form fields for immediate use cases

  • react hook form or vanilla at this point?

parent handles

  • tx
  • lifecycle
  • tx link
  • success page
  • submit button

child handles

  • all fields/validation
  • passes valid back as canSubmit
  • passes formFields data back (transformed)
  • gets some lifecycle to disable fields

then think through success - might need customization

prefetch opportunites

travis todo

  • learn all the og content in each route and customize

2024

Moving sdk.ready up a level?
https://github.com/gskril/ens-governor-app/compare/gskril:9e29d71gskril:3ec3be7

Page hydration up a level
https://github.com/META-DREAMER/farcastle-frames/blob/main/src/app/raid/[id]/page.tsx

  • would be nice to have the dao/chain ids somewhere easy to grab
  • and load safe address to pass in

opengraph stuff still a mess
Screenshot from 2024-12-14 13-39-53

farc v1 ship to team

  • frame provider lib
  • 2 proposals w/ switching logic
  • frame home drives to quarters dao?
  • dao ids provider
  • todo: fonts
  • todo: loading component
  • reusable fields/validation
  • Configure dedicated RPC providers when using in production

issues

  • provider not working with other providers
    • look at the config.connect in the connect button

notes to travis

how to style frame embeds

  • see opengraph-image.tsx files at each route

how to style splash screen on initial load

  • i think we use .well-known/farcaster.json/route.ts?

how to nav bak to proposal list

Select a repo