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 },
},
});