Gym Location Finder

Location section with map preview, address, hours, parking, and public transit info. Perfect for gym contact pages and multi-location fitness centers.

FREE

Fitness32: Gym Location Finder

Location section pairing a map image with an info card listing address, hours, phone, parking, and transit details. Each info row uses its own icon and accepts either a single line of text or a stacked list, so multi-line values like a street address or multiple transit lines render as a bullet list instead of one long string.

Free block

This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.

Installation

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/fitness32"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/fitness32"

This installs the block to components/beste/block/fitness32.tsx and the shadcn/ui badge and button primitives it depends on.

Quick start

The installed file exports fitness32Demo alongside the block: the exact props behind the preview above. Spread it to get a working location section in one line.

tsx
import { Fitness32, fitness32Demo } from "@/components/beste/block/fitness32";

export default function ContactPage() {
  return <Fitness32 {...fitness32Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Clock, MapPin, Phone } from "lucide-react";
import { Fitness32 } from "@/components/beste/block/fitness32";

export default function ContactPage() {
  return (
    <Fitness32
      badge="Visit Us"
      heading="Find Our Studio"
      map={{
        image: "https://images.unsplash.com/photo-1516546453174-5e1098a4b4af?w=1200&h=800&fit=crop",
        url: "https://beste.co",
        directionsLabel: "Get Directions",
      }}
      items={[
        { icon: MapPin, label: "Address", value: "88 Market Street, Austin, TX" },
        { icon: Clock, label: "Hours", value: "Mon-Fri 6am-9pm" },
        { icon: Phone, label: "Phone", value: "(512) 555-0110" },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badgestringSmall label shown above the heading, prefixed with a pin icon
headingstringSection heading
mapMapInfoMap image plus its target link and directions button label
itemsInfoItem[][]Info rows (address, hours, phone, parking, transit, etc.)
classNamestringExtra classes for the outer <section>
ts
type MapInfo = {
  image: string;
  url: string;
  directionsLabel?: string;
};

type InfoItem = {
  icon: LucideIcon;
  label: string;
  value: string | string[];
};

Behavior notes

More Fitness blocks

View all Fitness
PRO

fitness5

Class Schedule Hero

Full-screen hero showcasing today's fitness classes with instructor info and available spots. Perfect for gym landing pages and class booking systems.

PRO

fitness6

Personal Trainer Profile

Trainer showcase with photo, certifications, rating, and client stats in a floating card. Perfect for personal training services and fitness coaching pages.

PRO

fitness39

Training Program Cards

Program grid with images, duration, frequency, skill level, and enrollment buttons. Perfect for fitness program catalogs and workout plan selection.