Now I remember the theme
This commit is contained in:
@@ -19,6 +19,7 @@ When Umami is enabled, the site MUST support custom event emission for:
|
||||
- `outbound_click`
|
||||
- `media_preview`
|
||||
- `media_preview_close`
|
||||
- `theme_switch`
|
||||
- a general click interaction event for all instrumented clickable items (per the site tracking taxonomy)
|
||||
|
||||
Each emitted event MUST include enough properties to segment reports by platform and placement when applicable.
|
||||
@@ -63,6 +64,26 @@ For content-related links (clickables representing a specific piece of content),
|
||||
- **WHEN** a user clicks a CTA inside the media modal (e.g., "View on YouTube")
|
||||
- **THEN** the system emits a `cta_click` event with `target_id`, `placement=media_modal`, `platform`, and `target_url`
|
||||
|
||||
### Requirement: Theme switch tracking event
|
||||
When Umami is enabled, the site MUST emit a custom event when the user changes theme via the theme switcher UI.
|
||||
|
||||
The site MUST emit the event using Umami's JavaScript API (`umami.track(...)`) so runtime properties can be included.
|
||||
|
||||
The event name MUST be `theme_switch`.
|
||||
|
||||
The emitted event MUST include, at minimum:
|
||||
- `target_id`
|
||||
- `placement`
|
||||
- `theme`
|
||||
|
||||
#### Scenario: Theme switch emits event
|
||||
- **WHEN** a user selects `high-contrast` in the theme switcher notch
|
||||
- **THEN** the site emits a `theme_switch` event with `theme=high-contrast` and a stable `target_id`
|
||||
|
||||
#### Scenario: Missing Umami does not break switching
|
||||
- **WHEN** Umami is not configured or the Umami script is not present
|
||||
- **THEN** theme switching and persistence still work and no browser error is thrown
|
||||
|
||||
### Requirement: Environment configuration
|
||||
The site MUST support configuration of Umami parameters (at minimum: website ID and script URL) without requiring code changes.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user