From c2b8674bd4b830817f5f9804d9e639de08e8d312 Mon Sep 17 00:00:00 2001 From: Son Nguyen Date: Sun, 26 May 2024 13:59:58 +0700 Subject: [PATCH] Update: Enhanced app functionalities (#196) --- 404.html | 1 + MovieVerse-Frontend/css/style.css | 118 ++++++++ MovieVerse-Frontend/html/about.html | 1 + MovieVerse-Frontend/html/analytics.html | 26 +- MovieVerse-Frontend/html/api_fails.html | 1 + MovieVerse-Frontend/html/chat.html | 1 + MovieVerse-Frontend/html/create-account.html | 1 + MovieVerse-Frontend/html/feedback.html | 1 + MovieVerse-Frontend/html/movie-details.html | 18 +- MovieVerse-Frontend/html/notifications.html | 1 + MovieVerse-Frontend/html/reset-password.html | 1 + MovieVerse-Frontend/html/search.html | 4 - MovieVerse-Frontend/html/settings.html | 1 + MovieVerse-Frontend/html/sign-in.html | 1 + MovieVerse-Frontend/html/support.html | 1 + MovieVerse-Frontend/html/trivia.html | 1 + MovieVerse-Frontend/html/tv-details.html | 115 +++++++- MovieVerse-Frontend/html/user-profile.html | 1 + MovieVerse-Frontend/js/about.js | 1 + MovieVerse-Frontend/js/actor-details.js | 1 + MovieVerse-Frontend/js/analytics.js | 73 +++++ MovieVerse-Frontend/js/chatbot.js | 1 + MovieVerse-Frontend/js/company-details.js | 1 + MovieVerse-Frontend/js/director-details.js | 1 + MovieVerse-Frontend/js/favorites.js | 1 + MovieVerse-Frontend/js/inception.js | 1 + MovieVerse-Frontend/js/movie-details.js | 258 ++++++++++++++---- MovieVerse-Frontend/js/movie-match.js | 1 + MovieVerse-Frontend/js/movie-timeline.js | 1 + MovieVerse-Frontend/js/privacy-policy.js | 1 + MovieVerse-Frontend/js/search.js | 1 + MovieVerse-Frontend/js/terms-of-service.js | 1 + MovieVerse-Frontend/js/tv-details.js | 234 ++++++++++++---- .../android/app/src/main/assets/www/404.html | 1 + .../www/MovieVerse-Frontend/html/about.html | 1 + .../MovieVerse-Frontend/html/api_fails.html | 1 + .../www/MovieVerse-Frontend/html/chat.html | 1 + .../html/create-account.html | 1 + .../MovieVerse-Frontend/html/feedback.html | 1 + .../html/movie-details.html | 4 + .../html/notifications.html | 1 + .../html/reset-password.html | 1 + .../www/MovieVerse-Frontend/html/search.html | 4 + .../MovieVerse-Frontend/html/settings.html | 1 + .../www/MovieVerse-Frontend/html/sign-in.html | 1 + .../www/MovieVerse-Frontend/html/support.html | 1 + .../www/MovieVerse-Frontend/html/trivia.html | 1 + .../MovieVerse-Frontend/html/tv-details.html | 4 + .../html/user-profile.html | 1 + .../www/MovieVerse-Frontend/js/about.js | 1 + .../MovieVerse-Frontend/js/actor-details.js | 1 + .../www/MovieVerse-Frontend/js/analytics.js | 1 + .../www/MovieVerse-Frontend/js/chatbot.js | 1 + .../MovieVerse-Frontend/js/company-details.js | 1 + .../js/director-details.js | 1 + .../www/MovieVerse-Frontend/js/favorites.js | 1 + .../www/MovieVerse-Frontend/js/inception.js | 1 + .../MovieVerse-Frontend/js/movie-details.js | 1 + .../www/MovieVerse-Frontend/js/movie-match.js | 1 + .../MovieVerse-Frontend/js/movie-timeline.js | 1 + .../MovieVerse-Frontend/js/privacy-policy.js | 1 + .../www/MovieVerse-Frontend/js/search.js | 1 + .../js/terms-of-service.js | 1 + .../www/MovieVerse-Frontend/js/tv-details.js | 1 + .../app/src/main/assets/www/index.html | 2 +- .../android/app/src/main/assets/www/index.js | 1 + MovieVerse-Mobile/platforms/ios/www/404.html | 1 + .../www/MovieVerse-Frontend/html/about.html | 1 + .../MovieVerse-Frontend/html/api_fails.html | 1 + .../www/MovieVerse-Frontend/html/chat.html | 1 + .../html/create-account.html | 1 + .../MovieVerse-Frontend/html/feedback.html | 1 + .../html/movie-details.html | 4 + .../html/notifications.html | 1 + .../html/reset-password.html | 1 + .../www/MovieVerse-Frontend/html/search.html | 4 + .../MovieVerse-Frontend/html/settings.html | 1 + .../www/MovieVerse-Frontend/html/sign-in.html | 1 + .../www/MovieVerse-Frontend/html/support.html | 1 + .../www/MovieVerse-Frontend/html/trivia.html | 1 + .../MovieVerse-Frontend/html/tv-details.html | 4 + .../html/user-profile.html | 1 + .../ios/www/MovieVerse-Frontend/js/about.js | 1 + .../MovieVerse-Frontend/js/actor-details.js | 1 + .../www/MovieVerse-Frontend/js/analytics.js | 1 + .../ios/www/MovieVerse-Frontend/js/chatbot.js | 1 + .../MovieVerse-Frontend/js/company-details.js | 1 + .../js/director-details.js | 1 + .../www/MovieVerse-Frontend/js/favorites.js | 1 + .../www/MovieVerse-Frontend/js/inception.js | 1 + .../MovieVerse-Frontend/js/movie-details.js | 1 + .../www/MovieVerse-Frontend/js/movie-match.js | 1 + .../MovieVerse-Frontend/js/movie-timeline.js | 1 + .../MovieVerse-Frontend/js/privacy-policy.js | 1 + .../ios/www/MovieVerse-Frontend/js/search.js | 1 + .../js/terms-of-service.js | 1 + .../www/MovieVerse-Frontend/js/tv-details.js | 1 + .../platforms/ios/www/index.html | 2 +- MovieVerse-Mobile/platforms/ios/www/index.js | 1 + MovieVerse-Mobile/www/404.html | 1 + .../www/MovieVerse-Frontend/html/about.html | 1 + .../MovieVerse-Frontend/html/api_fails.html | 1 + .../www/MovieVerse-Frontend/html/chat.html | 1 + .../html/create-account.html | 1 + .../MovieVerse-Frontend/html/feedback.html | 1 + .../html/movie-details.html | 4 + .../html/notifications.html | 1 + .../html/reset-password.html | 1 + .../www/MovieVerse-Frontend/html/search.html | 4 + .../MovieVerse-Frontend/html/settings.html | 1 + .../www/MovieVerse-Frontend/html/sign-in.html | 1 + .../www/MovieVerse-Frontend/html/support.html | 1 + .../www/MovieVerse-Frontend/html/trivia.html | 1 + .../MovieVerse-Frontend/html/tv-details.html | 4 + .../html/user-profile.html | 1 + .../www/MovieVerse-Frontend/js/about.js | 1 + .../MovieVerse-Frontend/js/actor-details.js | 1 + .../www/MovieVerse-Frontend/js/analytics.js | 1 + .../www/MovieVerse-Frontend/js/chatbot.js | 1 + .../MovieVerse-Frontend/js/company-details.js | 1 + .../js/director-details.js | 1 + .../www/MovieVerse-Frontend/js/favorites.js | 1 + .../www/MovieVerse-Frontend/js/inception.js | 1 + .../MovieVerse-Frontend/js/movie-details.js | 1 + .../www/MovieVerse-Frontend/js/movie-match.js | 1 + .../MovieVerse-Frontend/js/movie-timeline.js | 1 + .../MovieVerse-Frontend/js/privacy-policy.js | 1 + .../www/MovieVerse-Frontend/js/search.js | 1 + .../js/terms-of-service.js | 1 + .../www/MovieVerse-Frontend/js/tv-details.js | 1 + MovieVerse-Mobile/www/index.html | 2 +- MovieVerse-Mobile/www/index.js | 1 + images/actor-default.webp | Bin 0 -> 2832 bytes images/movie-default.jpg | Bin 0 -> 15236 bytes index.html | 2 +- index.js | 1 + 136 files changed, 856 insertions(+), 147 deletions(-) create mode 100644 images/actor-default.webp create mode 100644 images/movie-default.jpg diff --git a/404.html b/404.html index 26c82f8b..6c4dc9eb 100644 --- a/404.html +++ b/404.html @@ -248,6 +248,7 @@ clearInterval(statRotationInterval); updateStatDisplay(); statRotationInterval = setInterval(updateStatDisplay, 3000); + localTimeDiv.scrollIntoView({ behavior: 'smooth' }); }); } diff --git a/MovieVerse-Frontend/css/style.css b/MovieVerse-Frontend/css/style.css index 5a2ca024..66c9df2c 100644 --- a/MovieVerse-Frontend/css/style.css +++ b/MovieVerse-Frontend/css/style.css @@ -44,6 +44,124 @@ body { text-decoration: none; } +.cast-list { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 10px; + overflow: hidden !important; +} + +.cast-item { + display: inline-flex; + flex-direction: column; + align-items: center; + text-align: center; + width: 115px; + margin: 5px; + overflow: hidden; + border-radius: 8px; +} + +.cast-image { + width: 100%; + height: 155px; + object-fit: fill; + border-radius: 5px; + margin-bottom: 5px; +} + +.cast-item:hover { + transform: scale(1.05); + transition: transform 0.3s ease, box-shadow 0.3s ease; + box-shadow: 0 0 15px rgba(0, 0, 0, 0.5); + cursor: pointer; +} + +.cast-details { + width: 100%; +} + +.actor-name, .actor-role { + font-size: 12px; + margin: 0; +} + +.director-section { + display: flex; + align-items: center; + gap: 10px; + justify-content: center; + flex-wrap: wrap; +} + +.director-link { + display: flex; + align-items: center; + text-align: center; +} + +.director-link .cast-item { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; +} + +.director-link .cast-image { + width: 100%; + height: 155px; + margin-bottom: 5px; +} + +.director-link .actor-name { + font-size: 12px; +} + +.creators-list { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 10px; + overflow: hidden !important; +} + +.creator-item { + display: inline-flex; + flex-direction: column; + align-items: center; + text-align: center; + width: 115px; + margin: 5px; + overflow: hidden; + border-radius: 8px; +} + +.creator-image { + width: 100%; + height: 155px; + object-fit: fill; + border-radius: 5px; + margin-bottom: 5px; +} + +.creator-item:hover { + transform: scale(1.05); + transition: transform 0.3s ease, box-shadow 0.3s ease; + box-shadow: 0 0 15px rgba(0, 0, 0, 0.5); + cursor: pointer; +} + +.creator-details { + width: 100%; +} + +.creator-name { + font-size: 12px; + margin: 0; + word-break: break-word; +} + #movie-match-btn { position: fixed; bottom: 220px; diff --git a/MovieVerse-Frontend/html/about.html b/MovieVerse-Frontend/html/about.html index d619cff3..8f1e5f0f 100644 --- a/MovieVerse-Frontend/html/about.html +++ b/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-Frontend/html/analytics.html b/MovieVerse-Frontend/html/analytics.html index abd29fb9..5b4d8353 100644 --- a/MovieVerse-Frontend/html/analytics.html +++ b/MovieVerse-Frontend/html/analytics.html @@ -391,51 +391,51 @@

-

Number of Movies Released Each Year

+

Number of Movies Released Each Year

-

Popularity of Genres

+

Popularity of Genres

-

Movies Distribution by Certification

+

Movies Distribution by Certification

-

Average Movie Popularity Over Time

+

Average Movie Popularity Over Time

-

Movies Count by Original Language

+

Movies Count by Original Language

-

Average Vote Count by Genre

+

Average Vote Count by Genre

-

Movie Releases by Month

+

Movie Releases by Month

-

Movie Releases by Decades

+

Movie Releases by Decades

-

Movie Releases by Countries

+

Movie Releases by Countries

-
-

Top Rated Movies per Year

+
+

Top Rated Movies per Year

-

Total Movie Votes Over Years

+

Total Movie Votes Over Years

-

Highly Rated Movies Over Years

+

Highly Rated Movies Over Years

diff --git a/MovieVerse-Frontend/html/api_fails.html b/MovieVerse-Frontend/html/api_fails.html index d629ccd9..43ea13a9 100644 --- a/MovieVerse-Frontend/html/api_fails.html +++ b/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-Frontend/html/chat.html b/MovieVerse-Frontend/html/chat.html index bdbfe5aa..2116d9e7 100644 --- a/MovieVerse-Frontend/html/chat.html +++ b/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-Frontend/html/create-account.html b/MovieVerse-Frontend/html/create-account.html index e4a3ead6..57e49608 100644 --- a/MovieVerse-Frontend/html/create-account.html +++ b/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-Frontend/html/feedback.html b/MovieVerse-Frontend/html/feedback.html index f3e7972a..91336c68 100644 --- a/MovieVerse-Frontend/html/feedback.html +++ b/MovieVerse-Frontend/html/feedback.html @@ -299,6 +299,7 @@ clearInterval(statRotationInterval); updateStatDisplay(); statRotationInterval = setInterval(updateStatDisplay, 3000); + localTimeDiv.scrollIntoView({ behavior: 'smooth' }); }); } diff --git a/MovieVerse-Frontend/html/movie-details.html b/MovieVerse-Frontend/html/movie-details.html index fbb56f53..9d387aa7 100644 --- a/MovieVerse-Frontend/html/movie-details.html +++ b/MovieVerse-Frontend/html/movie-details.html @@ -343,14 +343,8 @@

Your Rating:

- 0.0/5.0 - - - -
-

-

-
+ 0.0/5.0 +

Movie Comments

@@ -379,9 +373,15 @@

Add a Comment for This Movie

+ + +
+

+

+
-
+

Advertisement

Popular Directors

clearInterval(statRotationInterval); updateStatDisplay(); statRotationInterval = setInterval(updateStatDisplay, 3000); + localTimeDiv.scrollIntoView({ behavior: 'smooth' }); }); } diff --git a/MovieVerse-Frontend/html/reset-password.html b/MovieVerse-Frontend/html/reset-password.html index caaa2f72..3727e104 100644 --- a/MovieVerse-Frontend/html/reset-password.html +++ b/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-Frontend/html/search.html b/MovieVerse-Frontend/html/search.html index a65cc80f..358eee0e 100644 --- a/MovieVerse-Frontend/html/search.html +++ b/MovieVerse-Frontend/html/search.html @@ -90,10 +90,6 @@ #ad-container { display: block !important; } - - #ad-container1 { - display: block !important; - } @@ -359,17 +453,7 @@

Your Rating:

- 0.0/5.0 - - - -
-

-

- - -
- + 0.0/5.0

TV Show Comments

@@ -399,6 +483,15 @@

Add a Comment for This TV Series

+ + +
+

+

+ + +
+
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 @@

- + The MovieVerse

diff --git a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/index.js b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/index.js index 2691bf3c..c6220f98 100644 --- a/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/index.js +++ b/MovieVerse-Mobile/platforms/android/app/src/main/assets/www/index.js @@ -600,6 +600,7 @@ async function rotateUserStats() { clearInterval(statRotationInterval); updateStatDisplay(); statRotationInterval = setInterval(updateStatDisplay, 3000); + localTimeDiv.scrollIntoView({ behavior: 'smooth' }); }); } diff --git a/MovieVerse-Mobile/platforms/ios/www/404.html b/MovieVerse-Mobile/platforms/ios/www/404.html index 26c82f8b..6c4dc9eb 100644 --- a/MovieVerse-Mobile/platforms/ios/www/404.html +++ b/MovieVerse-Mobile/platforms/ios/www/404.html @@ -248,6 +248,7 @@ clearInterval(statRotationInterval); updateStatDisplay(); statRotationInterval = setInterval(updateStatDisplay, 3000); + localTimeDiv.scrollIntoView({ behavior: 'smooth' }); }); } diff --git a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/about.html b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/about.html index d619cff3..8f1e5f0f 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/about.html +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/html/api_fails.html b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/api_fails.html index d629ccd9..43ea13a9 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/api_fails.html +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/html/chat.html b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/chat.html index bdbfe5aa..2116d9e7 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/chat.html +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/html/create-account.html b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/create-account.html index e4a3ead6..57e49608 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/create-account.html +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/html/feedback.html b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/feedback.html index f3e7972a..91336c68 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/feedback.html +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/html/movie-details.html b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/movie-details.html index fbb56f53..3cb88267 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/movie-details.html +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/html/notifications.html b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/notifications.html index a483691d..6887ad0e 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/notifications.html +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/html/reset-password.html b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/reset-password.html index caaa2f72..3727e104 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/reset-password.html +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/html/search.html b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/search.html index f23f2d29..358eee0e 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/search.html +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/html/user-profile.html b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/user-profile.html index 52b6fc1a..52b115af 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/html/user-profile.html +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/js/about.js b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/about.js index f26e588f..a64d6bdd 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/about.js +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/js/actor-details.js b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/actor-details.js index 1b7c45c0..57097d65 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/actor-details.js +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/js/analytics.js b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/analytics.js index 82b83a28..60ad3e2c 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/analytics.js +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/js/chatbot.js b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/chatbot.js index 9df8ce8b..cb133428 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/chatbot.js +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/js/company-details.js b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/company-details.js index ac8ff7c1..b564a9f4 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/company-details.js +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/js/director-details.js b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/director-details.js index 3803dcf4..f951bb94 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/director-details.js +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/js/favorites.js b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/favorites.js index c9e83327..18915e34 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/favorites.js +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/js/inception.js b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/inception.js index 410660ef..af437c82 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/inception.js +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/js/movie-details.js b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/movie-details.js index f8fa8127..f45cf77a 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/movie-details.js +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/js/movie-match.js b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/movie-match.js index db6cf0e0..dd8e4065 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/movie-match.js +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/js/movie-timeline.js b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/movie-timeline.js index 37f491bf..8d0a10ed 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/movie-timeline.js +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/js/privacy-policy.js b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/privacy-policy.js index 68a1dc2a..0bbc65a4 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/privacy-policy.js +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/js/search.js b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/search.js index cd665e18..6625c07d 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/search.js +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/js/terms-of-service.js b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/terms-of-service.js index 42a2d0af..916cbcfd 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/terms-of-service.js +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/MovieVerse-Frontend/js/tv-details.js b/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/tv-details.js index 34a6d37c..f61eae35 100644 --- a/MovieVerse-Mobile/platforms/ios/www/MovieVerse-Frontend/js/tv-details.js +++ b/MovieVerse-Mobile/platforms/ios/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/ios/www/index.html b/MovieVerse-Mobile/platforms/ios/www/index.html index c8072b93..8845719e 100644 --- a/MovieVerse-Mobile/platforms/ios/www/index.html +++ b/MovieVerse-Mobile/platforms/ios/www/index.html @@ -600,7 +600,7 @@

- + The MovieVerse

diff --git a/MovieVerse-Mobile/platforms/ios/www/index.js b/MovieVerse-Mobile/platforms/ios/www/index.js index 2691bf3c..c6220f98 100644 --- a/MovieVerse-Mobile/platforms/ios/www/index.js +++ b/MovieVerse-Mobile/platforms/ios/www/index.js @@ -600,6 +600,7 @@ async function rotateUserStats() { clearInterval(statRotationInterval); updateStatDisplay(); statRotationInterval = setInterval(updateStatDisplay, 3000); + localTimeDiv.scrollIntoView({ behavior: 'smooth' }); }); } diff --git a/MovieVerse-Mobile/www/404.html b/MovieVerse-Mobile/www/404.html index 26c82f8b..6c4dc9eb 100644 --- a/MovieVerse-Mobile/www/404.html +++ b/MovieVerse-Mobile/www/404.html @@ -248,6 +248,7 @@ clearInterval(statRotationInterval); updateStatDisplay(); statRotationInterval = setInterval(updateStatDisplay, 3000); + localTimeDiv.scrollIntoView({ behavior: 'smooth' }); }); } diff --git a/MovieVerse-Mobile/www/MovieVerse-Frontend/html/about.html b/MovieVerse-Mobile/www/MovieVerse-Frontend/html/about.html index d619cff3..8f1e5f0f 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/html/about.html +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/html/api_fails.html b/MovieVerse-Mobile/www/MovieVerse-Frontend/html/api_fails.html index d629ccd9..43ea13a9 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/html/api_fails.html +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/html/chat.html b/MovieVerse-Mobile/www/MovieVerse-Frontend/html/chat.html index bdbfe5aa..2116d9e7 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/html/chat.html +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/html/create-account.html b/MovieVerse-Mobile/www/MovieVerse-Frontend/html/create-account.html index e4a3ead6..57e49608 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/html/create-account.html +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/html/feedback.html b/MovieVerse-Mobile/www/MovieVerse-Frontend/html/feedback.html index f3e7972a..91336c68 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/html/feedback.html +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/html/movie-details.html b/MovieVerse-Mobile/www/MovieVerse-Frontend/html/movie-details.html index fbb56f53..3cb88267 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/html/movie-details.html +++ b/MovieVerse-Mobile/www/MovieVerse-Frontend/html/movie-details.html @@ -225,6 +225,10 @@ margin-top: -40px; } } + + #ad-container { + display: block !important; + } diff --git a/MovieVerse-Mobile/www/MovieVerse-Frontend/html/notifications.html b/MovieVerse-Mobile/www/MovieVerse-Frontend/html/notifications.html index a483691d..6887ad0e 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/html/notifications.html +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/html/reset-password.html b/MovieVerse-Mobile/www/MovieVerse-Frontend/html/reset-password.html index caaa2f72..3727e104 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/html/reset-password.html +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/html/search.html b/MovieVerse-Mobile/www/MovieVerse-Frontend/html/search.html index f23f2d29..358eee0e 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/html/search.html +++ b/MovieVerse-Mobile/www/MovieVerse-Frontend/html/search.html @@ -86,6 +86,10 @@ background-position: top center; } } + + #ad-container { + display: block !important; + } diff --git a/MovieVerse-Mobile/www/MovieVerse-Frontend/html/user-profile.html b/MovieVerse-Mobile/www/MovieVerse-Frontend/html/user-profile.html index 52b6fc1a..52b115af 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/html/user-profile.html +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/js/about.js b/MovieVerse-Mobile/www/MovieVerse-Frontend/js/about.js index f26e588f..a64d6bdd 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/js/about.js +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/js/actor-details.js b/MovieVerse-Mobile/www/MovieVerse-Frontend/js/actor-details.js index 1b7c45c0..57097d65 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/js/actor-details.js +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/js/analytics.js b/MovieVerse-Mobile/www/MovieVerse-Frontend/js/analytics.js index 82b83a28..60ad3e2c 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/js/analytics.js +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/js/chatbot.js b/MovieVerse-Mobile/www/MovieVerse-Frontend/js/chatbot.js index 9df8ce8b..cb133428 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/js/chatbot.js +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/js/company-details.js b/MovieVerse-Mobile/www/MovieVerse-Frontend/js/company-details.js index ac8ff7c1..b564a9f4 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/js/company-details.js +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/js/director-details.js b/MovieVerse-Mobile/www/MovieVerse-Frontend/js/director-details.js index 3803dcf4..f951bb94 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/js/director-details.js +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/js/favorites.js b/MovieVerse-Mobile/www/MovieVerse-Frontend/js/favorites.js index c9e83327..18915e34 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/js/favorites.js +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/js/inception.js b/MovieVerse-Mobile/www/MovieVerse-Frontend/js/inception.js index 410660ef..af437c82 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/js/inception.js +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/js/movie-details.js b/MovieVerse-Mobile/www/MovieVerse-Frontend/js/movie-details.js index f8fa8127..f45cf77a 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/js/movie-details.js +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/js/movie-match.js b/MovieVerse-Mobile/www/MovieVerse-Frontend/js/movie-match.js index db6cf0e0..dd8e4065 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/js/movie-match.js +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/js/movie-timeline.js b/MovieVerse-Mobile/www/MovieVerse-Frontend/js/movie-timeline.js index 37f491bf..8d0a10ed 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/js/movie-timeline.js +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/js/privacy-policy.js b/MovieVerse-Mobile/www/MovieVerse-Frontend/js/privacy-policy.js index 68a1dc2a..0bbc65a4 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/js/privacy-policy.js +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/js/search.js b/MovieVerse-Mobile/www/MovieVerse-Frontend/js/search.js index cd665e18..6625c07d 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/js/search.js +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/js/terms-of-service.js b/MovieVerse-Mobile/www/MovieVerse-Frontend/js/terms-of-service.js index 42a2d0af..916cbcfd 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/js/terms-of-service.js +++ b/MovieVerse-Mobile/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/www/MovieVerse-Frontend/js/tv-details.js b/MovieVerse-Mobile/www/MovieVerse-Frontend/js/tv-details.js index 34a6d37c..f61eae35 100644 --- a/MovieVerse-Mobile/www/MovieVerse-Frontend/js/tv-details.js +++ b/MovieVerse-Mobile/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/www/index.html b/MovieVerse-Mobile/www/index.html index c8072b93..8845719e 100644 --- a/MovieVerse-Mobile/www/index.html +++ b/MovieVerse-Mobile/www/index.html @@ -600,7 +600,7 @@

- + The MovieVerse

diff --git a/MovieVerse-Mobile/www/index.js b/MovieVerse-Mobile/www/index.js index 2691bf3c..c6220f98 100644 --- a/MovieVerse-Mobile/www/index.js +++ b/MovieVerse-Mobile/www/index.js @@ -600,6 +600,7 @@ async function rotateUserStats() { clearInterval(statRotationInterval); updateStatDisplay(); statRotationInterval = setInterval(updateStatDisplay, 3000); + localTimeDiv.scrollIntoView({ behavior: 'smooth' }); }); } diff --git a/images/actor-default.webp b/images/actor-default.webp new file mode 100644 index 0000000000000000000000000000000000000000..6b62648b9c6a781e2366e22a644dec46984429e8 GIT binary patch literal 2832 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 PL89EVMril3E=K+jKxjE` literal 0 HcmV?d00001 diff --git a/index.html b/index.html index a644079b..1a625e4e 100644 --- a/index.html +++ b/index.html @@ -600,7 +600,7 @@

- + The MovieVerse

diff --git a/index.js b/index.js index 2691bf3c..c6220f98 100644 --- a/index.js +++ b/index.js @@ -600,6 +600,7 @@ async function rotateUserStats() { clearInterval(statRotationInterval); updateStatDisplay(); statRotationInterval = setInterval(updateStatDisplay, 3000); + localTimeDiv.scrollIntoView({ behavior: 'smooth' }); }); }