@@ -8,6 +8,8 @@ export type TemplateFieldDef =
88 type : "textarea" ;
99 rows ?: number ;
1010 required ?: boolean ;
11+ /** Concrete example shown as placeholder inside the textarea. */
12+ placeholder ?: string ;
1113 }
1214 | {
1315 id : string ;
@@ -47,6 +49,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
4749 required : true ,
4850 helper :
4951 "Name, sport (skate, surf, bodyboard, freeride), location, social links. If renewal, reference the previous proposal." ,
52+ placeholder :
53+ "Ana Luiza, 22, surfer from Peniche, Portugal. @analuizasurfs on IG. This is a renewal of Prop #42 — stoked to shred another season with Gnars." ,
5054 } ,
5155 {
5256 id : "content-plan" ,
@@ -55,6 +59,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
5559 rows : 5 ,
5660 helper :
5761 "Video parts, clips, photo sets, posting cadence (e.g. 2x/week wearing Noggles), events/competitions, collabs with other Gnars shredders." ,
62+ placeholder :
63+ "- 2 full video parts (one mid-season, one year-end)\n- Weekly IG Reels + TikToks wearing Noggles\n- WSL Rio Pro coverage in September\n- Collab edit with @othershredder" ,
5864 } ,
5965 {
6066 id : "reach" ,
@@ -63,6 +69,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
6369 rows : 4 ,
6470 helper :
6571 "Current audience: follower counts per platform, engagement, past features, how this sponsorship expands Gnars visibility." ,
72+ placeholder :
73+ "Instagram 12.4k / TikTok 3.2k / X 800 / Farcaster 450. Avg 8k views per reel. Featured in Surfer Magazine Aug 2025." ,
6674 } ,
6775 {
6876 id : "budget" ,
@@ -79,6 +87,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
7987 required : true ,
8088 helper :
8189 "Start and end dates, deliverables, milestone payments, reporting cadence (propdates, social posts)." ,
90+ placeholder :
91+ "Oct 1 2026 – Mar 31 2027 (6 months). Monthly propdates with photo + clip drops. Mid-season video part by Jan 15." ,
8292 } ,
8393 {
8494 id : "track-record" ,
@@ -87,6 +97,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
8797 rows : 4 ,
8898 helper :
8999 "Past work, competition results, past Gnars proposals (if renewal), community endorsements." ,
100+ placeholder :
101+ "2nd place Billabong Pro 2025 (link). Gnars-sponsored rider since Prop #31. Endorsed by @teamcaptain on Farcaster." ,
90102 } ,
91103 ] ,
92104 } ,
@@ -104,6 +116,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
104116 required : true ,
105117 helper :
106118 "What type of event (conference + skate, hacker house, cultural activation). Where, when, why it matters for Gnars." ,
119+ placeholder :
120+ "Crypto + skate weekend during ETHRio. 3 days of sessions + panels at Cidade do Samba, bridging onchain builders with the local skate scene." ,
107121 } ,
108122 {
109123 id : "logistics" ,
@@ -112,6 +126,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
112126 rows : 4 ,
113127 helper :
114128 "Venue, city/country, dates, duration, attendance, travel/accommodation needs, permits." ,
129+ placeholder :
130+ "Cidade do Samba, Rio de Janeiro. Apr 12–14 2026. ~200 attendees. Venue pre-booked. No permits required; private space." ,
115131 } ,
116132 {
117133 id : "content-plan" ,
@@ -120,6 +136,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
120136 rows : 4 ,
121137 helper :
122138 "Photo/video coverage, who films/edits, deliverables, distribution channels, post-event timeline." ,
139+ placeholder :
140+ "2 filmers + 1 photographer on site. Daily recap reels (same-day), 5-min final edit within 2 weeks. Distributed via Farcaster, IG, YouTube." ,
123141 } ,
124142 {
125143 id : "budget" ,
@@ -135,6 +153,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
135153 rows : 4 ,
136154 helper :
137155 "Pre-event social, on-site branding (Noggles, merch, banners), partner cross-promotion, post-event recap." ,
156+ placeholder :
157+ "4-week Farcaster + IG countdown. Noggles banners + merch on site. Cross-promo with ETHRio org. Post-event recap droposal." ,
138158 } ,
139159 {
140160 id : "metrics" ,
@@ -144,6 +164,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
144164 required : true ,
145165 helper :
146166 "Attendance, content views, new community members, press mentions, on-chain activity generated." ,
167+ placeholder :
168+ "200 attendees, 50k combined video views, 10+ new token holders, coverage in at least 2 skate/crypto outlets." ,
147169 } ,
148170 ] ,
149171 } ,
@@ -161,6 +183,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
161183 required : true ,
162184 helper :
163185 "What you're building (Noggles Rail, ramp, skate spot refurb, other). Where. Why this location matters for Gnars." ,
186+ placeholder :
187+ "Noggles Rail at Ibirapuera skatepark, São Paulo. First Gnars installation in Brazil, in one of the most-skated parks in LATAM." ,
164188 } ,
165189 {
166190 id : "permits" ,
@@ -169,6 +193,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
169193 rows : 4 ,
170194 helper :
171195 "Exact location, public vs private land, permits/approvals, landowner/municipality contact, legal/liability notes." ,
196+ placeholder :
197+ "Public park, managed by SP Parques & Urbanismo. Met with park director on Feb 10 — verbal approval, signed authorization letter pending." ,
172198 } ,
173199 {
174200 id : "construction" ,
@@ -177,6 +203,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
177203 rows : 5 ,
178204 helper :
179205 "Materials, dimensions, method, timeline, fabricator, Noggles branding integration (shape, color, placement)." ,
206+ placeholder :
207+ "6m steel round rail, 60mm diameter, powder-coated black. Noggles profile laser-cut into each end cap. Fabricator: Rampa X (São Paulo). 4-week build." ,
180208 } ,
181209 {
182210 id : "budget" ,
@@ -193,6 +221,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
193221 required : true ,
194222 helper :
195223 "Public access, long-term maintenance, expected lifespan, contribution to local scene." ,
224+ placeholder :
225+ "Free public access 24/7. Maintenance handled by local collective SP Sessions. Expected 5+ year lifespan. Adds a missing feature to the park." ,
196226 } ,
197227 {
198228 id : "docs-plan" ,
@@ -201,6 +231,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
201231 rows : 4 ,
202232 helper :
203233 "Build process photo/video, inauguration event, social content plan, related droposals." ,
234+ placeholder :
235+ "Build time-lapse video. Opening session event + film crew. Commemorative droposal tied to the opening (separate prop)." ,
204236 } ,
205237 ] ,
206238 } ,
@@ -218,6 +250,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
218250 required : true ,
219251 helper :
220252 "What you're making (documentary, film, zine, podcast, photo book). The story and how it connects to Gnars culture." ,
253+ placeholder :
254+ "20-minute documentary exploring surfing's role in São Tomé's coastal communities. Shot on 16mm to honor skate/surf film heritage." ,
221255 } ,
222256 {
223257 id : "production" ,
@@ -226,6 +260,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
226260 rows : 5 ,
227261 helper :
228262 "Format and length, creative team roles, equipment/software, locations, post-production workflow." ,
263+ placeholder :
264+ "10-day shoot + 6-week post. Director Jane Doe, DP John Roe. RED Komodo + underwater housing. Edit in DaVinci Resolve, score original." ,
229265 } ,
230266 {
231267 id : "distribution" ,
@@ -234,6 +270,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
234270 rows : 4 ,
235271 helper :
236272 "Primary platforms, release schedule, cross-promotion, festival/media partnerships, archival plan." ,
273+ placeholder :
274+ "YouTube premiere + Zora drop same day. Festival submissions (SXSW, Hot Docs). Archived on Arweave. Cross-posted on Farcaster + X." ,
237275 } ,
238276 {
239277 id : "licensing" ,
@@ -242,6 +280,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
242280 rows : 4 ,
243281 helper :
244282 "CC0? If not, what rights does the DAO retain? Remix allowed? Third-party clearances (music, footage)." ,
283+ placeholder :
284+ "CC0. All footage original, score commissioned work-for-hire (rights assigned). No third-party clearances needed." ,
245285 } ,
246286 {
247287 id : "budget" ,
@@ -259,6 +299,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
259299 required : true ,
260300 helper :
261301 "Each deliverable with expected completion date, milestone checkpoints, progress comms (propdates, rough cuts)." ,
302+ placeholder :
303+ "- Rough cut: Jan 20 2026\n- Social trailer: Feb 1\n- Final delivery: Feb 15\n- Propdates every 3 weeks with BTS + stills" ,
262304 } ,
263305 ] ,
264306 } ,
@@ -276,6 +318,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
276318 required : true ,
277319 helper :
278320 "What you're building in plain language. Problem it solves for the Gnars community. Who will use it." ,
321+ placeholder :
322+ "Gnars Hub — a mobile app aggregating proposals, propdates, and the TV feed. For members who want to stay plugged in on the go." ,
279323 } ,
280324 {
281325 id : "architecture" ,
@@ -284,6 +328,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
284328 rows : 5 ,
285329 helper :
286330 "Stack, system architecture, integration with existing Gnars infra, external deps, smart contract changes." ,
331+ placeholder :
332+ "Expo + React Native. Reuses gnars-website's /services layer via a shared package. Subgraph queries via @buildeross/sdk. No contract changes." ,
287333 } ,
288334 {
289335 id : "open-source" ,
@@ -292,6 +338,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
292338 rows : 4 ,
293339 helper :
294340 "Open source? License? Repo link. Reusable by other DAOs? Contribution to Builder/Nouns/Base ecosystem." ,
341+ placeholder :
342+ "MIT license. Repo at github.com/r4topunk/gnars-hub. Template reusable for any Builder DAO with minor config swaps." ,
295343 } ,
296344 {
297345 id : "timeline" ,
@@ -301,6 +349,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
301349 required : true ,
302350 helper :
303351 "Phases with scope + duration, key milestones, demo points, when users can test it." ,
352+ placeholder :
353+ "- Phase 1 (4w): proposals + propdates feed\n- Phase 2 (3w): wallet integration + voting\n- Phase 3 (2w): push notifications\n- TestFlight beta end of Phase 2" ,
304354 } ,
305355 {
306356 id : "budget" ,
@@ -317,6 +367,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
317367 rows : 4 ,
318368 helper :
319369 "Maintenance plan, long-term owner, monitoring, community feedback loop, ongoing funding needs." ,
370+ placeholder :
371+ "3 months maintenance covered (bug fixes, minor updates). After that, a separate prop for ongoing support. Sentry for monitoring." ,
320372 } ,
321373 ] ,
322374 } ,
@@ -334,6 +386,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
334386 required : true ,
335387 helper :
336388 "Concept of the collection, story/moment it commemorates, connection to Gnars culture or IRL activation." ,
389+ placeholder :
390+ '"First Rail" — a commemorative photo drop celebrating the opening of the Ibirapuera Noggles Rail (Prop #54). Captures the first session.' ,
337391 } ,
338392 {
339393 id : "artwork" ,
@@ -342,6 +396,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
342396 rows : 4 ,
343397 helper :
344398 "Artist name, background, portfolio. Style, medium, number of pieces, original vs derived." ,
399+ placeholder :
400+ "5 photographs by Lucas Lima (@lukeslens). SP-based skate photographer, 10+ years shooting for Thrasher. All shot during the opening day." ,
345401 } ,
346402 {
347403 id : "mint" ,
@@ -351,6 +407,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
351407 required : true ,
352408 helper :
353409 "Edition type (open or fixed), size, price, duration, chain (Base), royalty %, revenue split config." ,
410+ placeholder :
411+ "- Open edition\n- 0.001 ETH per mint\n- 14-day window: Dec 1–15 2026\n- Chain: Base\n- 10% secondary royalty\n- Split: 50% artist / 40% treasury / 10% rail maintenance fund" ,
354412 } ,
355413 {
356414 id : "irl" ,
@@ -359,6 +417,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
359417 rows : 4 ,
360418 helper :
361419 "Link to related proposal (event, installation, sponsorship). Photos/videos from the activation. Why this moment deserves commemoration." ,
420+ placeholder :
421+ "Follows Prop #54 (Ibirapuera rail). Photos from the Nov 8 opening session — 80+ attendees, first Gnars rail in LATAM." ,
362422 } ,
363423 {
364424 id : "revenue" ,
@@ -368,6 +428,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
368428 required : true ,
369429 helper :
370430 "Revenue split percentages (artist, treasury, other), expected mint revenue, treasury benefit, secondary royalties." ,
431+ placeholder :
432+ "Split: 50% artist / 40% treasury / 10% earmarked for rail maintenance fund. Conservative estimate: 80 mints = ~0.08 ETH, ~0.032 ETH to treasury." ,
371433 } ,
372434 {
373435 id : "promotion" ,
@@ -376,6 +438,8 @@ export const TEMPLATE_SCHEMAS: Record<string, TemplateSchema> = {
376438 rows : 4 ,
377439 helper :
378440 "Drop date, pre-mint promo plan, allowlist vs open, post-mint community engagement (holders channel, utility)." ,
441+ placeholder :
442+ "Mint Dec 1–15 2026. Farcaster thread + IG story countdown starting Nov 24. Open mint (no allowlist). Post-mint: holders-only Telegram." ,
379443 } ,
380444 ] ,
381445 } ,
0 commit comments