From 88abdc2313f46e9ba70c32c7d2dc0350c15d6b42 Mon Sep 17 00:00:00 2001 From: selvi Date: Sat, 26 Jul 2025 14:07:24 +0530 Subject: [PATCH] tamil culture issue solved --- components/home/ArtsAndCultureSection.tsx | 190 +++++++++++----------- public/assets/css/main.css | 19 +++ 2 files changed, 118 insertions(+), 91 deletions(-) diff --git a/components/home/ArtsAndCultureSection.tsx b/components/home/ArtsAndCultureSection.tsx index f3259fe..b691161 100644 --- a/components/home/ArtsAndCultureSection.tsx +++ b/components/home/ArtsAndCultureSection.tsx @@ -1,110 +1,118 @@ 'use client' import Link from 'next/link' -import { useRef, useEffect } from 'react' +import { useRef, useEffect, useState } from 'react' import { Autoplay, Navigation } from 'swiper/modules' import { Swiper, SwiperSlide } from 'swiper/react' import 'swiper/css' import 'swiper/css/navigation' const cultureSlides = [ - { image: "/assets/img/home/tamil-culture/tamil-culture-1.webp", icon: "/assets/img/home/icons/music.webp", title: "Instrumental Music", description: "In South Indian or Carnatic…", slug: "instrumental-music"}, - { image: "/assets/img/home/tamil-culture/tamil-culture-2.webp", icon: "/assets/img/home/icons/bharatham.webp", title: "Bharatha Natyam Dance", description: "An ancient traditional art…",slug: "bharathnatyam-dance"}, - { image: "/assets/img/home/tamil-culture/tamil-culture-3.webp", icon: "/assets/img/home/icons/vocal.webp", title: "Vocal", description: "Carnatic music is considered…", slug: "vocal"}, - { image: "/assets/img/home/tamil-culture/tamil-culture-4.webp", icon: "/assets/img/home/icons/jallikattu.webp", title: "Jallikattu", description: "Jallikattu (Tamil: சல்லிகட்டு)…", slug: "jallikattu"}, - { image: "/assets/img/home/tamil-culture/tamil-culture-5.webp", icon: "/assets/img/home/icons/entertainment.webp", title: "Entertainment-1", description: "Entertainment-1...", slug: "entertainment"}, - { image: "/assets/img/home/tamil-culture/tamil-culture-6.webp", icon: "/assets/img/home/icons/indoor.webp", title: "Indoor game", description: "Indoor game...", slug: "indoor-game"}, - { image: "/assets/img/home/tamil-culture/tamil-culture-7.webp", icon: "/assets/img/home/icons/silambam.webp", title: "Silambattam", description: "Silambam or Silambattam...", slug: "silambattam"}, + { image: "/assets/img/home/tamil-culture/tamil-culture-1.webp", icon: "/assets/img/home/icons/music.webp", title: "Instrumental Music", description: "In South Indian or Carnatic…", slug: "instrumental-music" }, + { image: "/assets/img/home/tamil-culture/tamil-culture-2.webp", icon: "/assets/img/home/icons/bharatham.webp", title: "Bharatha Natyam Dance", description: "An ancient traditional art…", slug: "bharathnatyam-dance" }, + { image: "/assets/img/home/tamil-culture/tamil-culture-3.webp", icon: "/assets/img/home/icons/vocal.webp", title: "Vocal", description: "Carnatic music is considered…", slug: "vocal" }, + { image: "/assets/img/home/tamil-culture/tamil-culture-4.webp", icon: "/assets/img/home/icons/jallikattu.webp", title: "Jallikattu", description: "Jallikattu (Tamil: சல்லிகட்டு)…", slug: "jallikattu" }, + { image: "/assets/img/home/tamil-culture/tamil-culture-5.webp", icon: "/assets/img/home/icons/entertainment.webp", title: "Entertainment-1", description: "Entertainment-1...", slug: "entertainment" }, + { image: "/assets/img/home/tamil-culture/tamil-culture-6.webp", icon: "/assets/img/home/icons/indoor.webp", title: "Indoor game", description: "Indoor game...", slug: "indoor-game" }, + { image: "/assets/img/home/tamil-culture/tamil-culture-7.webp", icon: "/assets/img/home/icons/silambam.webp", title: "Silambattam", description: "Silambam or Silambattam...", slug: "silambattam" }, ] export default function ArtAndCultureSection() { - const prevRef = useRef(null) - const nextRef = useRef(null) - const swiperRef = useRef(null) + const prevRef = useRef(null) + const nextRef = useRef(null) + const [navReady, setNavReady] = useState(false) + const swiperRef = useRef(null) - useEffect(() => { - if (swiperRef.current && swiperRef.current.params) { - swiperRef.current.params.navigation.prevEl = prevRef.current - swiperRef.current.params.navigation.nextEl = nextRef.current - swiperRef.current.navigation.destroy() - swiperRef.current.navigation.init() - swiperRef.current.navigation.update() - } - }, []) + useEffect(() => { + setNavReady(true) + }, []) - return ( -
-
-
-
-
-

Tamil Culture

-
-
-
+ useEffect(() => { -
-
-
- { - swiperRef.current = swiper - }} - breakpoints={{ - 320: { slidesPerView: 1, spaceBetween: 30 }, - 575: { slidesPerView: 2, spaceBetween: 30 }, - 767: { slidesPerView: 2, spaceBetween: 30 }, - 991: { slidesPerView: 2, spaceBetween: 30 }, - 1199: { slidesPerView: 3, spaceBetween: 30 }, - 1350: { slidesPerView: 3, spaceBetween: 30 }, - }} - className="owl-carousel" - > - {cultureSlides.map((slide, idx) => ( - -
- {slide.title} -
-
- {`${slide.title} -
- -
-
-

{slide.title}

-
- {slide.description} -
- - ))} - + if (navReady && swiperRef.current && swiperRef.current.params) { + swiperRef.current.params.navigation.prevEl = prevRef.current + swiperRef.current.params.navigation.nextEl = nextRef.current + swiperRef.current.navigation.destroy() + swiperRef.current.navigation.init() + swiperRef.current.navigation.update() + } + }, [navReady]) -
- - -
-
-
- -
-
-
- Festival Poster -
-
-
-
+ return ( +
+
+
+
+
+

Tamil Culture

+
- ) + +
+
+
+ (swiperRef.current = swiper)} + navigation={{ prevEl: prevRef.current, nextEl: nextRef.current }} + breakpoints={{ + 320: { slidesPerView: 1, spaceBetween: 30 }, + 575: { slidesPerView: 2, spaceBetween: 30 }, + 767: { slidesPerView: 2, spaceBetween: 30 }, + 991: { slidesPerView: 2, spaceBetween: 30 }, + 1199: { slidesPerView: 3, spaceBetween: 30 }, + 1350: { slidesPerView: 3, spaceBetween: 30 }, + }} + className="owl-carousel" + > + {cultureSlides.map((slide, idx) => ( + +
+ {slide.title} +
+
+ {`${slide.title} +
+ + + +
+
+

{slide.title}

+
+ + {slide.description} + +
+ + ))} + + +
+ + +
+
+
+ +
+
+
+ Festival Poster +
+
+
+
+
+
+ ) } diff --git a/public/assets/css/main.css b/public/assets/css/main.css index 112fe79..6cc7feb 100644 --- a/public/assets/css/main.css +++ b/public/assets/css/main.css @@ -28342,3 +28342,22 @@ h2.custom-text.aos-init.aos-animate{ padding: 10px !important; } } +.description-link { + display: inline-block; + color: inherit; + text-decoration: none; + position: relative; + z-index: 2; + cursor: pointer; +} + +.description-link:hover { + color: #d9534f; +} + +.owl-nav button { + z-index: 10; + position: relative; + background: none; + border: none; +}