From d2c82efb0490bcf1f3a2beb50ec4c9095150128e Mon Sep 17 00:00:00 2001 From: Lee Peuker Date: Mon, 19 Aug 2024 09:14:22 +0200 Subject: [PATCH] Fix button not correctly dis/enabling like the rest in the movie detail page more modal --- public/js/movie.js | 35 ++++++++----------- .../component/modal-more-options.html.twig | 2 +- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/public/js/movie.js b/public/js/movie.js index fa7323f00..86a46aa73 100644 --- a/public/js/movie.js +++ b/public/js/movie.js @@ -162,27 +162,21 @@ function loadRatingModal() { function toggleWatchlist(isOnWatchlist) { removeAlert('alertMovieOptionModalDiv') - document.getElementById('refreshTmdbDataButton').disabled = true; - document.getElementById('refreshImdbRatingButton').disabled = true; - document.getElementById('watchlistButton').disabled = true; + disableMoreModalButtons(); if (isOnWatchlist == null) { addToWatchlistRequest().then(() => { location.reload() }).catch(() => { addAlert('alertMovieOptionModalDiv', 'Could not add to Watchlist', 'danger') - document.getElementById('refreshTmdbDataButton').disabled = false; - document.getElementById('refreshImdbRatingButton').disabled = false; - document.getElementById('watchlistButton').disabled = false; + disableMoreModalButtons(false); }) } else { removeFromWatchlistRequest().then(() => { location.reload() }).catch(() => { addAlert('alertMovieOptionModalDiv', 'Could not remove from Watchlist', 'danger') - document.getElementById('refreshTmdbDataButton').disabled = false; - document.getElementById('refreshImdbRatingButton').disabled = false; - document.getElementById('watchlistButton').disabled = false; + disableMoreModalButtons(false); }) } } @@ -190,17 +184,13 @@ function toggleWatchlist(isOnWatchlist) { function refreshTmdbData() { removeAlert('alertMovieOptionModalDiv') - document.getElementById('refreshTmdbDataButton').disabled = true; - document.getElementById('refreshImdbRatingButton').disabled = true; - document.getElementById('watchlistButton').disabled = true; + disableMoreModalButtons(); refreshTmdbDataRequest().then(() => { location.reload() }).catch(() => { addAlert('alertMovieOptionModalDiv', 'Could not refresh tmdb data', 'danger') - document.getElementById('refreshTmdbDataButton').disabled = false; - document.getElementById('refreshImdbRatingButton').disabled = false; - document.getElementById('watchlistButton').disabled = false; + disableMoreModalButtons(false); }) } @@ -234,21 +224,24 @@ async function refreshTmdbDataRequest() { return true } +function disableMoreModalButtons(disable = true) { + document.getElementById('whereToWatchModalButton').disabled = disable; + document.getElementById('refreshTmdbDataButton').disabled = disable; + document.getElementById('refreshImdbRatingButton').disabled = disable; + document.getElementById('watchlistButton').disabled = disable; +} + //region refreshImdbRating function refreshImdbRating() { removeAlert('alertMovieOptionModalDiv') - document.getElementById('refreshTmdbDataButton').disabled = true; - document.getElementById('refreshImdbRatingButton').disabled = true; - document.getElementById('watchlistButton').disabled = true; + disableMoreModalButtons(); refreshImdbRatingRequest().then(() => { location.reload() }).catch(() => { addAlert('alertMovieOptionModalDiv', 'Could not refresh imdb rating', 'danger') - document.getElementById('refreshTmdbDataButton').disabled = false; - document.getElementById('refreshImdbRatingButton').disabled = false; - document.getElementById('watchlistButton').disabled = false; + disableMoreModalButtons(false); }) } diff --git a/templates/component/modal-more-options.html.twig b/templates/component/modal-more-options.html.twig index 02c7c8fb6..2141babba 100644 --- a/templates/component/modal-more-options.html.twig +++ b/templates/component/modal-more-options.html.twig @@ -15,7 +15,7 @@