From 9c7bec2b17bb19c2c926d6c8aa2aba0ef3f892c8 Mon Sep 17 00:00:00 2001 From: rw4n99 Date: Wed, 25 Sep 2024 15:21:13 +0100 Subject: [PATCH 1/5] Working on search bar --- my-next-app/src/app/moviepage/page.jsx | 4 +-- .../src/components/Header/SearchBar.jsx | 31 +++++++++++++------ 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/my-next-app/src/app/moviepage/page.jsx b/my-next-app/src/app/moviepage/page.jsx index d77ec12..8b38dc8 100644 --- a/my-next-app/src/app/moviepage/page.jsx +++ b/my-next-app/src/app/moviepage/page.jsx @@ -20,7 +20,7 @@ export default function MoviePage() { .then((response) => response.json()) .then((data) => { setMovieData(data); - //console.log(data); + console.log(data); }) .catch((err) => console.error(err)); }, [movieId]); @@ -37,7 +37,7 @@ export default function MoviePage() { .then((response) => response.json()) .then((data) => { setReviewData(data); - //console.log(data); + console.log(data); }) .catch((err) => console.error(err)); }, [movieId]); diff --git a/my-next-app/src/components/Header/SearchBar.jsx b/my-next-app/src/components/Header/SearchBar.jsx index 8274c07..ec9594b 100644 --- a/my-next-app/src/components/Header/SearchBar.jsx +++ b/my-next-app/src/components/Header/SearchBar.jsx @@ -4,26 +4,39 @@ import styles from "./SearchBar.module.css"; import { useState, useEffect, useRef } from 'react'; export default function SearchBar({ onClose }) { - const [query, setQuery] = useState(""); +// const [query, setQuery] = useState(""); + const [movieTitle, setMovieTitle] = useState(""); const inputRef = useRef(null); useEffect(() => { inputRef.current.focus(); }, []); - const handleSubmit = (e) => { - e.preventDefault(); - alert(`Searching for: ${query}`); - // Implement actual search logic here - onClose(); + const movieSearch = { + method: 'GET', + headers: { + accept: 'application/json', + Authorization: + 'Bearer eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiI4OTM5NTE2MmJjNDA5MzQ2MTMyNmM5NzUyZTBkZjMzZiIsIm5iZiI6MTcyNzI1NjM4Ny41OTcyMzYsInN1YiI6IjY2Y2RkOWM2NmZkMmYwN2FiNzlkYjE3MCIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.n6Dhal1cf-trWSV3ewyYHw9HMouvYGBgv-pqFu3N2B0', + }, }; + useEffect(() => { + fetch(`https://api.themoviedb.org/3/search/movie?query=${movieTitle}&language=en-US`, movieSearch) + .then((response) => response.json()) + .then((data) => { + setMovieTitle(data); + console.log(data); + }) + .catch((err) => console.error(err)); + }, [movieTitle]); + return ( -
+ setQuery(e.target.value)} + value={setMovieTitle} + // onChange={(e) => setMovieTitle(e.target.value)} placeholder="Search..." className={styles.input} ref={inputRef} From 3014f3425dbcf7641415b2ce196617345cbc106a Mon Sep 17 00:00:00 2001 From: Shilpa Date: Wed, 25 Sep 2024 20:17:23 +0100 Subject: [PATCH 2/5] tagline working --- my-next-app/package-lock.json | 1 + my-next-app/src/app/page.js | 52 ++++++++++--------- my-next-app/src/app/page.module.css | 20 +++++++ .../PopularMovies/PopularMovies.jsx | 0 .../PopularMovies/Popularmovies.module.css | 0 5 files changed, 48 insertions(+), 25 deletions(-) create mode 100644 my-next-app/src/components/PopularMovies/PopularMovies.jsx create mode 100644 my-next-app/src/components/PopularMovies/Popularmovies.module.css diff --git a/my-next-app/package-lock.json b/my-next-app/package-lock.json index 4cfa630..e50899c 100644 --- a/my-next-app/package-lock.json +++ b/my-next-app/package-lock.json @@ -7,6 +7,7 @@ "": { "name": "my-next-app", "version": "0.1.0", + "hasInstallScript": true, "dependencies": { "next": "14.2.13", "react": "^18", diff --git a/my-next-app/src/app/page.js b/my-next-app/src/app/page.js index 638756e..18fc8cd 100644 --- a/my-next-app/src/app/page.js +++ b/my-next-app/src/app/page.js @@ -1,13 +1,12 @@ 'use client'; import React from 'react'; -import { useState, useEffect } from 'react' +import { useState, useEffect } from 'react'; import styles from './page.module.css'; import reviews from './mock_db/reviews.json'; import movies from './mock_db/movies.json'; export default function Homepage() { - // const options = { // method: 'GET', // headers: { @@ -24,55 +23,58 @@ export default function Homepage() { // .catch(err => console.error(err)); // }, []); - return ( <>

Welcome to Reel Magic, the home of movie reviews you can trust.

-

Join the Reel Revolution!

+
+

Join the Reel Revolution!

+

Popular Movies

- {movies.map((movie, movie_id) => { - return ( -
-
- {movie.title} -
-
-

{movie.title}

-

{'⭐️'.repeat(movie.rating)}

-
-
- ); + return ( +
+
+ {movie.title} +
+
+

{movie.title}

+

{'⭐️'.repeat(movie.rating)}

+
+
+ ); })} -

-

Check out the hottest reviews from the community...

+

Check out the hottest reviews from the community...

{reviews.map((review, review_id) => { return (

{review.reviewer_name}

{movies.map((movie, movie_id) => { - return movie.id === review.movie_id &&
{movie.title}
; + return ( + movie.id === review.movie_id && ( +
+ {movie.title} +
+ ) + ); })}
- {[...Array(review.star_rating)].map((_, i) => ( - - ))} + {[...Array(review.star_rating)].map((_, i) => ( + + ))}
-

- {review.review} -

+

{review.review}

{review.weighting > 0 ? review.weighting : 0}{' '} diff --git a/my-next-app/src/app/page.module.css b/my-next-app/src/app/page.module.css index 29874d4..7e99d2d 100644 --- a/my-next-app/src/app/page.module.css +++ b/my-next-app/src/app/page.module.css @@ -77,3 +77,23 @@ margin-right: 0.5rem; align-items: center; margin-top: 1em; } */ + +.taglineContainer { + overflow: hidden; + white-space: nowrap; +} + +.tagline { + display: inline-block; + padding-left: 100%; + animation: marquee 15s linear infinite; +} + +@keyframes marquee { + from { + transform: translate(0, 0); + } + to { + transform: translate(-100%, 0); + } +} diff --git a/my-next-app/src/components/PopularMovies/PopularMovies.jsx b/my-next-app/src/components/PopularMovies/PopularMovies.jsx new file mode 100644 index 0000000..e69de29 diff --git a/my-next-app/src/components/PopularMovies/Popularmovies.module.css b/my-next-app/src/components/PopularMovies/Popularmovies.module.css new file mode 100644 index 0000000..e69de29 From 65015a4223d69fbb8e68c4d5e1f49f5cf330f4f3 Mon Sep 17 00:00:00 2001 From: Shilpa Date: Wed, 25 Sep 2024 23:04:50 +0100 Subject: [PATCH 3/5] scroll bar for reviews in MoviePage --- my-next-app/src/app/globals.css | 9 ++-- my-next-app/src/app/moviepage/page.jsx | 35 +++++++++----- my-next-app/src/app/moviepage/page.module.css | 47 +++++++++++++++++++ my-next-app/src/app/page.module.css | 8 ++-- my-next-app/src/components/Header/Header.jsx | 4 +- .../src/components/Header/SearchBar.jsx | 46 +++++++++--------- 6 files changed, 102 insertions(+), 47 deletions(-) diff --git a/my-next-app/src/app/globals.css b/my-next-app/src/app/globals.css index 25ddd8d..74d5db5 100644 --- a/my-next-app/src/app/globals.css +++ b/my-next-app/src/app/globals.css @@ -2,7 +2,8 @@ box-sizing: border-box; } -html, body { +html, +body { background: linear-gradient(150deg, #001523, #003356, #001523 90%); color: #d7dae3; } @@ -30,7 +31,7 @@ p { hr { border: none; height: 3px; - background: linear-gradient(90deg, #ff6d00, #ff9e00 ); + background: linear-gradient(90deg, #ff6d00, #ff9e00); margin-top: 2rem; - width: 95% -} \ No newline at end of file + width: 95%; +} diff --git a/my-next-app/src/app/moviepage/page.jsx b/my-next-app/src/app/moviepage/page.jsx index d77ec12..6e3b027 100644 --- a/my-next-app/src/app/moviepage/page.jsx +++ b/my-next-app/src/app/moviepage/page.jsx @@ -62,18 +62,29 @@ export default function MoviePage() { ) : (

Movie not found

)} -

Reviews

- {reviewData && reviewData.results && reviewData.results.length > 0 ? ( - reviewData.results.map((review) => ( -
-

{review.author}

-

Rating: {review.author_details?.rating ?? 'No rating'}

-

{review.content}

-
- )) - ) : ( -

No reviews found for this movie

- )} +
+

Reviews

+
+ {reviewData && reviewData.results && reviewData.results.length > 0 ? ( + reviewData.results.map((review) => ( +
+

{review.author}

+

Rating: {review.author_details?.rating ?? 'No rating'}

+

+ {review.content.split('\n').map((paragraph, index) => ( + + {paragraph} +
+
+ ))} +

+
+ )) + ) : ( +

No reviews found for this movie

+ )} +
+
); } diff --git a/my-next-app/src/app/moviepage/page.module.css b/my-next-app/src/app/moviepage/page.module.css index 57f2e1d..7e6fca7 100644 --- a/my-next-app/src/app/moviepage/page.module.css +++ b/my-next-app/src/app/moviepage/page.module.css @@ -4,3 +4,50 @@ .text { color: #d7dae3; } + +.wrapperReview { + margin-top: 2rem; + background: linear-gradient(150deg, #001523, #003356, #001523 90%); + display:flex; + flex-direction: column; + overflow: auto; + height: 100%; + width: 100%; + padding: 10px; + white-space: nowrap; + /*scroll-snap-type: x mandatory;*/ +} +.reviewScroll{ + display: flex; + padding: 10px; + overflow-x: auto; + gap: 10px; + +} +.reviewCard { + min-width: 300px; + max-width: 300px; + height: 400px; + background-color: rgba(255, 255, 255, 0.1); + padding: 1rem; + border-radius: 8px; + overflow-y: auto; + display: flex; + flex-direction: column; +} + +.reviewCard::-webkit-scrollbar { + display: none; +} +.reviewCard h3 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +.reviewCard p { + flex-grow: 1; + overflow-y: auto; + word-wrap: break-word; + white-space: pre-wrap; +} + diff --git a/my-next-app/src/app/page.module.css b/my-next-app/src/app/page.module.css index 7e99d2d..d9518ce 100644 --- a/my-next-app/src/app/page.module.css +++ b/my-next-app/src/app/page.module.css @@ -55,7 +55,9 @@ padding: 1rem; } -.reviewerName, .reviewCard h5, .reviewCard p { +.reviewerName, +.reviewCard h5, +.reviewCard p { margin: 0; } @@ -66,11 +68,9 @@ } .starsWrapper span { -margin-right: 0.5rem; + margin-right: 0.5rem; } - - /* .voteContainer { display: flex; justify-content: space-around; diff --git a/my-next-app/src/components/Header/Header.jsx b/my-next-app/src/components/Header/Header.jsx index cb90116..672ae16 100644 --- a/my-next-app/src/components/Header/Header.jsx +++ b/my-next-app/src/components/Header/Header.jsx @@ -16,9 +16,7 @@ export default function Header() { return (
-

- 📽Reel Magic📽 -

+

📽Reel Magic📽

- ); -} \ No newline at end of file +} From 7f83a00687ef4983bce9308e2ab0a01390ac4ff3 Mon Sep 17 00:00:00 2001 From: Maria Date: Thu, 26 Sep 2024 03:05:18 +0100 Subject: [PATCH 4/5] SearchBar works but done on a new page that is not moviepage --- my-next-app/public/no-image-available.png | Bin 0 -> 69202 bytes my-next-app/src/app/movies/[id]/page.jsx | 64 +++++++ .../src/app/movies/[id]/page.module.css | 34 ++++ my-next-app/src/components/Header/Header.jsx | 2 +- .../src/components/Header/Header.module.css | 71 ++++---- .../src/components/Header/SearchBar.jsx | 170 ++++++++++++++++-- .../components/Header/SearchBar.module.css | 107 +++++++---- 7 files changed, 352 insertions(+), 96 deletions(-) create mode 100644 my-next-app/public/no-image-available.png create mode 100644 my-next-app/src/app/movies/[id]/page.jsx create mode 100644 my-next-app/src/app/movies/[id]/page.module.css diff --git a/my-next-app/public/no-image-available.png b/my-next-app/public/no-image-available.png new file mode 100644 index 0000000000000000000000000000000000000000..a2db69c7ff903ab8d42c2a5ce1a57fee2642dcb6 GIT binary patch literal 69202 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 CgBOng literal 0 HcmV?d00001 diff --git a/my-next-app/src/app/movies/[id]/page.jsx b/my-next-app/src/app/movies/[id]/page.jsx new file mode 100644 index 0000000..cf423ce --- /dev/null +++ b/my-next-app/src/app/movies/[id]/page.jsx @@ -0,0 +1,64 @@ +'use client'; + +import { useParams } from 'next/navigation'; +import { useState, useEffect } from 'react'; +import styles from './page.module.css'; + +export default function MovieDetail() { + const params = useParams(); // Access route parameters + const { id } = params || {}; // Destructure 'id' safely + + const [movie, setMovie] = useState(null); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + useEffect(() => { + if (!id) return; // Wait until 'id' is available + + const fetchMovieDetail = async () => { + try { + const response = await fetch(`https://api.themoviedb.org/3/movie/${id}?language=en-US`, { + method: 'GET', + headers: { + accept: 'application/json', + Authorization: + 'Bearer eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiI4OTM5NTE2MmJjNDA5MzQ2MTMyNmM5NzUyZTBkZjMzZiIsIm5iZiI6MTcyNzI1NjM4Ny41OTcyMzYsInN1YiI6IjY2Y2RkOWM2NmZkMmYwN2FiNzlkYjE3MCIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.n6Dhal1cf-trWSV3ewyYHw9HMouvYGBgv-pqFu3N2B0', + }, + }); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + const data = await response.json(); + setMovie(data); + } catch (err) { + console.error('Error fetching movie details:', err); + setError(err.message); + } finally { + setLoading(false); + } + }; + + fetchMovieDetail(); + }, [id]); + + if (loading) return

Loading...

; + if (error) return

Error: {error}

; + if (!movie) return

No movie data available.

; + + return ( +
+

{movie.title}

+ {movie.title} +

Release Date: {movie.release_date}

+

Rating: {movie.vote_average} ⭐️

+

Overview: {movie.overview}

+ {/* Add more details as desired */} +
+ ); +} \ No newline at end of file diff --git a/my-next-app/src/app/movies/[id]/page.module.css b/my-next-app/src/app/movies/[id]/page.module.css new file mode 100644 index 0000000..dadf119 --- /dev/null +++ b/my-next-app/src/app/movies/[id]/page.module.css @@ -0,0 +1,34 @@ +.container2 { + display: flex; + flex-direction: column; + align-items: center; + padding: 20px; + background: linear-gradient(150deg, #001523, #003356, #001523 90%); + border-radius: 8px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + max-width: 450px; + margin: 0 auto; + } + + .posteridsection { + width: 100%; + max-width: 300px; + height: auto; + border-radius: 4px; + margin-bottom: 20px; + } + .steph1 { + font-size: 1.5rem; + margin-bottom: 10px; + text-align: center; + } + + .p2 { + font-size: 1rem; + margin-bottom: 10px; + text-align: center; + } + + .strongidsection { + color: #ff6d00; + } \ No newline at end of file diff --git a/my-next-app/src/components/Header/Header.jsx b/my-next-app/src/components/Header/Header.jsx index cb90116..e6dfebc 100644 --- a/my-next-app/src/components/Header/Header.jsx +++ b/my-next-app/src/components/Header/Header.jsx @@ -20,7 +20,7 @@ export default function Header() { 📽Reel Magic📽 - + {/* */} + {results.length > 0 && ( +
    + {results.map((movie, index) => ( +
  • handleSelect(movie)} + onMouseEnter={() => setHighlightedIndex(index)} + onMouseLeave={() => setHighlightedIndex(-1)} + > + {movie.title} + {movie.title} +
  • + ))} +
+ )} + {query.trim() !== "" && results.length === 0 && ( +

No results found.

+ )} ); -} \ No newline at end of file +} + +// useEffect(() => { +// fetch(`https://api.themoviedb.org/3/search/movie?query=${movieTitle}&language=en-US`, movieSearch) +// .then((response) => response.json()) +// .then((data) => { +// setMovieTitle(data); +// console.log(data); +// }) +// .catch((err) => console.error(err)); +// }, [movieTitle]); + + +// debounceTimeout.current = setTimeout(() => { +// fetch(`https://api.themoviedb.org/3/search/movie?query=${encodeURIComponent(query)}&language=en-US`, movieSearch) +// .then((response) => response.json()) +// .then((data) => { +// if (data && data.results) { +// setResults(data.results.slice(0, 10));// Limit to 10 results +// } else { +// setResults([]); +// } +// }) +// .catch((err) => { +// console.error(err); +// setResults([]); +// }); +// }, 300); \ No newline at end of file diff --git a/my-next-app/src/components/Header/SearchBar.module.css b/my-next-app/src/components/Header/SearchBar.module.css index d9ec756..70a62d6 100644 --- a/my-next-app/src/components/Header/SearchBar.module.css +++ b/my-next-app/src/components/Header/SearchBar.module.css @@ -1,52 +1,85 @@ -/* my-next-app/src/components/SearchBar.module.css */ - +/* SearchBar.module.css */ .searchBar { display: flex; align-items: center; - flex: 1; - margin-left: 50px; /* Add space to the left to accommodate the shifted button */ - transition: opacity 0.3s ease; -} - -.input { + width: 100%; /* Utilize full width within global max-width */ + position: relative; + margin-top: 10px; /* Space between header and search bar */ + box-sizing: border-box; + } + + .input { flex: 1; padding: 8px 12px; + margin-left: 20px; border: none; border-radius: 4px; font-size: 1rem; outline: none; background: #fff; color: #000; -} - -.closeButton { + } + + .closeButton { background: transparent; border: none; - color: #fff; - font-size: 1.2rem; - cursor: pointer; + color: #ff6d00; /* Orange color */ margin-left: 8px; -} - -.submitButton { - background: transparent; - border: none; cursor: pointer; - margin-left: 8px; -} - -/* Responsive Styles */ -@media (max-width: 600px) { - .searchBar { - margin-left: 40px; /* Adjust spacing for smaller screens */ - } - - .input { - font-size: 0.9rem; - } -} - -/* Optional: Style for the placeholder text */ -.input::placeholder { - color: #888; /* Sets placeholder text color to a shade of gray */ -} \ No newline at end of file + display: flex; + align-items: center; + justify-content: center; + } + + .resultsList { + list-style: none; + margin: 10px 0 0 0; + padding: 0; + width: 100%; + max-height: 200px; + overflow-y: auto; + background: #fff; + border: 1px solid #ccc; + border-radius: 4px; + position: absolute; + top: 100%; + left: 0; + z-index: 1; /* Ensures dropdown appears above content */ + box-sizing: border-box; + } + + .resultItem { + display: flex; + align-items: center; + padding: 8px 12px; + cursor: pointer; + } + + .resultItem:hover, + .resultItem.highlighted { + background-color: #f0f0f0; + } + + .posterImage { + width: 40px; + height: 60px; + object-fit: cover; + border-radius: 4px; + margin-right: 10px; + } + + .movieTitle { + font-size: 1rem; + color: #000; + } + + /* Optional: Style for the placeholder text */ + .input::placeholder { + color: #888; /* Shades for placeholder text */ + } + + .noResults { + margin-top: 10px; + font-size: 0.9rem; + color: #888; + } \ No newline at end of file From 16f76c97f6b69e206be4f4f2efba3455bc9b4fd0 Mon Sep 17 00:00:00 2001 From: Maria Date: Thu, 26 Sep 2024 09:15:51 +0100 Subject: [PATCH 5/5] searchbar --- my-next-app/src/components/Header/SearchBar.module.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/my-next-app/src/components/Header/SearchBar.module.css b/my-next-app/src/components/Header/SearchBar.module.css index 70a62d6..097357d 100644 --- a/my-next-app/src/components/Header/SearchBar.module.css +++ b/my-next-app/src/components/Header/SearchBar.module.css @@ -61,8 +61,8 @@ } .posterImage { - width: 40px; - height: 60px; + width: 60px; + height: 90px; object-fit: cover; border-radius: 4px; margin-right: 10px;