Josea's Control Panel
Set durations are computed from start/end times. Multi-set bands roll up to a band total. Matches the math in Josea's "Total Minutes" column.
Tap any band block to edit ยท scroll sideways for the full day โ
The stage list used everywhere bands can be scheduled. Lower "sort" numbers show first. Hidden stages stay in Firebase (so existing band assignments aren't lost) but don't appear on the public lineup or in the schedule grid.
Who can log into the Top of the World Records admin (the ๐ icon on chicken-records.html). Each person gets their own PIN โ every record they create, edit, approve, or delete is tagged with their name so you can see who did what in the activity log. Turn someone OFF to revoke access without losing their history.
Last 30 actions taken by keepers in the records admin. Most recent first.
Format: Name, Role, Date, Post, Start, End, Notes
Live pads (with cluck counts) and the pad editor. Add new sounds, rename pads, reorder them, or clear counts โ all changes appear instantly on every attendee's soundboard.html. Cluck counts are stored separately at /soundboard/counts and aren't touched by anything else.
People who signed up for text alerts. Twilio connection added later โ numbers stored here.
These appear in the Sponsors grid on the main page. Lower "sort" numbers show first. Toggle Hidden to take one offline without deleting it.
Send a push to every device that's opted in via the homepage. Reaches Android + desktop browsers immediately; iPhone users only if they've Added to Home Screen first.
Toggle which categories attendees can opt into on the homepage. Hiding one removes it from the sign-up form and the โSend toโ list below. Changes go live instantly โ no deploy needed.
Tip: pick a specific topic so people who opted out of that category don't get pinged. "Everyone" overrides their preferences โ use it sparingly (emergencies, festival-wide announcements).
Requires the Cloud Function to be deployed (see FCM-SETUP.md). Until then, this button will save the message but no devices will be reached.
Every 5 minutes the system checks Josea's Flock schedule and pings each crew member 30 min before their shift. This card previews what's about to fire โ purely informational, no action needed.
Loadingโฆ
Loadingโฆ
These appear in the FAQ section on the main page. Lower "order" numbers show first.
Drag any pin to reposition ยท Tap a pin to edit its name, description, or icon ยท + Add Landmark drops a new custom pin. Changes save instantly to the public map.
User-dropped campsite pins. Edit names/notes, toggle jam-session flag, or delete any pin. Use "Clear All" for post-festival cleanup.
Users can only post inside threads you create. Lower "order" numbers show first. Lock a thread to make it read-only.
Most recent first. Delete any message instantly. Ban the poster with one click.
Each report shows the flagged message + reason. Approve (delete message), Dismiss (keep it), or Ban the poster.
Banned device IDs are muted โ they can see messages but can't post. Clearing browser data defeats this; it's a soft block.
Messages containing any of these (case-insensitive substring match) are blocked at the client. Display names are also filtered.
Uncheck to take chat offline (e.g. post-festival).
Drag the modules below to set the order they appear on the attendee home page. Tap-and-hold the โฎโฎ handle on mobile, or use the โ โ buttons. Tap ๐๏ธ to hide a module from the homepage without losing its data.
The little squares in the homepage "๐บ๏ธ At the Festival" grid. Drag โฎโฎ to reorder, tap โ๏ธ to edit, ๐ to delete. Order saves automatically.
One switch per module and one per quick-link card. Same data as the eye icons above โ just laid out as named switches so you can scan it at a glance.
Replace the orange splash on each page. Enter a filename like my-splash.jpg (upload via FTP to /httpdocs/) or a full URL like https://example.com/image.jpg. Leave blank to use the global default; clear global to fall back to the original splash.
Applied to every page that doesn't have its own override below.
Each row overrides the global for that page only.
Every create, update, and delete from the admin panel is recorded here. Use the filters to focus on one area, search by keyword, or export the full log as JSON.
When the countdown on lineup-preview.html hits zero. Use Alaska time (AKDT/AKST). Default is June 11, 2026 at 12:00 PM AKDT. Updates live for everyone the moment you save.
Controls the "๐ Get The Drops First" texting module on lineup-preview.html. Turn OFF if you don't want to collect numbers yet, or to hide it after launch. Updates live for everyone.
When ON, every public page (home, lineup, vendors, map, etc.) redirects to lineup-preview.html โ a sneak-peek page with just the artists, sponsors, and an SMS signup. Use this when you've sent QR codes by email but aren't ready to reveal the full site yet. Staff pages (admin, flock, kleen) stay accessible. The lineup-preview page itself never redirects.
These coordinates drive both the home-page weather widget and the Grounds Map center. Default: Chicken, AK. Default landmarks (stages, vendors, restrooms, etc.) shift with the center automatically. Use the ๐บ๏ธ Map tab to reposition individual landmarks at the new site.
Paste a YouTube Live URL (watch, youtu.be, embed, or /live/ links all work). Leave blank to hide the section.
Multi-stage mosaic feed (a single stream that grids together all stages). Same embed pattern as Chicken Cam โ paste a YouTube Live URL. Leave blank to hide.