Repository navigation
Ticket updates nov 2 - #214
Merged
Merged
Conversation
The Pretix product (item 7 on tickets.devcon.org) is now "Solo Youth Ticket (16-17) 🌱" for 16-17 year olds attending alone, with under-16s accompanied by a parent/guardian; the store's Applications card takes the name, description and check-in note from it. /tickets is untouched.
Adds the paid Pretix product (item 109 on tickets.devcon.org, $19) to the store's Applications section between Youth Ticket and Child (Under 3), with the product's own description. Its 'Get ticket' button is the same Pretix cart handoff as the Under 3 card; the item id lives in config/ticketing.ts per environment (null in dev, which falls back to the bare shop). /tickets is untouched.
Attachment columns whose name mentions "signature" (the youth ticket form's Parent/Guardian and Minor signatures) render a canvas pad above the existing file picker, so the signer can draw with a finger, mouse, trackpad or pen instead of uploading a scan. Strokes are kept in CSS px and redrawn on resize; each pen-up exports a PNG on a white background, debounced 700ms and uploaded through the same upload-attachment proxy as a picked file, replacing the previous pad upload so the column ends up with one signature file. The upload is awaited before react-hook-form snapshots the values (a new before-submit hook in FormPage), because a setValue during validation never reaches onSubmit. Clear wipes the pad and its upload; removing the pad's file from the list wipes the pad.
The mount effect's cleanup cancelled the queued animation frame but left its handle set, so when strict mode re-ran the effect every later scheduleRedraw() bailed out as if a frame were pending and the canvas never painted — the export still worked since it draws offscreen. The cleanup now clears the handle too.
✅ Deploy Preview for devcon-monorepo ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ticket updates: Child (3-17) with Adult, Solo Youth copy, draw-to-sign pad
Store page
Child (3-17) with Adult — new card in the Applications section, between Youth and Child (Under 3). Title, description and the "Adults must hold their own Devcon ticket to enter" note mirror the Pretix product (item 109 on tickets.devcon.org, $19). Its Get ticket button is the same Pretix cart handoff the Under 3 card uses: the buyer lands on the shop with one in their basket. The item id lives in
config/ticketing.tsper environment (null in dev, which falls back to the bare shop). A'child-with-adult'sold-out switch sits alongside the others.Youth card — the Pretix product was renamed to Solo Youth Ticket (16-17) 🌱 for 16-17 year olds attending alone, with under-16s accompanied by a parent/guardian. The card takes its title, description and check-in note from the product.
/ticketslanding page untouched, same as the Under 3 card.Youth ticket form: draw-to-sign pad
Attachment columns whose name mentions "signature" (the youth form's Parent/Guardian signature and Minor signature) render a canvas pad above the existing file picker, with an "or upload a file" divider. Finger, mouse, trackpad and pen all work through pointer events.
upload-attachmentproxy exactly like a picked file. Each new upload replaces the previous pad upload, so the column ends up with one signature file. It appears in the attachment list with a preview and can be removed there.before-submithook inFormPageawaits any pending upload beforehandleSubmitruns. react-hook-form clones the values before validators run, so an upload started during validation would never reachonSubmit. A failed upload shows the field error and stops the submit.Verified end to end on a local dev server: a youth submission with a drawn parent/guardian signature created a NocoDB record with the PNG attached.