From 24ec3588d519cec9bb2d6dfaf6820ada51397b6f Mon Sep 17 00:00:00 2001 From: Rafi Arrafif Date: Sat, 28 Feb 2026 14:33:39 +0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20wip:=20add=20base=20hero=20secti?= =?UTF-8?q?on=20component?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bun.lock | 3 +++ features/home/index.tsx | 8 +++++++- features/home/sections/Hero/main.tsx | 26 ++++++++++++++++++++++++++ package.json | 1 + shared/types/swiper.d.ts | 2 ++ 5 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 features/home/sections/Hero/main.tsx create mode 100644 shared/types/swiper.d.ts diff --git a/bun.lock b/bun.lock index 38ffadb..1a58771 100644 --- a/bun.lock +++ b/bun.lock @@ -17,6 +17,7 @@ "react-dom": "19.2.3", "shadcn": "^3.6.3", "sonner": "^2.0.7", + "swiper": "^12.1.2", "tailwind-merge": "^3.4.0", "tw-animate-css": "^1.4.0", "ua-parser-js": "^2.0.8", @@ -1328,6 +1329,8 @@ "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], + "swiper": ["swiper@12.1.2", "", {}, "sha512-4gILrI3vXZqoZh71I1PALqukCFgk+gpOwe1tOvz5uE9kHtl2gTDzmYflYCwWvR4LOvCrJi6UEEU+gnuW5BtkgQ=="], + "tabbable": ["tabbable@6.4.0", "", {}, "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg=="], "tagged-tag": ["tagged-tag@1.0.0", "", {}, "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng=="], diff --git a/features/home/index.tsx b/features/home/index.tsx index 65eb3c1..f2c4d4d 100644 --- a/features/home/index.tsx +++ b/features/home/index.tsx @@ -1,7 +1,13 @@ "use client"; +import Hero from "./sections/Hero/main"; + const HomeIndex = () => { - return
HomePage
; + return ( +
+ +
+ ); }; export default HomeIndex; diff --git a/features/home/sections/Hero/main.tsx b/features/home/sections/Hero/main.tsx new file mode 100644 index 0000000..6402001 --- /dev/null +++ b/features/home/sections/Hero/main.tsx @@ -0,0 +1,26 @@ +import React from "react"; +import { Swiper, SwiperSlide } from "swiper/react"; +import { Autoplay, Pagination, Navigation } from "swiper/modules"; +import "swiper/css"; + +const Hero = () => { + return ( +
+ console.log("slide change")} + onSwiper={(swiper) => console.log(swiper)} + className="h-full" + autoplay={{ delay: 5000, disableOnInteraction: false }} + modules={[Autoplay, Pagination, Navigation]} + > + Slide 1 + Slide 2 + Slide 3 + +
+ ); +}; + +export default Hero; diff --git a/package.json b/package.json index 74d3a25..016837d 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "react-dom": "19.2.3", "shadcn": "^3.6.3", "sonner": "^2.0.7", + "swiper": "^12.1.2", "tailwind-merge": "^3.4.0", "tw-animate-css": "^1.4.0", "ua-parser-js": "^2.0.8" diff --git a/shared/types/swiper.d.ts b/shared/types/swiper.d.ts new file mode 100644 index 0000000..6c975f1 --- /dev/null +++ b/shared/types/swiper.d.ts @@ -0,0 +1,2 @@ +declare module "swiper/css"; +declare module "swiper/css/*";