From 1af5d7c2cc1ef392d1eb54c5d8833a590c716bb5 Mon Sep 17 00:00:00 2001 From: v0 Date: Wed, 22 Oct 2025 04:38:34 +0000 Subject: [PATCH] feat: add scroll to top on movement page load Ensure /movement page starts at top on navigation. #VERCEL_SKIP Co-authored-by: Jeff Emmett <46964190+Jeff-Emmett@users.noreply.github.com> --- app/about/page.tsx | 93 +++++++++--- app/contact/page.tsx | 31 ++-- app/globals.css | 26 ++++ app/movement/page.tsx | 40 ++--- app/page.tsx | 221 ++++++++++++++++++++-------- app/what-to-expect/page.tsx | 35 ++--- components/animated-hero.tsx | 2 +- components/footer.tsx | 13 +- components/info-modal.tsx | 39 +++++ components/navbar.tsx | 140 +++++++++++------- components/service-dropdown.tsx | 43 ++++-- public/images/bioflex-laser.png | Bin 0 -> 1458870 bytes public/images/movement-class.png | Bin 0 -> 1851454 bytes public/images/olivia-cat.png | Bin 0 -> 2475263 bytes public/images/rmt-certification.png | Bin 0 -> 35512 bytes 15 files changed, 466 insertions(+), 217 deletions(-) create mode 100644 components/info-modal.tsx create mode 100644 public/images/bioflex-laser.png create mode 100644 public/images/movement-class.png create mode 100644 public/images/olivia-cat.png create mode 100644 public/images/rmt-certification.png diff --git a/app/about/page.tsx b/app/about/page.tsx index fe54fca..315838d 100644 --- a/app/about/page.tsx +++ b/app/about/page.tsx @@ -7,9 +7,9 @@ import ClinicSenseButton from "@/components/clinicsense-button" export default function AboutPage() { return ( -
+
{/* Hero Section */} -
+
@@ -20,8 +20,8 @@ export default function AboutPage() { Founder and Owner of Ebb'nFlow Therapeutics

- A lifelong interest in movement and the healing arts is the foundation of her practice as a Massage - Therapist and Movement Educator. + A lifelong interest in movement and the healing arts is the foundation of her practice as a massage + therapist, laser therapist, and movement educator.

@@ -44,7 +44,7 @@ export default function AboutPage() { ethical standards of RMTs.

-
+

Practice Evolution

@@ -60,6 +60,7 @@ export default function AboutPage() {

2017: Moved to home location on Woodbine Ave., working solely for herself

+

2025: Relocated to downtown St. Catharines, rebranded to Ebb'nFlow Therapeutics

@@ -80,34 +81,37 @@ export default function AboutPage() { {/* Education & Training */} -
+

Education & Training

- +

Formal Education

+

+ 2021: Meditech International Inc. Bioflex Laser Therapy Certification +

2012: Graduate, Massage Therapy Program, Ontario College of Health and Technology

- 1998: School of Toronto Dance Theatre's Professional Training Program + 2009: Pilates Teacher Training, STOTT Toronto (Beginner to Advanced Matwork)

2003-05: Yoga Teacher Training, Yogaspace Toronto (200 hr diploma + Advanced Teacher Training)

- 2009: Pilates Teacher Training, STOTT Toronto (Beginner to Advanced Matwork) + 1998: School of Toronto Dance Theatre's Professional Training Program

- +

Continuing Education

@@ -115,19 +119,21 @@ export default function AboutPage() {

• Biodynamic craniosacral therapy

• Osteopathic techniques for RMTs

• Advanced sacro-lumbar and thoracic spine assessments and joint mobilization

-

• Certification in laser therapy with Bioflex Laser Therapy system integration (2021)

• Axis Syllabus - evolving theory and practice of dynamic human movement

- +

Recognition & Support

Massage Therapy is Dahlia's second career, supported by:

• Training and subsistence grant from the Dancer's Transition and Resource Centre (2010)

-

• Special second year award for academic excellence (Heritage Canada, 2011)

+

+ • Special second year award for academic excellence (Dancer’s Transition and Resource Centre, + 2011) +

@@ -151,8 +157,49 @@ export default function AboutPage() {
+ {/* Meet Olivia Section */} +
+
+
+

Meet Olivia

+ +
+
+ Olivia, the friendly clinic cat at Ebb'nFlow Therapeutics +
+
+ + +

+ No visit to Ebb'nFlow Therapeutics would be complete without meeting Olivia, our gentle and + affectionate clinic companion. This sweet tabby girl has a calming presence that perfectly + complements the therapeutic atmosphere of our space. +

+

+ Olivia enjoys greeting clients with soft purrs and will often curl up nearby during sessions, + adding an extra layer of comfort and relaxation to your experience. Her friendly demeanor and + peaceful energy make her a beloved part of the Ebb'nFlow family. +

+

+ Please let us know if you have any allergies or prefer a cat-free session—we're happy to + accommodate all our clients' needs! +

+
+
+
+
+
+
+
+ {/* CTA Section */} -
+

Experience Dahlia's Unique Approach

@@ -160,16 +207,20 @@ export default function AboutPage() { Combining 30 years of movement expertise with clinical massage therapy excellence.

- -
+
+ Registered Massage Therapist - Professional Hands You Can Trust +
diff --git a/app/contact/page.tsx b/app/contact/page.tsx index 7a69183..5a5d754 100644 --- a/app/contact/page.tsx +++ b/app/contact/page.tsx @@ -35,9 +35,9 @@ export default function ContactPage() { } return ( -
+
{/* Hero Section */} -
+
@@ -88,11 +88,11 @@ export default function ContactPage() {
{/* Contact Form & Info Section */} -
+
{/* Contact Form */} - + Send Us a Message @@ -192,7 +192,7 @@ export default function ContactPage() { {/* Contact Information */}
- + Visit Our Clinic @@ -202,11 +202,9 @@ export default function ContactPage() {

Address

- 123 Wellness Way + 59 Wellington Street
- Suite 200 -
- St. Catharines, ON L2R 7P9 + St. Catharines, ON L2R 5P9

@@ -229,7 +227,7 @@ export default function ContactPage() {
- + Office Hours @@ -255,7 +253,7 @@ export default function ContactPage() { - +
@@ -275,7 +273,7 @@ export default function ContactPage() {
{/* Booking Section */} -
+

Ready for Your Personal Wellness Experience?

@@ -284,15 +282,12 @@ export default function ContactPage() { space just for your wellness journey.

- -
+
diff --git a/app/globals.css b/app/globals.css index a7a4f9e..4df1494 100644 --- a/app/globals.css +++ b/app/globals.css @@ -118,6 +118,11 @@ body { @apply bg-background text-foreground; } + + /* Smooth scrolling for anchor links */ + html { + scroll-behavior: smooth; + } } @keyframes fade-in { @@ -184,3 +189,24 @@ .text-sage-green { color: #8bc34a; } + +/* Beige color palette */ +.bg-beige-lightest { + background-color: #f7f3ef; +} + +.bg-beige-light { + background-color: #f0e9e0; +} + +.bg-beige { + background-color: #e8dfd3; +} + +.bg-beige-medium { + background-color: #d9cdbf; +} + +.bg-beige-dark { + background-color: #c4b5a3; +} diff --git a/app/movement/page.tsx b/app/movement/page.tsx index 8926079..f7a1116 100644 --- a/app/movement/page.tsx +++ b/app/movement/page.tsx @@ -1,3 +1,5 @@ +"use client" + import { Button } from "@/components/ui/button" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Badge } from "@/components/ui/badge" @@ -5,12 +7,17 @@ import { Heart, Star } from "lucide-react" import Image from "next/image" import Link from "next/link" import ClinicSenseButton from "@/components/clinicsense-button" +import { useEffect } from "react" export default function MovementPage() { + useEffect(() => { + window.scrollTo(0, 0) + }, []) + return ( -
+
{/* Hero Section */} -
+
@@ -33,7 +40,7 @@ export default function MovementPage() {

Movement Education Options

- +

Remedial exercise aka "Rem-Ex" instruction involves teaching a few targeted strength, stretch or @@ -50,7 +57,7 @@ export default function MovementPage() {

- +
1 @@ -65,7 +72,7 @@ export default function MovementPage() { - +
2 @@ -80,7 +87,7 @@ export default function MovementPage() { - +
3 @@ -101,12 +108,12 @@ export default function MovementPage() {
{/* Origin Story */} -
+

The Ebb'nFlow Origin Story

- +

@@ -145,7 +152,7 @@ export default function MovementPage() {

- + Fun, Liberating & Educational @@ -159,7 +166,7 @@ export default function MovementPage() { - +

Workshop Benefits

@@ -202,7 +209,7 @@ export default function MovementPage() {
{/* Personal Expression */} -
+

Continuing the Dance

@@ -224,7 +231,7 @@ export default function MovementPage() {
{/* CTA Section */} -
+

Ready to Move with More Freedom?

@@ -234,13 +241,8 @@ export default function MovementPage() { or group workshops.

- -
diff --git a/app/page.tsx b/app/page.tsx index 36fc88d..4b9db2a 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,54 +1,128 @@ +"use client" + import { Button } from "@/components/ui/button" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { MapPin, Phone } from "lucide-react" import Image from "next/image" import Link from "next/link" -import AnimatedHero from "@/components/animated-hero" import ServiceDropdown from "@/components/service-dropdown" import ClinicSenseButton from "@/components/clinicsense-button" +import InfoModal from "@/components/info-modal" +import { useState } from "react" export default function HomePage() { + const [modalContent, setModalContent] = useState("") + const [modalTitle, setModalTitle] = useState("") + const [isModalOpen, setIsModalOpen] = useState(false) + + const scopeOfPracticeText = `Registered Massage Therapists in Ontario constitute a regulated health profession in much the same way that physicians, nurses, physiotherapists and chiropractors are regulated. The profession is governed by a Scope of Practice, which is defined as follows: + +"The practice of massage therapy is the assessment of the soft tissue and joints of the body, and the treatment and prevention of physical dysfunction and pain of the soft tissues and joints by manipulation to develop, maintain, rehabilitate or augment physical function, or relieve pain." (Massage Therapy Act, 1991) + +Within their practice, massage therapists will use a variety of procedures and modalities to provide services within the scope of practice. "Massage" is a general term describing one or several methods of treatment and is often mistakenly used and confused with the practice of massage therapy.` + + const benefitsText = `Massage therapy treatments provided by a Registered Massage Therapist can offer significant benefits for a variety of conditions and for diverse patient populations. Whether you need to have a moment of relaxation, reduce muscle tension or attain relief from chronic pain, massage therapy can enhance your overall well-being. Massage therapy can help alleviate musculoskeletal disorders associated with everyday stress, muscular overuse, physical manifestation of mental distress and many persistent pain syndromes. + +Massage therapy can be an important part of your health maintenance plan by: +• Reducing or eliminating pain +• Improving joint mobility +• Improving lymphatic drainage +• Reducing muscular tension + +Massage therapy can treat both acute and chronic conditions. RMTs work with a wide variety of patients in the treatment of illness, injury, rehabilitation and disability.` + + const conditionsTreatedText = `Massage therapy can prove beneficial to many conditions, including but not limited to the following: + +• Anxiety and Depression +• Arthritis +• Asthma and Emphysema +• Cancer +• Carpal Tunnel Syndrome +• Chronic Fatigue Syndrome +• Dislocations +• Edema +• Fibromyalgia +• Headaches +• Inflammatory Conditions +• Insomnia +• Lymphoedema +• Multiple Sclerosis +• Muscle Tension and Spasm +• Parkinson's Disease +• Plantar Fasciitis +• Post-Surgical Rehabilitation +• Post-Traumatic Stress Disorder (PTSD) +• Pregnancy and Labor Support +• Sciatica +• Scoliosis +• Sports Injuries +• Strains and Sprains +• Stress and Stress-Related Conditions +• Stroke +• Tendinitis +• Whiplash + +Massage therapy can also be used as part of a preventative care program. This includes sports training, injury prevention, ongoing stress management and more! + +Your massage therapist will require an overall picture of your current health and a detailed health history in order to design a treatment plan that's right for you. If a massage therapist determines that your condition would be better treated by another healthcare professional, they will make the appropriate referral.` + + const techniquesText = `Treatments are based on General Swedish Massage techniques and may be combined with Deep Tissue Massage, Myofascial Release, Trigger Point Therapy, Manual Lymphatic Drainage and Joint Mobilization Techniques. Ongoing assessment, remedial exercise and/or home care instruction is also part of this comprehensive treatment session based on the client's goals and comfort. + +Please note: In cases where there is more than one area of complaint, longer treatment times (75 or 90 minute) are recommended.` + + const laserScienceText = `Ebb'nFlow Therapeutics uses the BIOFLEX® system of Class 3b lasers together with large surface arrays of bicolour LEDs that affect a large volume of circulating blood as well as underlying tissues resulting in both a powerful systemic and direct photobiomodulation effect. + +Please visit BioflexLaser.com for more info.` + const massageDropdownItems = [ - { title: "Scope of Practice", href: "/massage/scope" }, - { title: "Benefits of Massage Therapy", href: "/massage/benefits" }, - { title: "Conditions Treated", href: "/massage/conditions" }, - { title: "Techniques", href: "/massage/techniques" }, + { title: "Scope of Practice", modal: scopeOfPracticeText }, + { title: "Benefits of Massage Therapy", modal: benefitsText }, + { title: "Conditions Treated", modal: conditionsTreatedText }, + { title: "Techniques", modal: techniquesText }, ] - const laserDropdownItems = [ - { title: "A note about Scope of Practice", href: "/laser/scope" }, - { title: "Benefits of Laser Therapy", href: "/laser/benefits" }, - { title: "Conditions Treated", href: "/laser/conditions" }, - { title: "The Science", href: "/laser/science" }, - ] + const laserDropdownItems = [{ title: "The Science", modal: laserScienceText }] + + const handleModalOpen = (content: string, title: string) => { + setModalContent(content) + setModalTitle(title) + setIsModalOpen(true) + } return ( -
+
+ setIsModalOpen(false)} content={modalContent} title={modalTitle} /> + {/* Hero Section */} -
+
-
- -
- +
+
+

+ Ebb'nFlow Therapeutics +

+

+ Excellence in Massage Therapy Since 2013 +

+

+ A serene, home-based practice in the heart of downtown St Catharines +

+

Owned and operated by Dahlia B. Steinberg RMT.

+
+
+
-
+
Welcoming reception area at Ebb'nFlow Therapeutics
-

A comfortable, home-based practice

-

in the heart of downtown St Catharines

-

Owned and operated by Dahlia B. Steinberg RMT.

- -
+

- A wholistic and comprehensive approach to wellness through a clinical practice in massage therapy that - includes care for acute pain or injury and movement education that gets to the heart of the most common - dysfunctions responsible for chronic pain. + Ebb'nFlow Therapeutics provides Massage Therapy that is attentive to your unique needs and goals. + Whether you are looking for recovery from the stress and strains of work, to manage pain, prevent injury + or improve your physical performance, we're here to meet you where you are.

- Whether you are looking for stress reduction, maintenance, injury prevention, assessment or treatment, - pain reduction, accelerated healing, improved performance or greater awareness and enjoyment of - movement, Ebb'nFlow Therapeutics can meet you wherever you are and help you to achieve your wellness - goals. + Unlike any other massage therapy practice, Ebb'nFlow Therapeutics also offers a distinctly unique + service that combines the cutting edge technology of Laser Therapy (Photobiomodulation) in combination + with massage therapy for accelerated healing of acute pain conditions and injury.

@@ -89,15 +158,19 @@ export default function HomePage() {
{/* Services Section */} -
+

Services

+

+ Please click on the links below to learn more about the unique services offered, based on a comprehensive, + clinical practice of Massage Therapy. +

{/* Massage Therapy */} - + General Swedish Massage combined with specialized techniques tailored to your specific needs. -

(Click on the links below for more detailed info)

- + +
@@ -121,11 +198,11 @@ export default function HomePage() {
{/* Laser Therapy */} - + Ebb'nFlow Therapeutics clinic entrance Laser Therapy Treatment - Stand alone or combined with Massage Therapy. Laser Therapy utilizes the power of red and infrared - light... + Stand alone or combined with Massage Therapy (recommended). Laser therapy is the use of red and + infrared light that provides accelerated healing for the treatment of musculoskeletal injury, wounds, + arthritis, and nerve injury. -

(Click on the links below for more detailed info)

- + +
@@ -146,11 +228,11 @@ export default function HomePage() {
{/* Movement Education */} - + Comfortable space for movement education
{/* Pricing Section */} -
+

Prices

{/* Main Services */} - + Massage and/or Laser Therapy @@ -225,7 +307,7 @@ export default function HomePage() { {/* Add-on Services */} - + Add-on Laser Therapy @@ -245,12 +327,16 @@ export default function HomePage() { {/* Payment & Insurance Info */}
- + -

Payment & Insurance

+
+

Payment & Insurance

+

Direct billing is now available

+

- Accepted: Cash, E-transfer, Debit, Credit Card (Visa, AmEx, Mastercard) + Accepted: Cash, Direct Billing, E-transfer, Debit, Credit Card (Visa, AmEx, + Mastercard)

RMTs are regulated health care professionals recognized by insurance companies across Ontario. @@ -264,9 +350,6 @@ export default function HomePage() { submission. This number verifies that your therapist is registered with the College of Massage Therapists of Ontario (CMTO).

-

- Direct billing is currently not available but coming soon. Stay tuned. -

@@ -276,7 +359,7 @@ export default function HomePage() {
{/* CTA Section */} -
+

Ready to Begin Your Wellness Journey?

@@ -291,16 +374,24 @@ export default function HomePage() {
- +
+
+ Registered Massage Therapist - Professional Hands You Can Trust +
diff --git a/app/what-to-expect/page.tsx b/app/what-to-expect/page.tsx index 73de717..d021320 100644 --- a/app/what-to-expect/page.tsx +++ b/app/what-to-expect/page.tsx @@ -8,9 +8,9 @@ import Image from "next/image" export default function WhatToExpectPage() { return ( -
+
{/* Hero Section */} -
+
@@ -32,7 +32,7 @@ export default function WhatToExpectPage() {

The Initial Appointment

- + Pre-Appointment Forms @@ -57,7 +57,7 @@ export default function WhatToExpectPage() { - + Assessment Process @@ -75,7 +75,7 @@ export default function WhatToExpectPage() {
- +

First Session Components

@@ -99,13 +99,13 @@ export default function WhatToExpectPage() {
{/* Assessment Details */} -
+

Comprehensive Assessment

- +

The first treatment session requires additional time to go over the forms and perform an initial @@ -115,7 +115,7 @@ export default function WhatToExpectPage() { - +

With numerous tools available to her, Dahlia continuously discerns which techniques may be most @@ -137,7 +137,7 @@ export default function WhatToExpectPage() {

- + Personalized Approach @@ -151,7 +151,7 @@ export default function WhatToExpectPage() { - +

Communication & Consent

@@ -177,7 +177,7 @@ export default function WhatToExpectPage() {

Your Private Treatment Space

- +

A Science and an Art Form

@@ -194,7 +194,7 @@ export default function WhatToExpectPage() { - +

Education & Home Care

@@ -211,7 +211,7 @@ export default function WhatToExpectPage() {

{/* CTA Section */} -
+

Ready to Experience Holistic Care?

@@ -220,13 +220,8 @@ export default function WhatToExpectPage() { treat the body holistically as an interconnected system.

- -
diff --git a/components/animated-hero.tsx b/components/animated-hero.tsx index 56b5abb..55a3937 100644 --- a/components/animated-hero.tsx +++ b/components/animated-hero.tsx @@ -24,7 +24,7 @@ export default function AnimatedHero() { }, []) return ( -
+
{/* Welcome to Ebb'nFlow Therapeutics */}
  • - About Us + About + +
  • +
  • + + Prices
  • @@ -88,11 +93,9 @@ export default function Footer() {
    - 123 Wellness Way + 59 Wellington Street
    - Suite 200 -
    - St. Catharines, ON L2R 7P9 + St. Catharines, ON L2R 5P9
    diff --git a/components/info-modal.tsx b/components/info-modal.tsx new file mode 100644 index 0000000..bfc64f7 --- /dev/null +++ b/components/info-modal.tsx @@ -0,0 +1,39 @@ +"use client" + +import { X } from "lucide-react" + +interface InfoModalProps { + isOpen: boolean + onClose: () => void + content: string + title: string +} + +export default function InfoModal({ isOpen, onClose, content, title }: InfoModalProps) { + if (!isOpen) return null + + return ( +
    +
    e.stopPropagation()} + > +
    +

    {title}

    + +
    +
    +
    +

    {content}

    +
    +
    +
    +
    + ) +} diff --git a/components/navbar.tsx b/components/navbar.tsx index 847c96d..a33fbe8 100644 --- a/components/navbar.tsx +++ b/components/navbar.tsx @@ -1,5 +1,7 @@ "use client" +import type React from "react" + import { Button } from "@/components/ui/button" import { Sheet, SheetContent, SheetTrigger } from "@/components/ui/sheet" import { Menu } from "lucide-react" @@ -11,80 +13,106 @@ import Image from "next/image" export default function Navbar() { const pathname = usePathname() + const handleSmoothScroll = (e: React.MouseEvent, href: string) => { + // Only handle smooth scroll if we're on the homepage + if (pathname === "/" && href.startsWith("/#")) { + e.preventDefault() + const targetId = href.substring(2) // Remove "/#" to get the ID + const element = document.getElementById(targetId) + if (element) { + const headerOffset = 80 // Height of sticky header + const elementPosition = element.getBoundingClientRect().top + const offsetPosition = elementPosition + window.pageYOffset - headerOffset + + window.scrollTo({ + top: offsetPosition, + behavior: "smooth", + }) + } + } + } + const navItems = [ - { href: "/", label: "Home" }, + { href: "/#services", label: "Services" }, + { href: "/#prices", label: "Prices" }, { href: "/about", label: "About" }, { href: "/contact", label: "Contact" }, ] return ( -
    +
    -
    - {/* Logo */} - - Ebb'nFlow Therapeutics Logo -
    - Ebb'nFlow Therapeutics -
    - +
    +
    + {/* Logo - Left aligned */} + + Ebb'nFlow Therapeutics Logo +
    + Ebb'nFlow Therapeutics +
    + - {/* Desktop Navigation */} - - - {/* Desktop CTA */} -
    - -
    - - {/* Mobile Navigation */} - - - - - -
    - - Ebb'nFlow Therapeutics - + {/* Desktop Navigation - Centered */} + + + {/* Desktop CTA - Right aligned */} +
    + +
    + + {/* Mobile Navigation Button */} + + + + + +
    + + Ebb'nFlow Therapeutics + + {navItems.map((item) => ( + handleSmoothScroll(e, item.href)} + className={`text-lg font-medium transition-colors hover:text-nature-green ${ + pathname === item.href ? "text-nature-green" : "text-gray-600" + }`} + > + {item.label} + + ))} +
    + +
    +
    +
    +
    +
    diff --git a/components/service-dropdown.tsx b/components/service-dropdown.tsx index 095de50..81c64fc 100644 --- a/components/service-dropdown.tsx +++ b/components/service-dropdown.tsx @@ -7,17 +7,26 @@ import Link from "next/link" interface DropdownItem { title: string - href: string + href?: string + modal?: string } interface ServiceDropdownProps { items: DropdownItem[] title: string + onModalOpen?: (content: string, title: string) => void } -export default function ServiceDropdown({ items, title }: ServiceDropdownProps) { +export default function ServiceDropdown({ items, title, onModalOpen }: ServiceDropdownProps) { const [isOpen, setIsOpen] = useState(false) + const handleItemClick = (item: DropdownItem) => { + if (item.modal && onModalOpen) { + onModalOpen(item.modal, item.title) + } + setIsOpen(false) + } + return (
    + ), + )}
    )}
    diff --git a/public/images/bioflex-laser.png b/public/images/bioflex-laser.png new file mode 100644 index 0000000000000000000000000000000000000000..fe2533d71dec48c7958eb296b9a763c19c8babb8 GIT binary patch literal 1458870 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