feat: Add lazy loading for images in marketplace

The code changes include:
- Importing the `Image` component from `next/legacy/image` instead of `next/image` in multiple files.
- Adding a new `CachedImage` component that uses the `Image` component with a custom loader.
- Updating the `MarketplacePage` component to pass the `themes` prop to the `MarketplacePage` component.
This commit is contained in:
mauro-balades
2024-09-01 11:08:01 +02:00
parent 1c81e8ebea
commit 7575e7b22a
2 changed files with 16 additions and 8 deletions

View File

@@ -5,14 +5,9 @@ import { getAllThemes, getThemesFromSearch, ZenTheme } from "@/lib/themes";
import ThemeCard from "./theme-card";
import { Button } from "./ui/button";
export default function MarketplacePage() {
export default function MarketplacePage({ themes }: {themes:ZenTheme[]}) {
const [searchInput, setSearchInput] = React.useState("");
const [tags, setTags] = React.useState<string[]>(["all"]);
const [themes, setThemes] = React.useState<ZenTheme[]>([]);
React.useEffect(() => {
getAllThemes().then(setThemes);
}, []);
return (
<div className="flex flex-col w-full mx-auto items-center justify-center h-full">