diff --git a/src/app/odkrywaj/page.tsx b/src/app/odkrywaj/page.tsx index cdd5494..d7ac6e8 100644 --- a/src/app/odkrywaj/page.tsx +++ b/src/app/odkrywaj/page.tsx @@ -5,15 +5,8 @@ import { getUpcomingMovies, } from "@/lib/tmdb/server"; import { Hero } from "@/components/organisms/Hero"; -import { Carousel } from "@/components/molecules/Carousel"; -import { MovieCard } from "@/components/atoms/MovieCard"; -import { - FaCalendar, - FaChartLine, - FaFire, - FaPlay, - FaStar, -} from "react-icons/fa"; +import { FaCalendar, FaChartLine, FaFire, FaPlay } from "react-icons/fa"; +import { MovieList } from "@/components/molecules/MovieList"; // 12 hours export const revalidate = 43200; @@ -48,39 +41,43 @@ export default async function Home() {
- }> - {nowPlayingMovies.map((movie) => ( - - ))} - + } + colors="blue" + />
- } colors="blue" - > - {upcomingMovies.map((movie) => ( - - ))} - + />
- } colors="red"> - {popularMovies.map((movie) => ( - - ))} - + } + colors="red" + />
- } colors="green"> - {trendingMovies.map((movie) => ( - - ))} - + } + colors="green" + />
diff --git a/src/components/atoms/MovieCard/layouts/AuroraLayout.tsx b/src/components/atoms/MovieCard/layouts/AuroraLayout.tsx index 98d3f22..941e112 100644 --- a/src/components/atoms/MovieCard/layouts/AuroraLayout.tsx +++ b/src/components/atoms/MovieCard/layouts/AuroraLayout.tsx @@ -49,23 +49,13 @@ export const AuroraLayout: FC = ({ return (
- {/* Aurora background effect */} -
-
- {/* Main card container */}
-
{/* Image section with sophisticated overlay */} -
+
{title} @@ -73,7 +63,6 @@ export const AuroraLayout: FC = ({ {/* Gradient overlays for depth */}
-
{/* Floating rating badge */} {!!vote_average && ( @@ -158,15 +147,12 @@ export const AuroraLayout: FC = ({ {/* Content section with glowing effects */}
- {/* Subtle glow effect */} -
-

{title}

-

+

{overview}

diff --git a/src/components/effects/AuroraBackground.tsx b/src/components/effects/AuroraBackground.tsx index dd1d9bf..234b48a 100644 --- a/src/components/effects/AuroraBackground.tsx +++ b/src/components/effects/AuroraBackground.tsx @@ -7,19 +7,19 @@ export const AuroraBackground = () => { {/* Static aurora effects */}
{/* Top-left aurora glow */} -
+
{/* Top-right aurora glow */} -
+
{/* Center aurora wave */} -
+
{/* Bottom aurora glow */} -
+
{/* Right side accent */} -
+
{/* Gradient mesh overlay for content readability */} diff --git a/src/components/molecules/HeroMovie/index.tsx b/src/components/molecules/HeroMovie/index.tsx index 47f32be..67570bf 100644 --- a/src/components/molecules/HeroMovie/index.tsx +++ b/src/components/molecules/HeroMovie/index.tsx @@ -87,12 +87,12 @@ export const HeroMovie: FC = ({ movieDetails }) => {
{/* Movie poster */} -
-
+
+
{movieDetails.title}
diff --git a/src/components/molecules/MovieCast/index.tsx b/src/components/molecules/MovieCast/index.tsx index 75a46b0..471ba03 100644 --- a/src/components/molecules/MovieCast/index.tsx +++ b/src/components/molecules/MovieCast/index.tsx @@ -54,7 +54,7 @@ export const MovieCast: FC = ({ movieDetails }) => { {/* Hover overlay with link indication */}
-
+
Zobacz profil
diff --git a/src/components/molecules/MovieList/index.tsx b/src/components/molecules/MovieList/index.tsx index 24a017c..3fe8e10 100644 --- a/src/components/molecules/MovieList/index.tsx +++ b/src/components/molecules/MovieList/index.tsx @@ -1,13 +1,17 @@ "use client"; -import { FC, useState } from "react"; +import { FC, ReactNode, useState } from "react"; import { MovieCard } from "@/components/atoms/MovieCard"; import { Movie } from "@/types/global"; import { useGlobalStore } from "@/app/store/globalStore"; import { Dropdown } from "@/components/atoms/Dropdown"; import { useAutoAnimate } from "@formkit/auto-animate/react"; +import { Button } from "@/components/atoms/Button"; type Props = { heading?: string; + icon?: ReactNode; + colors?: keyof typeof colorsMap; + overrideMovies?: Movie[]; filterSeen?: 0 | 1; @@ -19,10 +23,14 @@ type Props = { showFilters?: boolean; sort?: "title" | "releaseDate" | "popularity"; sortDirection?: "asc" | "desc"; + + loadMore?: boolean; }; export const MovieList: FC = ({ heading, + icon, + colors = "white", overrideMovies, filterSeen, filterFavorites, @@ -32,15 +40,17 @@ export const MovieList: FC = ({ showFilters = true, sort = "releaseDate", sortDirection = "asc", + loadMore = false, }) => { const { movies: storeMovies } = useGlobalStore(); + const movies = overrideMovies || storeMovies; + const [filter, setFilter] = useState<"title" | "releaseDate" | "popularity">( sort ); + const [loaded, setLoaded] = useState(loadMore ? 4 : movies.length); const [parent] = useAutoAnimate(); - const movies = overrideMovies || storeMovies; - const filteredMovies = movies.filter((movie) => { let result = true; const today = new Date(); @@ -73,6 +83,8 @@ export const MovieList: FC = ({ return 0; }); + sortedMovies = sortedMovies.slice(0, loaded); + if (sortDirection === "desc") { sortedMovies = sortedMovies.reverse(); } @@ -81,21 +93,30 @@ export const MovieList: FC = ({
{heading && ( -
-
- {showFilters && ( - setFilter(value as "title")} - /> - )} -

{heading}

-
+
+ {icon && ( +
+ {icon} +
+ )} + {showFilters && !icon && ( + setFilter(value as "title")} + /> + )} +

+ {heading} +

)} {filteredMovies.length === 0 && ( @@ -111,7 +132,27 @@ export const MovieList: FC = ({ ))}
)} + {loadMore && filteredMovies.length > loaded && ( +
+ +
+ )}
); }; + +const colorsMap = { + white: "bg-gradient-to-r from-white to-gray-300", + yellow: "bg-gradient-to-r from-yellow-400 to-orange-400", + blue: "bg-gradient-to-r from-blue-400 to-purple-400", + green: "bg-gradient-to-r from-green-400 to-teal-400", + red: "bg-gradient-to-r from-red-400 to-pink-400", + purple: "bg-gradient-to-r from-purple-400 to-pink-400", + orange: "bg-gradient-to-r from-orange-400 to-yellow-400", + pink: "bg-gradient-to-r from-pink-400 to-purple-400", + teal: "bg-gradient-to-r from-teal-400 to-green-400", + gray: "bg-gradient-to-r from-gray-400 to-gray-400", +}; diff --git a/src/components/organisms/Navbar/components/Search/index.tsx b/src/components/organisms/Navbar/components/Search/index.tsx index 07eef44..94610a5 100644 --- a/src/components/organisms/Navbar/components/Search/index.tsx +++ b/src/components/organisms/Navbar/components/Search/index.tsx @@ -60,9 +60,7 @@ export const Search = () => { {isSearchOpen && (
{/* Aurora Background */} -
-
-
+
{/* Close button */}