Skip to main content

User Settings

Overview

The User Settings feature allows client applications to customize the Maestro SDK behavior based on user preferences. This enables personalized experiences including panel hiding and feature disabling.

Basic Configuration

import SDK, { IUserSettings } from "@maestro_io/maestro-web-sdk";

const userSettings: IUserSettings = {
panels: {
bets: {
hidePanel: false,
hideWagers: true,
},
stats: {
hidePanel: false,
},
keyPlays: {
hidePanel: false,
},
fantasy: {
hidePanel: false,
},
shop: {
hidePanel: false,
},
},
};

// Configure SDK with user settings
SDK.configure({
siteID: "your-site-id",
userSettings: userSettings,
});

All panel settings are optional, and any panel you omit keeps its default (visible). The supported panels are bets, stats, keyPlays, fantasy, and shop. bets additionally supports hideWagers to hide dollar amounts while keeping the panel visible.

Event-Specific Settings

You can also pass userSettings when starting an event. Note that userDidStartWatchingEvent takes a single configuration object — not positional arguments:

// Start watching an event with specific settings
const maestroEvent = await SDK.userDidStartWatchingEvent({
eventId: "event-id",
delegate,
userSettings,
});

Updating Settings at Runtime

To change settings while an event is already playing — without restarting it — call updateUserSettings() on the event instance:

await maestroEvent.updateUserSettings({
panels: {
bets: { hidePanel: true },
},
});