Skip to main content
On their dates, ejGames dresses for the occasion. The first is ejGames Scream (Halloween, from October 3 to November 2). The user chooses it in Settings → Appearance → Halloween mode: On its dates, Always or Never. The host decides whether an event is active and sends that to your theme.

What the SDK does without you doing anything

While the event lasts:
  • It sets data-season="halloween" on <html> and the variables --ejg-season-accent (pumpkin orange), --ejg-season-green, --ejg-season-violet, --ejg-season-bg, --ejg-season-panel and --ejg-season-text.
  • It changes your accent, bg, panel and play color options, turns dark on, and puts its background in the wallpaper image option (ejg.settings already has them). When it ends, the user’s values come back.
  • It loads an atmosphere layer over everything (#ejg-season): fog along the floor, embers and the occasional bat. It does not receive clicks, and it stays still with “reduce motion”.
For what does not come from your options (fixed colors, logos, decoration), use the selector in your CSS:

In JavaScript

When it changes, the settings event also arrives (with the palette already applied, or removed).

The store: banner and picks

/_sdk/kit/events.js has the pieces for your store’s front page:
The art is in /_sdk/events/<id>/: banner.webp and banner.mp4, hero.webp and hero.mp4 (the large header, with seasonBanner(ev, cls, { hero: true })), wallpaper-street.jpg (and its animated .mp4) and wallpaper-graveyard.jpg. The built-in themes use it. Look at Steam’s (themes/steam/store.js, eventFront) as an example.