diff --git a/src/components/Card.jsx b/src/components/Card.jsx
index 5bed6ce..ae43117 100644
--- a/src/components/Card.jsx
+++ b/src/components/Card.jsx
@@ -2,10 +2,10 @@ import React from "react";
import Star from "./Star";
const Card = ({ movie, favouriteList, setFavouriteList }) => {
- const { Title, Year, imdbID, Poster } = movie;
+ const { Title, Year, Poster } = movie;
return (
- {favouriteList?.includes(imdbID) ? (
+ {favouriteList?.includes(movie) ? (
{
- favouriteList?.includes(movie?.imdbID)
+ favouriteList?.includes(movie)
? setFavouriteList((prevList) =>
- prevList?.filter((id) => id !== movie?.imdbID)
+ prevList?.filter((movieItem) => movieItem !== movie)
)
- : setFavouriteList((prevList) => [...prevList, movie?.imdbID]);
- let localStorageData = JSON.parse(window.localStorage.getItem("favouriteMovies"));
- console.log(localStorageData)
- window.localStorage.setItem("favouriteMovies", JSON.stringify({movies: [...localStorageData, movie]}));
+ : setFavouriteList((prevList) => [...prevList, movie]);
+
};
return (
diff --git a/src/hooks/useFetch.jsx b/src/hooks/useFetch.js
similarity index 100%
rename from src/hooks/useFetch.jsx
rename to src/hooks/useFetch.js
diff --git a/src/pages/HomePage.jsx b/src/pages/HomePage.jsx
index 2470691..11f8304 100644
--- a/src/pages/HomePage.jsx
+++ b/src/pages/HomePage.jsx
@@ -1,4 +1,4 @@
-import React, { useState } from "react";
+import React, { useState, useEffect } from "react";
import useFetch from "../hooks/useFetch";
import { Pagination } from "@mui/material";
@@ -11,8 +11,16 @@ const HomePage = () => {
const [inputValue, setInputValue] = useState("");
const [searchValue, setSearchValue] = useState("");
const [page, setPage] = useState(1);
- const [favouriteList, setFavouriteList] = useState([]);
+ const [favouriteList, setFavouriteList] = useState(
+ JSON.parse(window.localStorage.getItem("favouriteMovies")) ?? []
+ );
const [showFavourite, setShowFavourite] = useState(false);
+
+ useEffect(() => {
+ window.localStorage.setItem("favouriteMovies", JSON.stringify(favouriteList))
+ console.log(favouriteList);
+ }, [favouriteList]);
+
const { data, loading, error } = useFetch(
url + "&s=" + searchValue + "&page=" + page
);
@@ -57,15 +65,15 @@ const HomePage = () => {
{(showFavourite && (
- {favouriteList?.map((movie) => (
-
- ))}
-
+ {favouriteList?.map((movie) => (
+
+ ))}
+
)) ||
(data?.Search?.length > 0 && (
@@ -101,3 +109,45 @@ const HomePage = () => {
};
export default HomePage;
+
+function SearchBar({
+ inputValue,
+ event,
+ setInputValue,
+ target,
+ value,
+ handleSearch,
+ setShowFavourite,
+ prev,
+}) {
+ return (
+
+
+
+
+ setShowFavourite((prev) => !prev)}
+ />
+
+
+ );
+}