bento-01
    Files
    app/page.tsx
    "use client";
    
    import { Card, CardContent } from "@/components/ui/card";
    import { useAnimations } from "./hooks/useAnimation";
    import { motion } from "framer-motion";
    import { MoveUpRight } from "lucide-react";
    import Image from "next/image";
    import AnimatedEmoji from "./components/animated-emoji";
    import Logo from "./components/logo";
    
    export default function MainLayout() {
      const { cardIdentity, cardSlogan, cardProduct, verticalCard, quoteCard } =
        useAnimations();
    
      return (
        <>
          <div className="max-w-screen  bg-backgroud z-50 h-screen p-4  2xl:overflow-visible">
            <div className="grid grid-cols-4 grid-rows-8 gap-5 text-primary lg:grid-cols-3">
              <div className=" col-span-full h-full w-full lg:col-span-1 lg:col-start-2 lg:row-span-2 lg:row-start-2">
                <Card className=" h-full w-full">
                  <CardContent className="flex h-full  w-full items-center justify-center gap-2">
                    <Logo className="h-auto w-48" />
                  </CardContent>
                </Card>
              </div>
              <motion.div
                className=" group relative col-span-full p-0  lg:col-span-2 lg:row-span-1 lg:row-start-1"
                {...cardIdentity}
              >
                <Card className=" h-full w-full text-primary">
                  <CardContent className="flex h-full items-end justify-start gap-2 px-8">
                    <div className="w-80 text-xl ">
                      Discover our new eco-friendly skincare collection designs to
                      nourish your skin
                    </div>
                    <button className="dark:border-knight absolute  right-2 top-2 h-10 w-10 rounded-full border-2 border-transparent bg-primary p-2 transition-all duration-500 ease-in-out group-hover:w-40 group-hover:bg-primary md:h-[2.75rem] md:w-[2.75rem]">
                      <div className="flex items-center justify-center">
                        <span className="md:text-medium animate-fade invisible mr-1 hidden text-nowrap text-sm text-black  group-hover:visible group-hover:block ">
                          Order Now
                        </span>
                        <MoveUpRight className="text-black" />
                      </div>
                    </button>
                  </CardContent>
                </Card>
              </motion.div>
              <motion.div
                className=" col-span-full row-start-2 row-end-3 rounded-full  p-0 lg:col-span-1 lg:col-start-1 lg:row-start-2"
                {...cardSlogan}
              >
                <Card className=" h-full w-full bg-blue-300 text-primary">
                  <CardContent className="flex h-full items-center justify-center p-0">
                    <h2 className="text-center text-2xl font-bold  lg:text-3xl">
                      Beauty & Care
                    </h2>
                  </CardContent>
                </Card>
              </motion.div>
              <motion.div
                className="col-span-2 hidden justify-center rounded-full  p-0 lg:col-span-1 lg:col-start-3 lg:row-span-1 lg:row-start-3 lg:flex"
                {...cardProduct}
              >
                <Card className="flex h-full w-full items-center justify-center bg-blue-300 text-primary">
                  <CardContent className=" flex items-center justify-center p-0 ">
                    <div className="text-center text-3xl font-bold">
                      Serum & Treatment
                    </div>
                  </CardContent>
                </Card>
              </motion.div>
    
              <motion.div
                className="col-span-full p-0 lg:col-span-1 lg:col-start-1 lg:row-span-2 lg:row-start-3"
                {...verticalCard}
              >
                <Card className="h-full w-full">
                  <CardContent className="flex h-full items-center justify-center p-0">
                    <AnimatedEmoji />
                  </CardContent>
                </Card>
              </motion.div>
    
              <motion.div
                className="relative hidden rounded-xl  lg:col-start-3 lg:row-span-2 lg:row-start-1 lg:block lg:h-[350px]"
                {...verticalCard}
              >
                <Image
                  src="https://images.unsplash.com/photo-1724084120131-3f2e0d11a288?q=80&w=2940&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"
                  priority={true}
                  alt="profile image"
                  fill
                  style={{
                    width: "100%",
                    height: "100%",
                    objectFit: "cover",
                    borderRadius: "15px",
                  }}
                />
              </motion.div>
              <motion.div
                className="relative col-span-full  lg:col-span-2 lg:col-start-2 lg:row-span-1 lg:row-start-4"
                {...quoteCard}
              >
                <Card className="h-full w-full">
                  <div className="absolute inset-0">
                    <Image
                      src="https://images.unsplash.com/photo-1584949514123-474cfa705dfe?q=80&w=2787&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"
                      priority={true}
                      alt="profile image"
                      fill
                      style={{
                        width: "100%",
                        height: "100%",
                        objectFit: "cover",
                        borderRadius: "15px",
                      }}
                    />
                  </div>
                  <div className="absolute inset-0 rounded-[15px] bg-black/30"></div>
    
                  {/* Text Container with Center Alignment */}
                  <div className="relative z-10 flex h-full  w-full items-center justify-center gap-1 px-4 text-center text-primary ">
                    <p className="text-xl font-light">your secret</p>
    
                    {/* Horizontal Line */}
                    <div className="my-3 h-px bg-primary md:w-40"></div>
    
                    <p className="text-xl font-light">beauty</p>
                  </div>
                </Card>
              </motion.div>
            </div>
          </div>
        </>
      );
    }
    
    portofolio-02
    Files
    app/main.tsx
    import { BioDetails } from "./components/bio-detail";
    import { Bio } from "./components/bio";
    
    import { CareerPaths } from "./components/career-path";
    import { Highlight } from "./components/highlight";
    
    import { cn } from "@/lib/utils";
    
    function Divider() {
      return (
        <div
          className={cn(
            "border-grid relative flex h-4 w-full border-x",
            "before:absolute before:-left-[100vw] before:h-4 before:w-[200vw]",
            "before:[--pattern-foreground:var(--color-black)]/5 dark:before:[--pattern-foreground:var(--color-white)]/5 before:bg-[image:repeating-linear-gradient(315deg,_var(--pattern-foreground)_0,_var(--pattern-foreground)_1px,_transparent_0,_transparent_50%)] before:bg-[size:10px_10px]",
          )}
        />
      );
    }
    
    export default function Layout() {
      return (
        <>
          <div className="max-w-screen bg-backgroud z-50 flex h-screen flex-col items-center justify-between overflow-x-hidden">
            <div className="mx-auto px-4 text-primary md:max-w-3xl">
              <Bio />
              <Divider />
              <main>
                <Highlight />
                <Divider />
    
                <BioDetails />
                <Divider />
    
                <CareerPaths />
                <Divider />
    
                <Divider />
              </main>
            </div>
          </div>
        </>
      );
    }
    
    hero-02
    Files
    app/main.tsx
    import { Header } from "./components/header";
    import { Banner } from "./components/banner";
    import { Review } from "./components/review";
    import { OpenSource } from "./components/open-source";
    
    export default function HomeLayout() {
      return (
        <div className="flex flex-col ">
          <div className="container mx-auto border-x">
            <Header />
            <div className="divide-y">
              <Banner />
              <div className="grid divide-y sm:grid-cols-3 sm:divide-x sm:divide-y-0">
                <div className="sm:col-span-2">
                  <Review />
                </div>
                <div className="sm:col-span-1">
                  <OpenSource />
                </div>
              </div>
            </div>
          </div>
        </div>
      );
    }