diff --git a/src/components/Loader/AnimeInfo.loader.jsx b/src/components/Loader/AnimeInfo.loader.jsx index 3a20c22..2652a9e 100644 --- a/src/components/Loader/AnimeInfo.loader.jsx +++ b/src/components/Loader/AnimeInfo.loader.jsx @@ -9,50 +9,125 @@ const SkeletonItems = ({ count, className }) => ( function AnimeInfoLoader() { return ( <> -
- -
- -
-
    - -
-
- +
+
+ {/* Main Content */} +
+ {/* Mobile Layout */} +
+
+ {/* Poster Section */} +
+ +
+ + {/* Basic Info Section */} +
+ {/* Title */} +
+ + +
+ + {/* Tags */} +
+ +
+ + {/* Overview */} +
+ +
+
+
+ + {/* Watch Button */} +
+ +
+ + {/* Details Section */} +
+
+ +
+ + {/* Genres */} +
+ +
+ +
+
+ + {/* Studios & Producers */} +
+ +
+
-
- -
- -
- -
-
- -
- + + {/* Desktop Layout */} +
+
+ {/* Poster Section */} +
+ +
+ + {/* Info Section */} +
+ {/* Title */} +
+ + +
+ + {/* Tags */} +
+ +
+ + {/* Overview */} +
+ +
+ + {/* Watch Button */} + + + {/* Details Section */} +
+
+ +
+ + {/* Genres */} +
+ +
+ +
+
+ + {/* Studios & Producers */} +
+ +
+
+
-
-
- -
- -
- -
-
- -
+ + {/* Recommendations Section */} +
+
-
- - -
); } + export default AnimeInfoLoader; diff --git a/src/components/Loader/AtoZ.loader.jsx b/src/components/Loader/AtoZ.loader.jsx index 8c9ba62..1f9beab 100644 --- a/src/components/Loader/AtoZ.loader.jsx +++ b/src/components/Loader/AtoZ.loader.jsx @@ -2,25 +2,44 @@ import { Skeleton } from "../ui/Skeleton/Skeleton"; import CategoryCardLoader from "./CategoryCard.loader"; const SkeletonItems = ({ count, className }) => ( - [...Array(count)].map((_, index) => ) + [...Array(count)].map((_, index) => ) ); function AtoZLoader() { - return ( -
-
    - - -
-
- -
- -
-
- -
- ); + const gridClass = "grid-cols-8 max-[1600px]:grid-cols-6 max-[1200px]:grid-cols-4 max-[758px]:grid-cols-3 max-[478px]:grid-cols-3 max-[478px]:gap-x-2"; + + return ( +
+
+ +
+ {[...Array(38)].map((_, index) => ( + + ))} +
+
+
+
+ +
+ {[...Array(5)].map((_, index) => ( + + ))} +
+
+
+
+ ); } export default AtoZLoader; diff --git a/src/components/Loader/Category.loader.jsx b/src/components/Loader/Category.loader.jsx index 45a6b21..96bd880 100644 --- a/src/components/Loader/Category.loader.jsx +++ b/src/components/Loader/Category.loader.jsx @@ -1,23 +1,43 @@ -import { Skeleton } from "../ui/Skeleton/Skeleton" -import CategoryCardLoader from "./CategoryCard.loader" -import SidecardLoader from "./Sidecard.loader" +import { Skeleton } from "../ui/Skeleton/Skeleton"; +import CategoryCardLoader from "./CategoryCard.loader"; +import SidecardLoader from "./Sidecard.loader"; + +const GenreLoader = () => ( +
+ {[...Array(8)].map((_, index) => ( + + ))} +
+); function CategoryLoader() { - return ( -
-
- -
- - -
-
-
- - -
+ return ( +
+
+
+
+ +
+ +
+ {[...Array(5)].map((_, index) => ( + + ))} +
- ) +
+ + +
+
+
+ ); } -export default CategoryLoader \ No newline at end of file +export default CategoryLoader; \ No newline at end of file diff --git a/src/components/Loader/CategoryCard.loader.jsx b/src/components/Loader/CategoryCard.loader.jsx index c170069..2d14064 100644 --- a/src/components/Loader/CategoryCard.loader.jsx +++ b/src/components/Loader/CategoryCard.loader.jsx @@ -1,30 +1,27 @@ import { Skeleton } from "../ui/Skeleton/Skeleton"; -function CategoryCardLoader({ className, showLabelSkeleton = true }) { +function CategoryCardLoader({ className, showLabelSkeleton = true, gridClass }) { return (
{showLabelSkeleton && ( )} -
- {[...Array(12)].map((_, index) => ( +
+ {[...Array(24)].map((_, index) => (
- -
- - + +
+ + +
- -
- - -
+
))}
@@ -33,3 +30,4 @@ function CategoryCardLoader({ className, showLabelSkeleton = true }) { } export default CategoryCardLoader; + diff --git a/src/components/Loader/Home.loader.jsx b/src/components/Loader/Home.loader.jsx index 21f8491..6068a78 100644 --- a/src/components/Loader/Home.loader.jsx +++ b/src/components/Loader/Home.loader.jsx @@ -1,28 +1,93 @@ -import CartLoader from "./Cart.loader"; +import { Skeleton } from "../ui/Skeleton/Skeleton"; import CategoryCardLoader from "./CategoryCard.loader"; import SidecardLoader from "./Sidecard.loader"; import SpotlightLoader from "./Spotlight.loader"; -import Trendingloader from "./Trending.loader"; +import TrendingLoader from "./Trending.loader"; + +const GenreLoader = () => ( +
+ {[...Array(8)].map((_, index) => ( + + ))} +
+); + +const ContinueWatchingLoader = () => ( +
+ +
+ {[...Array(6)].map((_, index) => ( +
+ + +
+ ))} +
+
+); + +const ScheduleLoader = () => ( +
+ +
+ {[...Array(6)].map((_, index) => ( +
+ +
+ + + +
+
+ ))} +
+
+); + +const TabbedAnimeSectionLoader = () => ( +
+
+ {[...Array(3)].map((_, index) => ( + + ))} +
+
+ {[...Array(12)].map((_, index) => ( +
+ + +
+ ))} +
+
+); + function HomeLoader() { return ( -
+
- -
- - - - +
+
-
+ + +
- - - + + +
- - + +
+ +
diff --git a/src/components/Loader/Producer.loader.jsx b/src/components/Loader/Producer.loader.jsx index b48b908..50c91f9 100644 --- a/src/components/Loader/Producer.loader.jsx +++ b/src/components/Loader/Producer.loader.jsx @@ -1,12 +1,28 @@ +import { Skeleton } from "../ui/Skeleton/Skeleton"; import CategoryCardLoader from "./CategoryCard.loader"; -import SidecardLoader from "./Sidecard.loader"; function ProducerLoader() { + const gridClass = "grid-cols-8 max-[1600px]:grid-cols-6 max-[1200px]:grid-cols-4 max-[758px]:grid-cols-3 max-[478px]:grid-cols-3 max-[478px]:gap-x-2"; + return ( -
-
- - +
+
+
+ + +
+ {[...Array(5)].map((_, index) => ( + + ))} +
+
); diff --git a/src/components/producer/Producer.jsx b/src/components/producer/Producer.jsx index f1ff8d9..c1c0580 100644 --- a/src/components/producer/Producer.jsx +++ b/src/components/producer/Producer.jsx @@ -50,7 +50,7 @@ function Producer() { const producerName = (id.charAt(0).toUpperCase() + id.slice(1)).split("-").join(" "); return ( -
+
{loading ? ( @@ -71,8 +71,8 @@ function Producer() {
+

Sort By Letters @@ -91,8 +91,8 @@ function AtoZ({ path }) { data={categoryInfo} limit={categoryInfo.length} showViewMore={false} - className="mt-0" - cardStyle="max-[1400px]:h-[35vw]" + className="mt-8" + cardStyle="grid-cols-8 max-[1600px]:grid-cols-6 max-[1200px]:grid-cols-4 max-[758px]:grid-cols-3 max-[478px]:grid-cols-3 max-[478px]:gap-x-2" /> )}
diff --git a/src/pages/search/Search.jsx b/src/pages/search/Search.jsx index 076714c..8f53c21 100644 --- a/src/pages/search/Search.jsx +++ b/src/pages/search/Search.jsx @@ -36,11 +36,13 @@ function Search() { setSearchParams({ keyword, page: newPage }); }; + const searchGridClass = "grid-cols-8 max-[1600px]:grid-cols-6 max-[1200px]:grid-cols-4 max-[758px]:grid-cols-3 max-[478px]:grid-cols-3 max-[478px]:gap-x-2"; + return ( -
+
{loading ? ( - + ) : page > totalPages ? (

@@ -59,7 +61,7 @@ function Search() { data={searchData} showViewMore={false} className="mt-0" - cardStyle="max-[1400px]:h-[35vw]" + gridClass={searchGridClass} />