From a1d010c71e877b7c0d7be43632db4510edcf6a07 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Wed, 18 Jun 2025 12:14:07 +0200 Subject: [PATCH] website updates --- client/src/components/about/about-section.tsx | 2 +- .../components/about/home-about-section.tsx | 2 +- client/src/components/classes/class-card.tsx | 55 +++++--- client/src/components/home/feature-card.tsx | 68 --------- client/src/components/navigation/footer.tsx | 4 +- client/src/components/photo-gallery.tsx | 130 ++++-------------- .../testimonials/testimonials-section.tsx | 6 +- client/src/pages/home-page.tsx | 2 - 8 files changed, 70 insertions(+), 199 deletions(-) delete mode 100644 client/src/components/home/feature-card.tsx diff --git a/client/src/components/about/about-section.tsx b/client/src/components/about/about-section.tsx index f625863..2f1903d 100644 --- a/client/src/components/about/about-section.tsx +++ b/client/src/components/about/about-section.tsx @@ -18,7 +18,7 @@ export function AboutSection() {
-

My Pilates Story

+

My Pilates Story

I came to movement as a way to feel good in my body and begin healing emotions I hadn't yet processed. It started simply—with home yoga classes—and slowly turned into something much deeper.

diff --git a/client/src/components/about/home-about-section.tsx b/client/src/components/about/home-about-section.tsx index e0be815..ad70440 100644 --- a/client/src/components/about/home-about-section.tsx +++ b/client/src/components/about/home-about-section.tsx @@ -16,7 +16,7 @@ export function HomeAboutSection() {
-

Meet Fadia

+

Meet Fadia

Fadia is a certified Pilates instructor, former lawyer, and community builder with a passion for helping people connect with their bodies through mindful movement.

diff --git a/client/src/components/classes/class-card.tsx b/client/src/components/classes/class-card.tsx index c7407d8..c209bc0 100644 --- a/client/src/components/classes/class-card.tsx +++ b/client/src/components/classes/class-card.tsx @@ -1,4 +1,5 @@ import { Class } from "@shared/schema"; +import { Link } from "wouter"; import FadiaGardenImage from "@assets/fadia-garden_1749836720986.jpg"; import PilatesClassImage from "@assets/pilates_class_1749837680834.jpeg"; import FadiaPrivateImage from "@assets/Fadia-7_1749842141071.jpg"; @@ -46,24 +47,46 @@ export function ClassCard({ classData }: ClassCardProps) { } }; + // Get link based on class type + const getClassLink = () => { + switch (classData.classType) { + case "group": return "https://nuncenter.com/"; + case "small-group": return "https://nuncenter.com/"; + case "private": return "/contact"; + case "online": return "https://www.momoyoga.com/pilates-with-fadia/schedule"; + default: return "#"; + } + }; + + // Determine if link should open in new tab + const shouldOpenNewTab = (classType: string) => { + return classType === "group" || classType === "small-group" || classType === "online"; + }; + + const linkProps = shouldOpenNewTab(classData.classType) + ? { href: getClassLink(), target: "_blank", rel: "noopener noreferrer" } + : { href: getClassLink() }; + return ( -
- {classData.name} -
- + ); } diff --git a/client/src/components/home/feature-card.tsx b/client/src/components/home/feature-card.tsx deleted file mode 100644 index 3b722c5..0000000 --- a/client/src/components/home/feature-card.tsx +++ /dev/null @@ -1,68 +0,0 @@ -import React from "react"; - -interface FeatureCardProps { - title: string; - description: string; - icon: string; - color: "teal" | "purple" | "rose"; -} - -export function FeatureCard({ title, description, icon, color }: FeatureCardProps) { - const colorMap = { - teal: "#0c8991", - purple: "#9D5E9B", - rose: "#B55076" - }; - - return ( -
- -

{title}

-

{description}

-
- ); -} - -export function FeaturesSection() { - const features = [ - { - title: "Balance", - description: "Find harmony between body and mind through mindful movement.", - icon: "fa-align-center", - color: "teal" as const, - }, - { - title: "Strength", - description: "Build core power and muscular endurance through controlled exercises.", - icon: "fa-dumbbell", - color: "purple" as const, - }, - { - title: "Flexibility", - description: "Enhance your range of motion and release tension throughout your body.", - icon: "fa-wind", - color: "rose" as const, - }, - ]; - - return ( -
-
-
-

- Core Benefits -

-

- Experience the transformative power of Pilates through these foundational principles -

-
- -
- {features.map((feature, index) => ( - - ))} -
-
-
- ); -} diff --git a/client/src/components/navigation/footer.tsx b/client/src/components/navigation/footer.tsx index cfea51d..774e160 100644 --- a/client/src/components/navigation/footer.tsx +++ b/client/src/components/navigation/footer.tsx @@ -126,7 +126,9 @@ export default function Footer() {
  • - Nun Center
    Zamalek, Cairo, Egypt
    + + Nun Center
    Zamalek, Cairo, Egypt +
  • diff --git a/client/src/components/photo-gallery.tsx b/client/src/components/photo-gallery.tsx index 31ba9fd..deba6d0 100644 --- a/client/src/components/photo-gallery.tsx +++ b/client/src/components/photo-gallery.tsx @@ -1,24 +1,24 @@ -import { useQuery } from "@tanstack/react-query"; -import { useState } from "react"; - -interface InstagramPost { - id: string; - media_type: 'IMAGE' | 'VIDEO' | 'CAROUSEL_ALBUM'; - media_url: string; - permalink: string; - caption?: string; - timestamp: string; -} +import { useEffect } from "react"; export function PhotoGallery() { - const [showAllPosts, setShowAllPosts] = useState(false); - - const { data: posts, isLoading, error } = useQuery({ - queryKey: ['/api/instagram-feed'], - staleTime: 1000 * 60 * 30, // Cache for 30 minutes - }); - - const displayPosts = showAllPosts ? posts : posts?.slice(0, 6); + useEffect(() => { + // Load Curator.io script + const script = document.createElement("script"); + script.type = "text/javascript"; + script.async = true; + script.charset = "UTF-8"; + script.src = "https://cdn.curator.io/published/1964cded-8962-41c1-b7c1-d36f02707c7a.js"; + + // Insert script before the closing body tag + document.body.appendChild(script); + + // Cleanup function to remove script when component unmounts + return () => { + if (document.body.contains(script)) { + document.body.removeChild(script); + } + }; + }, []); return (
    @@ -31,94 +31,10 @@ export function PhotoGallery() {
    - {isLoading && ( -
    - {[1, 2, 3, 4, 5, 6].map((index) => ( -
    - ))} -
    - )} - - {error && ( -
    -
    - -

    Follow me on Instagram for daily inspiration, movement tips, and behind-the-scenes content from my classes.

    - - - Visit Instagram - -
    -
    - )} - - {posts && posts.length > 0 && ( -
    - - - {posts.length > 6 && ( -
    - -
    - )} - - -
    - )} + {/* Curator.io Instagram Feed */} +
diff --git a/client/src/components/testimonials/testimonials-section.tsx b/client/src/components/testimonials/testimonials-section.tsx index 4869942..122026f 100644 --- a/client/src/components/testimonials/testimonials-section.tsx +++ b/client/src/components/testimonials/testimonials-section.tsx @@ -10,10 +10,10 @@ export function TestimonialsSection() { color: "teal", }, { - quote: "I've seen incredible improvements in my posture and core strength since joining Fadia's classes. She truly understands how to help each individual.", - author: "Ahmed M.", + quote: "Fadia’s calm and soothingly cueing had me go through the flow steadily, challenging my muscles without even realizing and that felt great!", + author: "Sara from Cairo", memberSince: "", - initials: "AM", + initials: "SC", color: "purple", }, { diff --git a/client/src/pages/home-page.tsx b/client/src/pages/home-page.tsx index aa44af2..8b366a2 100644 --- a/client/src/pages/home-page.tsx +++ b/client/src/pages/home-page.tsx @@ -5,7 +5,6 @@ import { ClassesSection } from "@/components/classes/classes-section"; import { TestimonialsSection } from "@/components/testimonials/testimonials-section"; import { ContactSection } from "@/components/contact/contact-section"; -import { CTASection } from "@/components/home/cta-section"; import { useEffect } from "react"; export default function HomePage() { @@ -47,7 +46,6 @@ export default function HomePage() { - ); }