From fa46b11ae19e82489acebbd8e7fcf5302d04e5fc Mon Sep 17 00:00:00 2001
From: Jonas Heinrich <onny@project-insanity.org>
Date: Mon, 22 Mar 2021 09:14:51 +0100
Subject: [PATCH] minor cleanup fyydapi service

---
 lib/Service/FyydApiService.php | 14 ++++++++------
 src/components/Header.vue      |  2 +-
 src/components/ItemSlider.vue  | 16 ++++++++++++----
 src/components/LoadMore.vue    |  2 --
 4 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/lib/Service/FyydApiService.php b/lib/Service/FyydApiService.php
index 0d5cb09..251cbc5 100644
--- a/lib/Service/FyydApiService.php
+++ b/lib/Service/FyydApiService.php
@@ -38,6 +38,8 @@ class FyydApiService {
 	/** @var IURLGenerator */
 	private $url;
 
+	public $baseUrl = "https://api.fyyd.de/0.2";
+
 	public function __construct(
 		IClientService $clientService,
 		IURLGenerator $url
@@ -48,7 +50,7 @@ class FyydApiService {
 
   public function queryEpisodes(int $podcast_id, int $count = 20, int $page = 0) {
 
-		$url = "https://api.fyyd.de/0.2/podcast/episodes";
+		$url = $this->baseUrl . "/podcast/episodes";
 
 		$options['query'] = [
 			'podcast_id' => $podcast_id,
@@ -73,7 +75,7 @@ class FyydApiService {
 
 	public function queryEpisode(int $episode_id) {
 
-		$url = "https://api.fyyd.de/0.2/episode";
+		$url = $this->baseUrl . "/episode";
 
 		$options['query'] = [
 			'episode_id' => $episode_id,
@@ -94,7 +96,7 @@ class FyydApiService {
 
 	public function queryPodcast(int $podcast_id) {
 
-		$url = "https://api.fyyd.de/0.2/podcast";
+		$url = $this->baseUrl . "/podcast";
 
 		$options['query'] = [
 			'podcast_id' => $podcast_id,
@@ -117,19 +119,19 @@ class FyydApiService {
 		int $page = 0) {
 
 		if ($category == 'hot') {
-			$url = "https://api.fyyd.de/0.2/feature/podcast/hot";
+			$url = $this->baseUrl . "/feature/podcast/hot";
 			$options['query'] = [
 				'count' => $count,
 				'page' => $page,
 			];
 		} else if ($category == 'latest') {
-			$url = "https://api.fyyd.de/0.2/podcast/latest";
+			$url = $this->baseUrl . "/podcast/latest";
 			$options['query'] = [
 				'count' => $count,
 				'page' => $page,
 			];
 		} else {
-			$url = "https://api.fyyd.de/0.2/category";
+			$url = $this->baseUrl . "/category";
 			$options['query'] = [
 				'count' => $count,
 				'page' => $page,
diff --git a/src/components/Header.vue b/src/components/Header.vue
index fac527b..f260e4a 100644
--- a/src/components/Header.vue
+++ b/src/components/Header.vue
@@ -51,7 +51,7 @@ export default {
 	h1 {
 		flex-grow: 1;
 		font-size: 1.6em;
-		margin: 20px 0px 20px 0px;
+		margin: 25px 0px 25px 0px;
 	}
 	a {
 		color: #1976d2;
diff --git a/src/components/ItemSlider.vue b/src/components/ItemSlider.vue
index 840db70..367f2e2 100644
--- a/src/components/ItemSlider.vue
+++ b/src/components/ItemSlider.vue
@@ -27,7 +27,7 @@
 				class="navSlider navPrev"
 				@click="moveSlider('left')" />
 			<div
-				id="slider"
+				ref="slider"
 				class="podcastSlider"
 				:class="[showPrev ? '' : 'hideBefore', showNext ? '' : 'hideAfter']">
 				<div
@@ -68,9 +68,17 @@ export default {
 		showPrev: false,
 		showNext: true,
 	}),
+	watch: {
+		podcasts(newValue, oldValue) {
+			const slider = this.$refs.slider
+			console.log(slider.scrollLeft, slider.scrollWidth, slider.clientWidth)
+			if (slider.scrollWidth > slider.clientWidth) {
+				this.showNext = true
+			}
+		},
+	},
 	mounted() {
-		const slider = this.$el.querySelector('#slider')
-		console.log('scrollWidth: ', slider.scrollWidth, slider.clientWidth)
+		const slider = this.$refs.slider
 		const vm = this
 		slider.addEventListener('scroll', function() {
 			if (slider.scrollLeft > 0) {
@@ -88,7 +96,7 @@ export default {
 	},
 	methods: {
 		moveSlider(direction) {
-			const slider = this.$el.querySelector('#slider')
+			const slider = this.$refs.slider
 			const sliderPos = slider.scrollLeft
 			if (direction === 'right') {
 				slider.scrollLeft = sliderPos + 350
diff --git a/src/components/LoadMore.vue b/src/components/LoadMore.vue
index 222e027..9c48b66 100644
--- a/src/components/LoadMore.vue
+++ b/src/components/LoadMore.vue
@@ -56,7 +56,6 @@ export default {
 	methods: {
 
 		preFill() {
-			console.log('prefill: ', this.page)
 			if (this.page === null) {
 				document.getElementById('app-content-vue').removeEventListener('scroll', this.handleScroll)
 			} else {
@@ -72,7 +71,6 @@ export default {
 		 * On scroll event, load more shows if bottom reached
 		 */
 		handleScroll() {
-			console.log('scroll: ', this.page)
 			if (this.page === null) {
 				document.getElementById('app-content-vue').removeEventListener('scroll', this.handleScroll)
 			} else {
-- 
GitLab