diff --git a/app/(admin)/_components/header.tsx b/app/(admin)/_components/header.tsx index bd15560..a2cae72 100644 --- a/app/(admin)/_components/header.tsx +++ b/app/(admin)/_components/header.tsx @@ -53,7 +53,7 @@ export function Header() {
{/* Logo */} - +
diff --git a/app/(admin)/_components/side-nav.tsx b/app/(admin)/_components/side-nav.tsx index f512a8e..58d21e1 100644 --- a/app/(admin)/_components/side-nav.tsx +++ b/app/(admin)/_components/side-nav.tsx @@ -44,12 +44,12 @@ export default function SideNav() { <> {/* Mobile Top Bar */}
-
+
Attune Heart Therapy -
+ diff --git a/components/Location.tsx b/components/Location.tsx new file mode 100644 index 0000000..30074df --- /dev/null +++ b/components/Location.tsx @@ -0,0 +1,263 @@ +'use client'; + +import { motion } from "framer-motion"; +import { useInView } from "framer-motion"; +import { useRef, useEffect, useState } from "react"; +import { MapPin, Phone, Building2 } from "lucide-react"; + +export function Location() { + const ref = useRef(null); + const isInView = useInView(ref, { once: true, margin: "-100px" }); + const [isDark, setIsDark] = useState(false); + + useEffect(() => { + const checkTheme = () => { + setIsDark(document.documentElement.classList.contains('dark')); + }; + + checkTheme(); + const observer = new MutationObserver(checkTheme); + observer.observe(document.documentElement, { + attributes: true, + attributeFilter: ['class'] + }); + + return () => observer.disconnect(); + }, []); + + const cities = [ + "Hollywood, FL", + "Jacksonville, FL", + "Miami, FL", + "Pensacola, FL" + ]; + + const counties = [ + "Broward", + "Duval", + "Escambia", + "Miami-dade" + ]; + + const zips = [ + "32256", + "32503", + "33021", + "33145" + ]; + + const neighborhoods = [ + "Coral Gate", + "Coral Way", + "Royal Lakes" + ]; + + return ( +
+ {/* Background Image */} +
+ + {/* Minimal overlay - allowing background image to show at near original opaqueness */} +
+ + {/* Very subtle gradient overlay */} + {!isDark && ( +
+ )} + {isDark && ( +
+ )} + + {/* Subtle animated blobs */} +
+ + +
+ +
+ + + Location + + + +
+ {/* Primary Location */} + +
+
+ +
+

Primary Location

+
+

Miami, FL 33145

+
+ + (954) 807-3027 +
+
+ + {/* Additional Location */} + +
+
+ +
+

Additional Location

+
+

Hollywood, FL 33021

+
+ + (954) 807-3027 +
+
+
+ + {/* Nearby Areas */} + +

Nearby Areas

+ +
+ {/* Cities */} +
+

Cities

+
    + {cities.map((city, index) => ( + + {city} + + ))} +
+
+ + {/* Counties */} +
+

Counties

+
    + {counties.map((county, index) => ( + + {county} + + ))} +
+
+ + {/* Zips */} +
+

Zips

+
    + {zips.map((zip, index) => ( + + {zip} + + ))} +
+
+ + {/* Neighborhoods */} +
+

Neighborhoods

+
    + {neighborhoods.map((neighborhood, index) => ( + + {neighborhood} + + ))} +
+
+
+
+
+
+ ); +} + diff --git a/components/Navbar.tsx b/components/Navbar.tsx index 9826e01..aab93a4 100644 --- a/components/Navbar.tsx +++ b/components/Navbar.tsx @@ -7,6 +7,7 @@ import { ThemeToggle } from "@/components/ThemeToggle"; import { useEffect, useState } from "react"; import { LoginDialog } from "@/components/LoginDialog"; import { useRouter } from "next/navigation"; +import Link from "next/link"; export function Navbar() { const [isDark, setIsDark] = useState(false); @@ -52,19 +53,20 @@ export function Navbar() { >
- -
- -
- - Attune Heart Therapy - -
+ +
+ +
+ + Attune Heart Therapy + + +