# Download 1 - App store download cards

> A muted section with a centered headline and blurb, then three cards for desktop, iOS, and Android with icons, platform copy, a download button, and store badge images.

A shadcn/ui block from the [@shadcnblocks](https://shadcnblocks.com) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/shadcnblocks/download1).

- Page, with a live preview: https://shadcn.exchange/r/shadcnblocks/download1
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/shadcnblocks/download1-light-974c644d578cdb18.png
- Registry item: https://shadcnblocks.com/r/download1.json
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://shadcnblocks.com/r/download1.json
```

Run it in a project that has shadcn/ui set up. It adds the files below and installs what they depend on.

## Dependencies

- npm packages: `cn`, `lucide-react`
- Registry items: `button`, `card`

## Files

### `block/download1/download1.tsx`

```tsx
import { Download, Monitor, Smartphone, Tablet } from "lucide-react";
import { cn } from "cn";

import { Button } from "@/components/ui/button";
import { Card } from "@/components/ui/card";
interface Download1Props {
  heading?: string;
  description?: string;

  platforms?: {
    desktop?: {
      title: string;
      subtitle: string;
      description: string;
      buttonText: string;
      url: string;
    };
    ios?: {
      title: string;
      subtitle: string;
      description: string;
      url: string;
    };
    android?: {
      title: string;
      subtitle: string;
      description: string;
      url: string;
    };
  };
  className?: string;
}

const Download1 = ({
  heading = "Download Our App",
  description = "Get our powerful application on every platform and boost your workflow with synchronized features and real-time collaboration.",
  platforms = {
    desktop: {
      title: "Desktop",
      subtitle: "PC/Mac",
      description:
        "Unlock the full potential with our comprehensive desktop version.",
      buttonText: "Download",
      url: "#",
    },
    ios: {
      title: "Mobile Phone",
      subtitle: "iOS",
      description:
        "Take your productivity on the go with our intuitive mobile app designed for seamless touch interactions.",
      url: "#",
    },
    android: {
      title: "Mobile Phone / Tablet",
      subtitle: "Android",
      description:
        "Enjoy flexible functionality across phones and tablets with our optimized Android experience.",
      url: "#",
    },
  },
  className,
}: Download1Props) => {
  return (
    <section className={cn("bg-muted/30 py-32", className)}>
      <div className="container">
        {/* Header Section */}
        <div className="mb-16 text-center">
          <h2 className="mb-6 text-4xl font-bold tracking-tight sm:text-4xl md:text-5xl lg:text-6xl">
            {heading}
          </h2>
          <p className="mx-auto mb-8 max-w-2xl text-lg text-muted-foreground">
            {description}
          </p>
        </div>

        {/* Download Cards */}
        <div className="mx-auto grid max-w-5xl gap-6 md:grid-cols-3">
          {/* Desktop Card */}
          <Card className="flex flex-col border-0 bg-muted p-6 text-foreground">
            <div className="mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-foreground/10">
              <Monitor className="h-6 w-6" />
            </div>
            <div className="mb-4 flex-1">
              <p className="mb-1 text-sm">{platforms.desktop?.title}</p>
              <h3 className="mb-3 text-2xl font-bold">
                {platforms.desktop?.subtitle}
              </h3>
              <p className="text-sm leading-relaxed">
                {platforms.desktop?.description}
              </p>
            </div>
            <div>
              <Button className="w-auto" size="lg" asChild>
                <a href={platforms.desktop?.url}>
                  <Download className="h-4 w-4" />
                  {platforms.desktop?.buttonText}
                </a>
              </Button>
            </div>
          </Card>

          {/* iOS Card */}
          <Card className="flex flex-col border-border bg-background p-6">
            <div className="mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-muted">
              <Smartphone className="h-6 w-6" />
            </div>
            <div className="mb-6 flex-1">
              <p className="mb-1 text-sm text-muted-foreground">
                {platforms.ios?.title}
              </p>
              <h3 className="mb-3 text-2xl font-bold">
                {platforms.ios?.subtitle}
              </h3>
              <p className="text-sm leading-relaxed text-muted-foreground">
                {platforms.ios?.description}
              </p>
            </div>
            <div>
              <a href={platforms.ios?.url}>
                <img
                  src="https://deifkwefumgah.cloudfront.net/shadcnblocks/block/badges/appstore.png"
                  alt="Download on the App Store"
                  className="h-10"
                />
              </a>
            </div>
          </Card>

          {/* Android Card */}
          <Card className="flex flex-col border-border bg-background p-6">
            <div className="mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-muted">
              <Tablet className="h-6 w-6" />
            </div>
            <div className="mb-6 flex-1">
              <p className="mb-1 text-sm text-muted-foreground">
                {platforms.android?.title}
              </p>
              <h3 className="mb-3 text-2xl font-bold">
                {platforms.android?.subtitle}
              </h3>
              <p className="text-sm leading-relaxed text-muted-foreground">
                {platforms.android?.description}
              </p>
            </div>
            <div>
              <a href={platforms.android?.url}>
                <img
                  src="https://deifkwefumgah.cloudfront.net/shadcnblocks/block/badges/googleplay.png"
                  alt="Download on the App Store"
                  className="h-10"
                />
              </a>
            </div>
          </Card>
        </div>
      </div>
    </section>
  );
};

export { Download1 };
```
