diff --git a/MovieVerse-Frontend/html/user-profile.html b/MovieVerse-Frontend/html/user-profile.html
index 52b6fc1a..52b115af 100644
--- a/MovieVerse-Frontend/html/user-profile.html
+++ b/MovieVerse-Frontend/html/user-profile.html
@@ -1116,6 +1116,7 @@
Edit Profile Details
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Frontend/js/about.js b/MovieVerse-Frontend/js/about.js
index f26e588f..a64d6bdd 100644
--- a/MovieVerse-Frontend/js/about.js
+++ b/MovieVerse-Frontend/js/about.js
@@ -242,6 +242,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Frontend/js/actor-details.js b/MovieVerse-Frontend/js/actor-details.js
index 1b7c45c0..57097d65 100644
--- a/MovieVerse-Frontend/js/actor-details.js
+++ b/MovieVerse-Frontend/js/actor-details.js
@@ -493,6 +493,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Frontend/js/analytics.js b/MovieVerse-Frontend/js/analytics.js
index 82b83a28..db94dd39 100644
--- a/MovieVerse-Frontend/js/analytics.js
+++ b/MovieVerse-Frontend/js/analytics.js
@@ -654,6 +654,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
@@ -756,3 +757,75 @@ function handleSearch() {
localStorage.setItem('searchQuery', searchQuery);
window.location.href = 'search.html';
}
+
+document.getElementById('chart-title1').addEventListener('click' , function(e) {
+ e.preventDefault();
+
+ document.getElementById('chart-title1').scrollIntoView({ behavior: 'smooth' });
+});
+
+document.getElementById('chart-title2').addEventListener('click' , function(e) {
+ e.preventDefault();
+
+ document.getElementById('chart-title2').scrollIntoView({ behavior: 'smooth' });
+});
+
+document.getElementById('chart-title3').addEventListener('click' , function(e) {
+ e.preventDefault();
+
+ document.getElementById('chart-title3').scrollIntoView({ behavior: 'smooth' });
+});
+
+document.getElementById('chart-title4').addEventListener('click' , function(e) {
+ e.preventDefault();
+
+ document.getElementById('chart-title4').scrollIntoView({ behavior: 'smooth' });
+});
+
+document.getElementById('chart-title5').addEventListener('click' , function(e) {
+ e.preventDefault();
+
+ document.getElementById('chart-title5').scrollIntoView({ behavior: 'smooth' });
+});
+
+document.getElementById('chart-title6').addEventListener('click' , function(e) {
+ e.preventDefault();
+
+ document.getElementById('chart-title6').scrollIntoView({ behavior: 'smooth' });
+});
+
+document.getElementById('chart-title7').addEventListener('click' , function(e) {
+ e.preventDefault();
+
+ document.getElementById('chart-title7').scrollIntoView({ behavior: 'smooth' });
+});
+
+document.getElementById('chart-title8').addEventListener('click' , function(e) {
+ e.preventDefault();
+
+ document.getElementById('chart-title8').scrollIntoView({ behavior: 'smooth' });
+});
+
+document.getElementById('chart-title9').addEventListener('click' , function(e) {
+ e.preventDefault();
+
+ document.getElementById('chart-title9').scrollIntoView({ behavior: 'smooth' });
+});
+
+document.getElementById('chart-title11').addEventListener('click' , function(e) {
+ e.preventDefault();
+
+ document.getElementById('chart-title11').scrollIntoView({ behavior: 'smooth' });
+});
+
+document.getElementById('chart-title10').addEventListener('click' , function(e) {
+ e.preventDefault();
+
+ document.getElementById('chart-title10').scrollIntoView({ behavior: 'smooth' });
+});
+
+document.getElementById('chart-title12').addEventListener('click' , function(e) {
+ e.preventDefault();
+
+ document.getElementById('chart-title12').scrollIntoView({ behavior: 'smooth' });
+});
\ No newline at end of file
diff --git a/MovieVerse-Frontend/js/chatbot.js b/MovieVerse-Frontend/js/chatbot.js
index 9df8ce8b..cb133428 100644
--- a/MovieVerse-Frontend/js/chatbot.js
+++ b/MovieVerse-Frontend/js/chatbot.js
@@ -163,6 +163,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Frontend/js/company-details.js b/MovieVerse-Frontend/js/company-details.js
index ac8ff7c1..b564a9f4 100644
--- a/MovieVerse-Frontend/js/company-details.js
+++ b/MovieVerse-Frontend/js/company-details.js
@@ -169,6 +169,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Frontend/js/director-details.js b/MovieVerse-Frontend/js/director-details.js
index 3803dcf4..f951bb94 100644
--- a/MovieVerse-Frontend/js/director-details.js
+++ b/MovieVerse-Frontend/js/director-details.js
@@ -482,6 +482,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Frontend/js/favorites.js b/MovieVerse-Frontend/js/favorites.js
index c9e83327..18915e34 100644
--- a/MovieVerse-Frontend/js/favorites.js
+++ b/MovieVerse-Frontend/js/favorites.js
@@ -219,6 +219,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Frontend/js/inception.js b/MovieVerse-Frontend/js/inception.js
index 410660ef..af437c82 100644
--- a/MovieVerse-Frontend/js/inception.js
+++ b/MovieVerse-Frontend/js/inception.js
@@ -167,6 +167,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Frontend/js/movie-details.js b/MovieVerse-Frontend/js/movie-details.js
index f8fa8127..0906bc71 100644
--- a/MovieVerse-Frontend/js/movie-details.js
+++ b/MovieVerse-Frontend/js/movie-details.js
@@ -189,6 +189,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
@@ -582,16 +583,6 @@ async function fetchMovieDetails(movieId) {
const imdbId = movie.imdb_id;
fetchMovieRatings(imdbId, movie);
-
- const response2 = await fetch(url2);
- const movie2 = await response2.json();
- const trailers = movie2.videos.results.filter(video => video.type === 'Trailer');
-
- if (trailers.length > 0) {
- const trailerUrl = `https://www.youtube.com/watch?v=${trailers[0].key}`;
- trailerButton = createTrailerButton(trailerUrl);
- positionTrailerButton();
- }
updateBrowserURL(movie.title);
hideSpinner();
}
@@ -862,18 +853,12 @@ function positionTrailerButton() {
}
document.getElementById('movie-description').style.marginTop = '-60px';
- if (window.innerWidth <= 900) {
- const movieDescription = document.getElementById('movie-description');
- movieDescription.parentNode.insertBefore(trailerButton, movieDescription);
- }
- else {
- const movieRating = document.getElementById('movie-rating');
- movieRating.parentNode.insertBefore(trailerButton, movieRating.nextSibling);
- }
+ const movieRating = document.getElementById('movie-rating');
+ movieRating.parentNode.insertBefore(trailerButton, movieRating.nextSibling);
+
hideSpinner();
}
-document.addEventListener('DOMContentLoaded', positionTrailerButton);
function showTrailerIframe(trailerUrl) {
trailerUrlGlobal = trailerUrl;
@@ -1063,38 +1048,191 @@ async function populateMovieDetails(movie, imdbRating, rtRating, metascore, awar
const directors = movie.credits.crew.filter(member => member.job === 'Director');
if (directors.length > 0) {
- const directorsLinks = directors.map(director =>
- `
${director.name}`
- ).join(', ');
+ const directorSection = document.createElement('div');
+ directorSection.classList.add('director-section');
+ directorSection.style.textAlign = 'center';
+
+ const directorTitle = document.createElement('span');
+ directorTitle.innerHTML = '
Director: ';
+ directorSection.appendChild(directorTitle);
+
+ directors.forEach(director => {
+ const directorLink = document.createElement('a');
+ directorLink.classList.add('director-link');
+ directorLink.href = 'javascript:void(0);';
+ directorLink.style.textDecoration = 'none';
+ directorLink.setAttribute('onclick', `handleDirectorClick(${director.id}, '${director.name.replace(/'/g, "\\'")}');`);
+
+ const directorItem = document.createElement('div');
+ directorItem.classList.add('cast-item');
+
+ const directorImage = document.createElement('img');
+ directorImage.classList.add('cast-image');
+
+ if (director.profile_path) {
+ directorImage.src = IMGPATH + director.profile_path;
+ directorImage.alt = `${director.name} Profile Picture`;
+ } else {
+ directorImage.alt = 'Image Not Available';
+ directorImage.src = '../../images/user-default.png';
+ directorImage.style.filter = 'grayscale(100%)';
+ directorImage.style.objectFit = 'cover';
+ }
- const directorsElement = document.createElement('p');
- directorsElement.innerHTML = `
Director: ${directorsLinks}`;
- document.getElementById('movie-description').appendChild(directorsElement);
- }
- else {
+ directorItem.appendChild(directorImage);
+
+ const directorDetails = document.createElement('div');
+ directorDetails.classList.add('cast-details');
+
+ const directorName = document.createElement('p');
+ directorName.classList.add('actor-name');
+ directorName.textContent = director.name;
+ directorDetails.appendChild(directorName);
+
+ directorItem.appendChild(directorDetails);
+ directorLink.appendChild(directorItem);
+ directorSection.appendChild(directorLink);
+ });
+
+ document.getElementById('movie-description').appendChild(directorSection);
+ } else {
const noDirectorsElement = document.createElement('p');
noDirectorsElement.innerHTML = `
Director: Information not available`;
document.getElementById('movie-description').appendChild(noDirectorsElement);
}
}
- const castHeading = document.createElement('p');
- castHeading.innerHTML = '
Cast: ';
- document.getElementById('movie-description').appendChild(castHeading);
+ const castSection = document.createElement('div');
+ castSection.classList.add('cast-section');
+
+ const castTitle = document.createElement('p');
+ castTitle.innerHTML = '
Notable Cast:';
+ castSection.appendChild(castTitle);
if (movie.credits && movie.credits.cast.length > 0) {
- const topTenCast = movie.credits.cast.slice(0, 10);
- topTenCast.forEach((actor, index) => {
- const actorLink = document.createElement('a');
- actorLink.innerHTML = `
${actor.name}`;
- castHeading.appendChild(actorLink);
- if (index < topTenCast.length - 1) {
- castHeading.appendChild(document.createTextNode(', '));
+ const castList = document.createElement('div');
+ castList.classList.add('cast-list');
+ castList.style.display = 'flex';
+ castList.style.flexWrap = 'wrap';
+ castList.style.justifyContent = 'center';
+ castList.style.gap = '10px';
+ const topTwelveCast = movie.credits.cast.slice(0, 10);
+
+ topTwelveCast.forEach(actor => {
+ const castItemLink = document.createElement('a');
+ castItemLink.classList.add('actor-link');
+ castItemLink.href = 'javascript:void(0);';
+ castItemLink.setAttribute('onclick', `selectActorId(${actor.id}, '${actor.name.replace(/'/g, "\\'")}');`);
+
+ const castItem = document.createElement('div');
+ castItem.classList.add('cast-item');
+
+ const actorImage = document.createElement('img');
+ actorImage.classList.add('cast-image');
+
+ if (actor.profile_path) {
+ actorImage.src = IMGPATH + actor.profile_path;
+ actorImage.alt = `${actor.name} Profile Picture`;
+ }
+ else {
+ actorImage.alt = 'Image Not Available';
+ actorImage.src = '../../images/user-default.png';
+ actorImage.style.filter = 'grayscale(100%)';
+ actorImage.style.objectFit = 'cover';
+ }
+
+ castItem.appendChild(actorImage);
+
+ const actorDetails = document.createElement('div');
+ actorDetails.classList.add('cast-details');
+
+ const actorName = document.createElement('p');
+ actorName.classList.add('actor-name');
+ actorName.textContent = actor.name;
+ actorName.style.wordWrap = 'break-word';
+ actorDetails.appendChild(actorName);
+
+ const character = actor.character ? ` (${actor.character})` : '';
+ const actorRole = document.createElement('p');
+ actorRole.classList.add('actor-role');
+ actorRole.style.fontSize = '11px';
+ actorRole.textContent = character;
+ actorRole.style.fontStyle = 'italic';
+ actorRole.style.wordWrap = 'break-word';
+ actorDetails.appendChild(actorRole);
+
+ castItem.appendChild(actorDetails);
+ castItemLink.appendChild(castItem);
+ castList.appendChild(castItemLink);
+ });
+
+ castSection.appendChild(castList);
+ }
+ else {
+ castSection.appendChild(document.createTextNode('None available.'));
+ }
+
+ document.getElementById('movie-description').appendChild(castSection);
+
+ if (movie.similar && movie.similar.results && movie.similar.results.length > 0) {
+ const similarMoviesSection = document.createElement('div');
+ similarMoviesSection.classList.add('similar-movies-section');
+
+ const similarMoviesTitle = document.createElement('p');
+ similarMoviesTitle.innerHTML = '
Similar Movies:';
+ similarMoviesSection.appendChild(similarMoviesTitle);
+
+ const similarMoviesList = document.createElement('div');
+ similarMoviesList.classList.add('similar-movies-list');
+ similarMoviesList.style.display = 'flex';
+ similarMoviesList.style.flexWrap = 'wrap';
+ similarMoviesList.style.justifyContent = 'center';
+ similarMoviesList.style.gap = '10px';
+
+ const topTenSimilarMovies = movie.similar.results.slice(0, 10);
+ topTenSimilarMovies.forEach(similarMovie => {
+ const similarMovieLink = document.createElement('a');
+ similarMovieLink.classList.add('similar-movie-link');
+ similarMovieLink.href = 'javascript:void(0);';
+ similarMovieLink.setAttribute('onclick', `handleSimilarMovieClick(${similarMovie.id}, '${similarMovie.title.replace(/'/g, "\\'")}');`);
+
+ const similarMovieItem = document.createElement('div');
+ similarMovieItem.classList.add('cast-item');
+
+ const similarMovieImage = document.createElement('img');
+ similarMovieImage.classList.add('cast-image');
+
+ if (similarMovie.poster_path) {
+ similarMovieImage.src = IMGPATH + similarMovie.poster_path;
+ similarMovieImage.alt = `${similarMovie.title} Poster`;
+ } else {
+ similarMovieImage.alt = 'Image Not Available';
+ similarMovieImage.src = '../../images/movie-default.jpg';
+ similarMovieImage.style.filter = 'grayscale(100%)';
}
+
+ similarMovieItem.appendChild(similarMovieImage);
+
+ const similarMovieDetails = document.createElement('div');
+ similarMovieDetails.classList.add('cast-details');
+
+ const similarMovieTitle = document.createElement('p');
+ similarMovieTitle.classList.add('actor-name');
+ similarMovieTitle.textContent = similarMovie.title;
+ similarMovieDetails.appendChild(similarMovieTitle);
+
+ similarMovieItem.appendChild(similarMovieDetails);
+ similarMovieLink.appendChild(similarMovieItem);
+ similarMoviesList.appendChild(similarMovieLink);
});
+
+ similarMoviesSection.appendChild(similarMoviesList);
+ document.getElementById('movie-description').appendChild(similarMoviesSection);
}
else {
- castHeading.appendChild(document.createTextNode('None available.'));
+ const noSimilarMoviesElement = document.createElement('p');
+ noSimilarMoviesElement.innerHTML = `
Similar Movies: None available`;
+ document.getElementById('movie-description').appendChild(noSimilarMoviesElement);
}
if (movie.production_companies && movie.production_companies.length > 0) {
@@ -1112,21 +1250,6 @@ async function populateMovieDetails(movie, imdbRating, rtRating, metascore, awar
document.getElementById('movie-description').appendChild(noCompaniesElement);
}
- if (movie.similar && movie.similar.results && movie.similar.results.length > 0) {
- let similarMoviesHTML = movie.similar.results.map(similarMovie => {
- return `
${similarMovie.title}`;
- }).join(', ');
-
- const similarMoviesElement = document.createElement('p');
- similarMoviesElement.innerHTML = `
Similar Movies: ${similarMoviesHTML}`;
- document.getElementById('movie-description').appendChild(similarMoviesElement);
- }
- else {
- const noSimilarMoviesElement = document.createElement('p');
- noSimilarMoviesElement.innerHTML = `
Similar Movies: None available`;
- document.getElementById('movie-description').appendChild(noSimilarMoviesElement);
- }
-
document.getElementById('movie-description').innerHTML += `
Streaming Options: ${streamingHTML}
`;
@@ -1299,6 +1422,31 @@ async function populateMovieDetails(movie, imdbRating, rtRating, metascore, awar
document.querySelector('.movie-left').appendChild(noImageText);
}
+ const movieId = movie.id;
+ const code = `${getMovieCode()}`;
+ const url2 = `https://${getMovieVerseData()}/3/movie/${movieId}?${generateMovieNames()}${code}&append_to_response=videos`;
+ try {
+ const response2 = await fetch(url2);
+ const movie2 = await response2.json();
+ const trailers = movie2.videos.results.filter(video => video.type === 'Trailer');
+
+ if (trailers.length > 0) {
+ const trailerUrl = `https://www.youtube.com/watch?v=${trailers[0].key}`;
+ trailerButton = createTrailerButton(trailerUrl);
+ detailsContainer.appendChild(trailerButton);
+ }
+ updateBrowserURL(movie.title);
+
+ console.log(movie2)
+ }
+ catch (error) {
+ document.getElementById('movie-details-container').innerHTML = `
+
+
Movie details not found - Try again with a different movie
+ `;
+ console.log('Error fetching movie details:', error);
+ }
+
hideSpinner();
}
@@ -1369,6 +1517,10 @@ function getSavedTextColor() {
return localStorage.getItem('textColor') || 'white';
}
+function handleActorClick(actorId, actorName) {
+ selectActorId(actorId, actorName);
+}
+
function handleDirectorClick(directorId, directorName) {
localStorage.setItem('selectedDirectorId', directorId);
document.title = `${directorName} - Director's Details`;
diff --git a/MovieVerse-Frontend/js/movie-match.js b/MovieVerse-Frontend/js/movie-match.js
index db6cf0e0..dd8e4065 100644
--- a/MovieVerse-Frontend/js/movie-match.js
+++ b/MovieVerse-Frontend/js/movie-match.js
@@ -165,6 +165,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Frontend/js/movie-timeline.js b/MovieVerse-Frontend/js/movie-timeline.js
index 37f491bf..8d0a10ed 100644
--- a/MovieVerse-Frontend/js/movie-timeline.js
+++ b/MovieVerse-Frontend/js/movie-timeline.js
@@ -171,6 +171,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Frontend/js/privacy-policy.js b/MovieVerse-Frontend/js/privacy-policy.js
index 68a1dc2a..0bbc65a4 100644
--- a/MovieVerse-Frontend/js/privacy-policy.js
+++ b/MovieVerse-Frontend/js/privacy-policy.js
@@ -210,6 +210,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Frontend/js/search.js b/MovieVerse-Frontend/js/search.js
index cd665e18..6625c07d 100644
--- a/MovieVerse-Frontend/js/search.js
+++ b/MovieVerse-Frontend/js/search.js
@@ -255,6 +255,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Frontend/js/terms-of-service.js b/MovieVerse-Frontend/js/terms-of-service.js
index 42a2d0af..916cbcfd 100644
--- a/MovieVerse-Frontend/js/terms-of-service.js
+++ b/MovieVerse-Frontend/js/terms-of-service.js
@@ -644,6 +644,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Frontend/js/tv-details.js b/MovieVerse-Frontend/js/tv-details.js
index 34a6d37c..05755be2 100644
--- a/MovieVerse-Frontend/js/tv-details.js
+++ b/MovieVerse-Frontend/js/tv-details.js
@@ -4,8 +4,6 @@ const movieCode = {
part3: 'ZDllOTg3ZGNjN2YxYjU1OA=='
};
-let globalTrailerKey = '';
-
function getMovieCode() {
return atob(movieCode.part1) + atob(movieCode.part2) + atob(movieCode.part3);
}
@@ -165,6 +163,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
@@ -550,13 +549,6 @@ async function fetchTvDetails(tvSeriesId) {
populateTvSeriesDetails(tvSeriesDetails, imdbRating);
updateBrowserURL(tvSeriesDetails.name);
-
- const trailer = tvSeriesDetails.videos.results.find(video => video.type === 'Trailer' && video.site === 'YouTube');
- if (trailer) {
- document.getElementById('trailerButton').style.display = 'block';
- globalTrailerKey = trailer.key;
- }
-
hideSpinner();
}
catch (error) {
@@ -681,25 +673,189 @@ async function populateTvSeriesDetails(tvSeries, imdbRating) {
const productionCountries = tvSeries.production_countries && tvSeries.production_countries.length > 0 ? tvSeries.production_countries.map(country => getCountryName(country.iso_3166_1)).join(', ') : 'Information not available';
detailsHTML += `
Production Countries: ${productionCountries}
`;
- if (tvSeries.created_by && tvSeries.created_by.length) {
- const creatorsLinks = tvSeries.created_by.map(creator =>
- `
${creator.name}`
- ).join(', ');
- detailsHTML += `
Directors: ${creatorsLinks}
`;
- }
- else {
- detailsHTML += `
Directors: Information not available
`;
+ if (tvSeries.created_by && tvSeries.created_by.length > 0) {
+ const creatorsSection = document.createElement('div');
+ creatorsSection.classList.add('creators-section');
+
+ const creatorsTitle = document.createElement('p');
+ creatorsTitle.innerHTML = '
Creators:';
+ creatorsSection.appendChild(creatorsTitle);
+
+ const creatorsList = document.createElement('div');
+ creatorsList.classList.add('creators-list');
+ creatorsList.style.display = 'flex';
+ creatorsList.style.flexWrap = 'wrap';
+ creatorsList.style.justifyContent = 'center';
+ creatorsList.style.gap = '10px';
+
+ tvSeries.created_by.forEach(creator => {
+ const creatorLink = document.createElement('a');
+ creatorLink.classList.add('creator-link');
+ creatorLink.href = 'javascript:void(0);';
+ creatorLink.setAttribute('onclick', `handleCreatorClick(${creator.id}, '${creator.name.replace(/'/g, "\\'")}');`);
+
+ const creatorItem = document.createElement('div');
+ creatorItem.classList.add('creator-item');
+
+ const creatorImage = document.createElement('img');
+ creatorImage.classList.add('creator-image');
+
+ if (creator.profile_path) {
+ creatorImage.src = IMGPATH + creator.profile_path;
+ creatorImage.alt = `${creator.name} Profile Picture`;
+ } else {
+ creatorImage.alt = 'Image Not Available';
+ creatorImage.style.objectFit = 'cover';
+ creatorImage.src = '../../images/user-default.png';
+ creatorImage.style.filter = 'grayscale(100%)';
+ }
+
+ creatorItem.appendChild(creatorImage);
+
+ const creatorDetails = document.createElement('div');
+ creatorDetails.classList.add('creator-details');
+
+ const creatorName = document.createElement('p');
+ creatorName.classList.add('creator-name');
+ creatorName.textContent = creator.name;
+ creatorDetails.appendChild(creatorName);
+
+ creatorItem.appendChild(creatorDetails);
+ creatorLink.appendChild(creatorItem);
+ creatorsList.appendChild(creatorLink);
+ });
+
+ creatorsSection.appendChild(creatorsList);
+ detailsHTML += creatorsSection.outerHTML;
+ } else {
+ const noCreatorsElement = document.createElement('p');
+ noCreatorsElement.innerHTML = `
Creators: Information not available`;
+ detailsHTML += noCreatorsElement.outerHTML;
}
- if (tvSeries.credits && tvSeries.credits.cast && tvSeries.credits.cast.length) {
- let castHTML = tvSeries.credits.cast.slice(0, 100).map(castMember => {
- const escapedName = castMember.name.replace(/'/g, "\\'");
- return `
${castMember.name}`;
- }).join(', ');
- detailsHTML += `
Cast: ${castHTML}
`;
+ if (tvSeries.credits && tvSeries.credits.cast && tvSeries.credits.cast.length > 0) {
+ const castSection = document.createElement('div');
+ castSection.classList.add('cast-section');
+
+ const castTitle = document.createElement('p');
+ castTitle.innerHTML = '
Cast:';
+ castSection.appendChild(castTitle);
+
+ const castList = document.createElement('div');
+ castList.classList.add('cast-list');
+ castList.style.display = 'flex';
+ castList.style.flexWrap = 'wrap';
+ castList.style.justifyContent = 'center';
+ castList.style.gap = '10px';
+
+ tvSeries.credits.cast.slice(0, 10).forEach(castMember => {
+ const castMemberLink = document.createElement('a');
+ castMemberLink.classList.add('cast-member-link');
+ castMemberLink.href = 'javascript:void(0);';
+ castMemberLink.setAttribute('onclick', `selectActorId(${castMember.id}, '${castMember.name.replace(/'/g, "\\'")}');`);
+
+ const castMemberItem = document.createElement('div');
+ castMemberItem.classList.add('cast-member-item');
+
+ const castMemberImage = document.createElement('img');
+ castMemberImage.classList.add('cast-member-image');
+
+ if (castMember.profile_path) {
+ castMemberImage.src = IMGPATH + castMember.profile_path;
+ castMemberImage.alt = `${castMember.name} Profile Picture`;
+ } else {
+ castMemberImage.alt = 'Image Not Available';
+ castMemberImage.style.objectFit = 'cover';
+ castMemberImage.src = '../../images/user-default.png';
+ castMemberImage.style.filter = 'grayscale(100%)';
+ }
+
+ castMemberItem.appendChild(castMemberImage);
+
+ const castMemberDetails = document.createElement('div');
+ castMemberDetails.classList.add('cast-member-details');
+
+ const castMemberName = document.createElement('p');
+ castMemberName.classList.add('cast-member-name');
+ castMemberName.textContent = castMember.name;
+ castMemberDetails.appendChild(castMemberName);
+
+ const castMemberRole = document.createElement('p');
+ castMemberRole.classList.add('cast-member-role');
+ castMemberRole.textContent = castMember.character ? `(${castMember.character})` : '';
+ castMemberRole.style.fontStyle = 'italic';
+ castMemberDetails.appendChild(castMemberRole);
+
+ castMemberItem.appendChild(castMemberDetails);
+ castMemberLink.appendChild(castMemberItem);
+ castList.appendChild(castMemberLink);
+ });
+
+ castSection.appendChild(castList);
+ detailsHTML += castSection.outerHTML;
+ } else {
+ const noCastElement = document.createElement('p');
+ noCastElement.innerHTML = `
Cast: Information not available`;
+ detailsHTML += noCastElement.outerHTML;
}
- else {
- detailsHTML += `
Cast: Information not available
`;
+
+ if (tvSeries.similar && tvSeries.similar.results && tvSeries.similar.results.length > 0) {
+ const similarTvSeriesSection = document.createElement('div');
+ similarTvSeriesSection.classList.add('similar-tv-series-section');
+
+ const similarTvSeriesTitle = document.createElement('p');
+ similarTvSeriesTitle.innerHTML = '
Similar TV Series:';
+ similarTvSeriesSection.appendChild(similarTvSeriesTitle);
+
+ const similarTvSeriesList = document.createElement('div');
+ similarTvSeriesList.classList.add('similar-tv-series-list');
+ similarTvSeriesList.style.display = 'flex';
+ similarTvSeriesList.style.flexWrap = 'wrap';
+ similarTvSeriesList.style.justifyContent = 'center';
+ similarTvSeriesList.style.gap = '10px';
+
+ tvSeries.similar.results.slice(0, 5).forEach(similarTv => {
+ const similarTvLink = document.createElement('a');
+ similarTvLink.classList.add('similar-tv-link');
+ similarTvLink.href = 'javascript:void(0);';
+ similarTvLink.setAttribute('onclick', `selectTvSeriesId(${similarTv.id});`);
+
+ const similarTvItem = document.createElement('div');
+ similarTvItem.classList.add('similar-tv-item');
+
+ const similarTvImage = document.createElement('img');
+ similarTvImage.classList.add('similar-tv-image');
+
+ if (similarTv.poster_path) {
+ similarTvImage.src = IMGPATH + similarTv.poster_path;
+ similarTvImage.alt = `${similarTv.name} Poster`;
+ } else {
+ similarTvImage.alt = 'Image Not Available';
+ similarTvImage.src = '../../images/tv-default.png';
+ similarTvImage.style.filter = 'grayscale(100%)';
+ }
+
+ similarTvItem.appendChild(similarTvImage);
+
+ const similarTvDetails = document.createElement('div');
+ similarTvDetails.classList.add('similar-tv-details');
+
+ const similarTvName = document.createElement('p');
+ similarTvName.classList.add('similar-tv-name');
+ similarTvName.textContent = similarTv.name;
+ similarTvDetails.appendChild(similarTvName);
+
+ similarTvItem.appendChild(similarTvDetails);
+ similarTvLink.appendChild(similarTvItem);
+ similarTvSeriesList.appendChild(similarTvLink);
+ });
+
+ similarTvSeriesSection.appendChild(similarTvSeriesList);
+ detailsHTML += similarTvSeriesSection.outerHTML;
+ } else {
+ const noSimilarTvSeriesElement = document.createElement('p');
+ noSimilarTvSeriesElement.innerHTML = `
Similar TV Series: Information not available`;
+ detailsHTML += noSimilarTvSeriesElement.outerHTML;
}
if (tvSeries.production_companies && tvSeries.production_companies.length) {
@@ -712,16 +868,6 @@ async function populateTvSeriesDetails(tvSeries, imdbRating) {
detailsHTML += `
Production Companies: Information not available
`;
}
- if (tvSeries.similar && tvSeries.similar.results && tvSeries.similar.results.length) {
- let similarTVHTML = tvSeries.similar.results.slice(0, 5).map(similarTv => {
- return `
${similarTv.name}`;
- }).join(', ');
- detailsHTML += `
Similar TV Series: ${similarTVHTML}
`;
- }
- else {
- detailsHTML += `
Similar TV Series: Information not available
`;
- }
-
if (tvSeries.last_episode_to_air) {
detailsHTML += `
Last Episode: ${tvSeries.last_episode_to_air.name || 'Title not available'} - "${tvSeries.last_episode_to_air.overview || 'Overview not available.'}"
`;
}
@@ -1036,24 +1182,6 @@ document.addEventListener('DOMContentLoaded', () => {
setStarRating(movieRating);
});
-document.addEventListener('DOMContentLoaded', () => {
- document.getElementById('trailerButton').addEventListener('click', () => {
- const trailerContainer = document.getElementById('trailerContainer');
- const isOpen = trailerContainer.style.maxHeight !== '0px';
-
- if (isOpen) {
- trailerContainer.style.maxHeight = '0';
- }
- else {
- const trailerIframe = `
`;
- trailerContainer.innerHTML = trailerIframe;
- trailerContainer.style.maxWidth = '400px';
- trailerContainer.style.maxHeight = '315px';
- trailerContainer.style.borderRadius = '8px';
- }
- });
-});
-
async function showMovieOfTheDay() {
const year = new Date().getFullYear();
const url = `https://${getMovieVerseData()}/3/discover/movie?${generateMovieNames()}${getMovieCode()}&sort_by=vote_average.desc&vote_count.gte=100&primary_release_year=${year}&vote_average.gte=7`;
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/404.html b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/404.html
index 26c82f8b..6c4dc9eb 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/404.html
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/404.html
@@ -248,6 +248,7 @@
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/about.html b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/about.html
index d619cff3..8f1e5f0f 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/about.html
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/about.html
@@ -852,6 +852,7 @@
Useful Links:
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/api_fails.html b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/api_fails.html
index d629ccd9..43ea13a9 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/api_fails.html
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/api_fails.html
@@ -232,6 +232,7 @@
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/chat.html b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/chat.html
index bdbfe5aa..2116d9e7 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/chat.html
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/chat.html
@@ -936,6 +936,7 @@
Recent & Suggested Chats
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/create-account.html b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/create-account.html
index e4a3ead6..57e49608 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/create-account.html
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/create-account.html
@@ -946,6 +946,7 @@
Create Account
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/feedback.html b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/feedback.html
index f3e7972a..91336c68 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/feedback.html
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/feedback.html
@@ -299,6 +299,7 @@
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/movie-details.html b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/movie-details.html
index fbb56f53..3cb88267 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/movie-details.html
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/movie-details.html
@@ -225,6 +225,10 @@
margin-top: -40px;
}
}
+
+ #ad-container {
+ display: block !important;
+ }
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/notifications.html b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/notifications.html
index a483691d..6887ad0e 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/notifications.html
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/notifications.html
@@ -1093,6 +1093,7 @@
Popular Directors
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/reset-password.html b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/reset-password.html
index caaa2f72..3727e104 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/reset-password.html
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/reset-password.html
@@ -510,6 +510,7 @@
Reset Password
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/search.html b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/search.html
index f23f2d29..358eee0e 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/search.html
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/search.html
@@ -86,6 +86,10 @@
background-position: top center;
}
}
+
+ #ad-container {
+ display: block !important;
+ }
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/user-profile.html b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/user-profile.html
index 52b6fc1a..52b115af 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/user-profile.html
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/html/user-profile.html
@@ -1116,6 +1116,7 @@
Edit Profile Details
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/about.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/about.js
index f26e588f..a64d6bdd 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/about.js
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/about.js
@@ -242,6 +242,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/actor-details.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/actor-details.js
index 1b7c45c0..57097d65 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/actor-details.js
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/actor-details.js
@@ -493,6 +493,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/analytics.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/analytics.js
index 82b83a28..60ad3e2c 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/analytics.js
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/analytics.js
@@ -654,6 +654,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/chatbot.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/chatbot.js
index 9df8ce8b..cb133428 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/chatbot.js
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/chatbot.js
@@ -163,6 +163,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/company-details.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/company-details.js
index ac8ff7c1..b564a9f4 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/company-details.js
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/company-details.js
@@ -169,6 +169,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/director-details.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/director-details.js
index 3803dcf4..f951bb94 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/director-details.js
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/director-details.js
@@ -482,6 +482,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/favorites.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/favorites.js
index c9e83327..18915e34 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/favorites.js
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/favorites.js
@@ -219,6 +219,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/inception.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/inception.js
index 410660ef..af437c82 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/inception.js
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/inception.js
@@ -167,6 +167,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/movie-details.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/movie-details.js
index f8fa8127..f45cf77a 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/movie-details.js
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/movie-details.js
@@ -189,6 +189,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/movie-match.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/movie-match.js
index db6cf0e0..dd8e4065 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/movie-match.js
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/movie-match.js
@@ -165,6 +165,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/movie-timeline.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/movie-timeline.js
index 37f491bf..8d0a10ed 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/movie-timeline.js
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/movie-timeline.js
@@ -171,6 +171,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/privacy-policy.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/privacy-policy.js
index 68a1dc2a..0bbc65a4 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/privacy-policy.js
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/privacy-policy.js
@@ -210,6 +210,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/search.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/search.js
index cd665e18..6625c07d 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/search.js
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/search.js
@@ -255,6 +255,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/terms-of-service.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/terms-of-service.js
index 42a2d0af..916cbcfd 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/terms-of-service.js
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/terms-of-service.js
@@ -644,6 +644,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/tv-details.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/tv-details.js
index 34a6d37c..f61eae35 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/tv-details.js
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/MovieVerse-Frontend/js/tv-details.js
@@ -165,6 +165,7 @@ async function rotateUserStats() {
clearInterval(statRotationInterval);
updateStatDisplay();
statRotationInterval = setInterval(updateStatDisplay, 3000);
+ localTimeDiv.scrollIntoView({ behavior: 'smooth' });
});
}
diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/index.html b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/index.html
index c8072b93..8845719e 100644
--- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/index.html
+++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/index.html
@@ -600,7 +600,7 @@
Movie Comments
@@ -379,9 +373,15 @@Add a Comment for This Movie