From e72908679c0c2846ce16cc32e2452a961f59e403 Mon Sep 17 00:00:00 2001
From: David Trattnig <david@subsquare.at>
Date: Fri, 16 Dec 2022 12:58:49 +0100
Subject: [PATCH] refact: settings for show detail

---
 config/sample.settings.json      |  1 +
 src/components/ShowDetail.svelte | 17 +++++++++--------
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/config/sample.settings.json b/config/sample.settings.json
index 21e72b9..d0287a5 100644
--- a/config/sample.settings.json
+++ b/config/sample.settings.json
@@ -4,6 +4,7 @@
         "url": "https://prog-info.o94.at/api.php/",
         "endpoints": {
             "shows": "shows",
+            "episodes": "timeslots",
             "categories": "categories",
             "programmeCurrent": "current",
             "programmeToday": "today",
diff --git a/src/components/ShowDetail.svelte b/src/components/ShowDetail.svelte
index f75e3bb..26cc197 100644
--- a/src/components/ShowDetail.svelte
+++ b/src/components/ShowDetail.svelte
@@ -1,12 +1,12 @@
 <script>
   import { onMount } from 'svelte'
   import Spinner from '../common/Spinner.svelte'
-  import { fetchApi, formatApiDate } from '../common/Common.svelte'
+  import { settings, fetchApi, formatApiDate } from '../common/Common.svelte'
   import ShowCardBig from '../cards/ShowCardBig.svelte'
 
-  export let api = 'https://prog-info.o94.at/api.php'
-  export let endpointShows = 'shows'
-  export let endpointEpisodes = 'timeslots'
+  // export let api = 'https://prog-info.o94.at/api.php'
+  // export let endpointShows = 'shows'
+  // export let endpointEpisodes = 'timeslots'
   export let showSlug = undefined
   export let episodeDaysFuture = 360
   export let episodeDaysPast = 180
@@ -26,6 +26,8 @@
   export let urlShowList = undefined
   export let radioEpoch = new Date('1998-08-17')
 
+  let endpointShows = settings.api.endpoints.shows
+  let endpointEpisodes = settings.api.endpoints.episodes
   let tmp_show // FIXME Workaround for current API limitations: It's not possible to fetch everything in one request (see below)
   let show
   let episodes
@@ -40,7 +42,7 @@
     let fromDate = radioEpoch
     fromDate = formatApiDate(fromDate)
     let toDate = formatApiDate(new Date())
-    let baseUrl = `${api}/${endpointShows}/${tmp_show.id}/${endpointEpisodes}`
+    let baseUrl = `${settings.api.url}/${endpointShows}/${tmp_show.id}/${endpointEpisodes}`
     let episodeUrl = `${baseUrl}?&withNote&start=${fromDate}&end=${toDate}`
     fetchApi(episodeUrl, processMoreEpisodes)
   }
@@ -52,8 +54,7 @@
     let url = new URL(window.location.href)
     let urlSlug = url.searchParams.get('slug')
     if (urlSlug) showSlug = urlSlug
-
-    let showUrl = `${api}/${endpointShows}/${showSlug}?withHostDetails=true`
+    let showUrl = `${settings.api.url}/${endpointShows}/${showSlug}?withHostDetails=true`
     console.log('Show API Url:' + showUrl)
     fetchApi(showUrl, processShowResponse)
   })
@@ -76,7 +77,7 @@
 
     pastDate = formatApiDate(pastDate)
     futureDate = formatApiDate(futureDate)
-    let baseUrl = `${api}/${endpointShows}/${tmp_show.id}/${endpointEpisodes}`
+    let baseUrl = `${settings.api.url}/${endpointShows}/${tmp_show.id}/${endpointEpisodes}`
     let episodeUrl = `${baseUrl}?&withNote&start=${pastDate}&end=${futureDate}`
     fetchApi(episodeUrl, processEpisodesResponse)
   }
-- 
GitLab