Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Webinar Registered Success Block for Svelte

A full-height confirmation centred on a ticket: the title, host and time in UTC and in a chosen zone, a QR code of the join link, a time zone select that works the local time from typed offsets, and a real calendar file download.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

Give a registration a ticket people want to keep, with this webinar confirmation page for Svelte with Ark UI. It is the Dawnlight Live page after someone registered, a whole screen with the page's rails and one band across it, centred on a ticket. A check in a muted tile, the heading and one sentence sit over a corner-marked ticket drawn in the theme: the product's tile, the title, the host, the date and time in UTC and the same moment in a chosen zone, and a stub past a dashed edge with a QR Code of the join link. Under the ticket a Native Select picks the time zone from eight, and the local time is worked out from a typed UTC moment and each zone's typed offset. The one primary is the Shine Button Add to calendar, a real Download Trigger that saves an .ics file built in the page, pinned to the foot of a phone's screen. Nothing was registered. For webinar, event and booking tools.

FAQ

What stays in the page, and how do I wire it for real?

Nothing was registered and no seat was held. The webinar, the host, the start (16:00 UTC, 45 minutes) and the join link (under .example, so the QR code leads nowhere) are typed constants. What the browser really does is real: Add to calendar downloads a genuine .ics file. To wire it, build the file on your server or from the registration record (the same helper can run in the page), put the registrant's own unique ID in UID, and point the QR code and the file at the registrant's personal join link.

What is in the calendar file?

One event in iCalendar format with CRLF between lines, as the standard asks: a UID, a DTSTAMP from the registration moment, the start and end in UTC, a summary, a description with the join link, a URL, a location and a 15-minute reminder. Long lines are folded at 75 characters and text is escaped. Because it is in UTC, the calendar app on the device converts it to the viewer's own zone, whatever the select shows. The file is named dawnlight-first-live-class.ics.

How is the local time worked out?

From a lookup, never from the browser's clock or time zone. The start is a typed number of minutes after midnight in UTC; each of the eight zones has a typed offset for the day of the webinar (Europe and the United States are still on daylight time that day, so it is in the offsets), and the sum gives the clock time and the weekday, which moves to the next day for Singapore, Tokyo and Sydney. Choosing a zone changes the ticket's second row and the page's live line, and nothing else. For a real product, take the offsets from each zone's rules at that moment with Intl.DateTimeFormat.

How is the ticket built, and is it accessible?

The ticket is a plain bordered box in the theme with two half-circles cut into its edge and a dashed line where the stub tears off; the cuts are decoration and hidden from assistive technology. The title is a heading, the times are a list of terms and values, the QR code is an image with a text name, and the caption says the code opens the join link. On a phone the stub sits under the ticket's text and the dashed line runs across.

How does it look on a phone?

The ticket stacks (text first, then the code), the select sits under it with its live line, and the one primary is pinned to the bottom of the screen while the page scrolls.