Admin
← Homepage

Dashboard

Live overview of your PLURGASM directory. Numbers include both data.js content and anything you've added via this panel.

How This Panel Works

🗄️
localStorage Storage
Everything you add or change here is saved in your browser's localStorage. It applies instantly on the homepage — no code edit needed. If you clear browser data, changes are lost.
📦
Making Changes Permanent
To permanently save admin-added festivals or brands, copy them into js/data.js and push to GitHub. Once in data.js, they survive a browser data wipe.
Brand of the Week
Override the featured brand shown at the top of the homepage. Set it here and it applies immediately — no deploy needed. Clear the override to revert to the data.js default.
📥
Submissions Flow
When someone fills out the Submit a Brand form, it lands here as "Pending". Approve to auto-add it to the live directory. Reject to dismiss it. Approved brands appear on the homepage immediately.
↕️
Reordering Content
Use the Reorder tab to control which festivals and brands appear first. Move items up or down, then save. The homepage respects this order. Reset at any time to go back to the data.js default.
🔒
Password
The password is stored as a constant in admin.html. To change it, edit the ADMIN_PASSWORD constant in the script block and redeploy.
⚠ Heads up: localStorage is browser-specific. Changes you make on your laptop won't appear on your phone or another device. Once you're happy with admin-added content, move it into js/data.js and push to GitHub to make it universal.

Brand of the Week

Override the featured brand in the spotlight banner at the top of the homepage. Applies immediately — no deploy needed. The override lives in localStorage so it persists across visits on this browser.

How it works: Fill in any fields you want to override. Blank fields keep the data.js defaults. Hit Save and reload the homepage to see the change. Use "Clear Override" to revert fully to the static default in index.html.

Keep it 1–2 sentences. Appears directly below the brand name on the homepage.

Include the @ symbol.

Used for the "Visit Site" button.

✓ Saved — reload the homepage to see it

Pending Submissions

Brand submissions from the community via the Submit a Brand page. Review each one and approve or reject.

Approve: Immediately adds the brand to the live directory (via localStorage). It'll show up in the Brands section on the homepage right away. The submission is marked as approved so you don't see it again.

Reject: Marks the submission as rejected and dims it. The brand is not added to the directory. You can still see all rejected submissions below for reference.

Add Festival

Add a festival to the directory. It will appear on the homepage grid/calendar and the dedicated Festival Calendar page immediately — no code change needed.

Sort Date format: Use YYYY-MM-DD (e.g. 2026-08-14). This is what the calendar uses to sort and group festivals by month. If you skip it, the festival lands at the end with no date.

Type: Controls the color-coded label tag on the card. "Mega" = pink, "Regional" = green, "Underground" = purple, "International" = cyan.

Genres: Comma-separated. These power the genre filter pills on the festival section and calendar page. Use existing genres when possible: EDM, House, Techno, Bass, Trance, Dubstep, Psychedelic, Hip-Hop, Jam.

Shown in small text below the festival name.

City, State format. Shown on the card and calendar row.

Human-readable. Shown on the card.

YYYY-MM-DD. Used for sorting and calendar grouping.

YYYY-MM-DD. Used to determine past/upcoming status.

e.g. 18+, 21+, All Ages

The text inside the tag badge on the card. Keep it short.

Powers the vibe filter pills. Match existing genres where possible.

2–4 sentences. Shown on the festival card.

Clicking the festival card opens this URL. Leave blank if tickets aren't live yet.

✓ Festival added — reload the homepage to see it

Add Brand

Add a brand to the directory. It will appear immediately in the Brands section on the homepage, filtered by the category you choose.

Badge: 2–4 capital letters shown in the colored square. Pick something recognizable — usually initials.

Badge Color / Price Class: These set the color of the badge and price tag. Match the brand's vibe: cyan for techwear/EDM, pink for fem, purple for luxury/unique, green for budget-friendly, amber for handmade/artisan.

Tags: Comma-separated keywords used by the search engine. Include category keywords (fem, male, unisex), style words (spandex, sequin, techwear), and fit notes (rts = ready to ship, mto = made to order).

Shown in the colored square. Auto-fills from name if blank.

e.g. ~1 week, MTO 2–4 weeks, Check website

Short descriptor shown in small text on the card. What makes this brand unique.

2–3 sentences. This is what people read on the card.

Optional. Shown as a callout box in the brand detail modal. Being honest builds trust.

Include the @ symbol.

Used by the search engine. Include style, fit, gender, and type keywords.

✓ Brand added — reload the homepage to see it

Reorder Content

Control the display order of festivals and brands. Changes apply on the homepage and calendar. Use ↑ ↓ to move items, then save.

Festivals: The order here overrides the default data.js order. Featured festivals (EDC, Tomorrowland, etc.) are usually first — use this to promote a newly-added festival to the top.

Brands: Order applies across all views including filtered category views. Brands you add via admin appear at the bottom by default — promote them here.

Reset: Returns to the original data.js order (static brands/festivals first, admin-added ones at the end).

Festivals

✓ Order saved — reload the homepage to see it

Brands

✓ Order saved — reload the homepage to see it

Social Spotlight

Control which accounts are shown as "Featured" in the Social Spotlight section at the bottom of the homepage.

Featured accounts get the cyan border and a ⭐ Featured badge on their card. All accounts appear in the spotlight regardless — the featured toggle just highlights the ones you want people to notice first.

To add new social accounts to the directory, edit SOCIALS in js/data.js and push to GitHub.
✓ Saved — reload the homepage to see it