diff --git a/src/components/AddTrack.js b/src/components/AddTrack.js index cd0dc8d..008d185 100644 --- a/src/components/AddTrack.js +++ b/src/components/AddTrack.js @@ -10,7 +10,7 @@ export default function AddTrack({ numTracks = 0, spotify = null, onAdd = f => f const [spinner, setSpinner] = useState(0); return ( -
+
setCurrentId(id)} diff --git a/src/components/Spotify.js b/src/components/Spotify.js index 2824861..28e5eb2 100644 --- a/src/components/Spotify.js +++ b/src/components/Spotify.js @@ -40,14 +40,17 @@ export default class Spotify extends SpotifyWebApi { } async autoRefresh(f, ...params) { - let response = await f(); - if (response.error && response.error.message === "The access token expired") { - response = await fetch(process.env.REACT_APP_API_URL + '/refresh_token?refresh_token=' + this.refreshToken); - const json = await response.json(); - this.setAccessToken(json.access_token); - response = f(); + try { + return await f(); + } catch (error) { + let response = JSON.parse(error.response); + if (response.error && response.error.message === "The access token expired") { + let response = await fetch(process.env.REACT_APP_API_URL + '/refresh_token?refresh_token=' + this.refreshToken); + const json = await response.json(); + this.setAccessToken(json.access_token); + return f(); + } } - return response; } async getCurrentUser() { diff --git a/src/components/TrackSelector.js b/src/components/TrackSelector.js index 1eb2511..4c21a22 100644 --- a/src/components/TrackSelector.js +++ b/src/components/TrackSelector.js @@ -1,4 +1,5 @@ import { useState, useEffect } from "react"; +import { FaSpotify } from "react-icons/fa" import Col from 'react-bootstrap/Col'; import { debounceFunction } from "../lib"; import "./TrackSelector.css"; @@ -14,7 +15,11 @@ export default function TrackSelector({ spotify = null, onSelect = f => f, onSea spotify.autoRefresh(() => spotify.getMyCurrentPlayingTrack()) .then((response) => { console.log(response); - setCurrentTrack(response.item ? response.item.name : null); + setCurrentTrack(response.item ? { + 'track': + `${response.item.artists[0].name} - ${response.item.name}`, + 'track_id': response.item.id + } : null); }).catch(error => console.error('Error:', error)); } else { setCurrentTrack(null); @@ -68,7 +73,13 @@ export default function TrackSelector({ spotify = null, onSelect = f => f, onSea {currentTrack ? <>
- {currentTrack} +
{ + ////////////////////////////////////////// setSearchResults + }}> + +
+
{currentTrack.track}
+
: <> }