# 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**

## 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
- [Frog Docs](https://frog.fm/concepts/mini-apps#mini-apps)
- [Miniapp Transactions](https://warpcast.notion.site/Miniapp-Transactions-1216a6c0c10180b7b9f4eec58ec51e55)
[📣 Miniapp transactions are live!](https://warpcast.com/horsefacts.eth/0xa91efdfb)
[Use this Neynar API to send a frame message to that URL and get back the transaction data in the response](https://warpcast.com/horsefacts.eth/0x821bf38c)
### Frame v2 Spec
[spec](https://github.com/farcasterxyz/protocol/discussions/205)
[dev playground](https://github.com/farcasterxyz/frames/wiki/frames-v2-developer-playground-preview)
[example repo](https://github.com/farcasterxyz/frames-v2-demo/tree/main?tab=readme-ov-file)
[more](https://framesv2.com/)
initial state is a trad frame
- image and button
- button opens the app (inframe browser)
- [x] try demo
init frame spec

manifest file needed at `/.well-known/farcaster.json`
- [ ] test and understand App Association Signatures
## jan21.2025 work log
- [x] request funding
- [x] token select field
- [x] dao token select wrapper w/ hook data
- [ ] chain configurations
- [x] homepage dao list/hook on connected address
- [x] 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
- [x] 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
- [x] bring over providers
- [x] add dao/prop pages
- [x] meta entry points for the new pages - align to menagie (layout/meta ect...)
- [x] bring in utils
- [x] bring in hooks
- [x] bring in extra components
- [x] clean out leaderboard cruff
- [ ] tidy up utils, naming, ect...
- [ ] enhance forms as below
- [x] signal
**1.17**
- [x] signal submission
- [x] 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
- see https://github.com/HausDAO/menagerie/blob/main/src/providers/AuthedPrefetchesProvider.tsx
- maybe on authed user daos
### 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:9e29d71...gskril:3ec3be7
Page hydration up a level
https://github.com/META-DREAMER/farcastle-frames/blob/main/src/app/raid/%5Bid%5D/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

**farc v1 ship to team**
- [x] frame provider lib
- [x] 2 proposals w/ switching logic
- [x] frame home drives to quarters dao?
- [x] 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