query('theme', $this->getSetting(RadioSettings::EmbedTheme, 'dark')); $settings = [ 'streamUrl' => $this->streamService->formatStreamUrl($this->getSetting(RadioSettings::StreamUrl, '')), 'theme' => in_array($theme, ['dark', 'light', 'transparent']) ? $theme : 'dark', 'autoPlay' => $request->query('autoplay', $this->getSetting(RadioSettings::EmbedAutoPlay, '0')) === '1', 'primaryColor' => $this->getSetting('radio_player_color_primary', '#eeb425'), 'secondaryColor' => $this->getSetting('radio_player_color_secondary', '#1a1a2e'), 'textColor' => $this->getSetting('radio_player_color_text', '#ffffff'), 'accentColor' => $this->getSetting('radio_player_color_accent', '#eeb425'), ]; return view('radio.embed', compact('settings')); } public function config(): JsonResponse { return response()->json([ 'enabled' => (bool) $this->getSetting(RadioSettings::EmbedEnabled, '0'), 'stream_url' => $this->streamService->formatStreamUrl($this->getSetting(RadioSettings::StreamUrl, '')), 'theme' => $this->getSetting(RadioSettings::EmbedTheme, 'dark'), 'auto_play' => (bool) $this->getSetting(RadioSettings::EmbedAutoPlay, '0'), 'primary_color' => $this->getSetting('radio_player_color_primary', '#eeb425'), 'secondary_color' => $this->getSetting('radio_player_color_secondary', '#1a1a2e'), 'text_color' => $this->getSetting('radio_player_color_text', '#ffffff'), 'accent_color' => $this->getSetting('radio_player_color_accent', '#eeb425'), 'height' => (int) $this->getSetting(RadioSettings::EmbedHeight, '400'), 'width' => $this->getSetting(RadioSettings::EmbedWidth, '100%'), 'allowed_domains' => $this->getSetting(RadioSettings::EmbedAllowedDomains, ''), ]); } }