← Home
Integration · Cinema Size · Custom Theme · LiveBarn API

Junior League · Riverside Redhawks vs Northgate Thunder

Same module, different league, different brand, real LiveBarn stream. Zero internal imports — only @/shared.

Resolving feed…
Unified Console (demo triggers)
Sign in to LiveBarn to start streaming.
// app/layout.tsx (mount once, at the root):
<LiveBarnProvider>
  <PlayerProvider>{children}</PlayerProvider>
</LiveBarnProvider>

// any page that wants to play a stream:
const { setConfig } = usePlayer();
const { streamSource, feedMode, setFeedMode, error } = useLiveBarnLiveStream({
  surfaceId: HOST_SURFACE_ID,        // your LiveBarn rink id
  initialFeedMode: FEED_MODE_IDS.AUTO,
});

useEffect(() => {
  if (!streamSource) return;
  setConfig({
    match:    { ...HOST_MATCH, stream: streamSource },
    stream:   streamSource,
    theme:    { brand: "#ef4444", accent: "#fde047", live: "#fde047" },
    features: { speedSelector: false, shotsOnGoal: true },
    telemetry: { onPlay, onPause, onError },
  });
}, [streamSource, setConfig]);

// reserve the slot in your page layout (cinema = 1600px max):
<PlayerSlot size="cinema" />
<FeedModeToggle value={feedMode} onChange={setFeedMode} />