From 490ba68fe0ccec99593c46584e37feb1ad5ed681 Mon Sep 17 00:00:00 2001 From: kudindmitriy Date: Tue, 24 Feb 2026 15:20:19 +0000 Subject: [PATCH] Bob AI: Add three interactive enhancements to the site: (1) Create a --- src/app/page.tsx | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/app/page.tsx b/src/app/page.tsx index 96221af..e2755c3 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -2,6 +2,9 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple'; +'use client'; + +import { useState, useEffect } from 'react'; import HeroOverlay from '@/components/sections/hero/HeroOverlay'; import InlineImageSplitTextAbout from '@/components/sections/about/InlineImageSplitTextAbout'; import FeatureBento from '@/components/sections/feature/FeatureBento'; @@ -9,9 +12,37 @@ import MetricCardSeven from '@/components/sections/metrics/MetricCardSeven'; import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen'; import ContactSplitForm from '@/components/sections/contact/ContactSplitForm'; import FooterBaseCard from '@/components/sections/footer/FooterBaseCard'; +import AnimatedCursor from '@/components/AnimatedCursor'; +import LofiMusicPlayer from '@/components/LofiMusicPlayer'; import { Sparkles, TrendingUp } from "lucide-react"; export default function LandingPage() { + useEffect(() => { + const playClickSound = () => { + const audioContext = new (window.AudioContext || (window as any).webkitAudioContext)(); + const oscillator = audioContext.createOscillator(); + const gainNode = audioContext.createGain(); + + oscillator.connect(gainNode); + gainNode.connect(audioContext.destination); + + oscillator.frequency.value = 800; + oscillator.type = 'sine'; + + gainNode.gain.setValueAtTime(0.3, audioContext.currentTime); + gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.1); + + oscillator.start(audioContext.currentTime); + oscillator.stop(audioContext.currentTime + 0.1); + }; + + const handleClick = () => { + playClickSound(); + }; + + document.addEventListener('click', handleClick); + return () => document.removeEventListener('click', handleClick); + }, []); return ( + +