Mobile Hero with Dual Phone Mockups

Fullscreen hero with two overlapping angled phone mockups and app store buttons over inset background video

PRO

Hero105: Mobile Hero with Dual Phone Mockups

Fullscreen app-download hero with two phone mockups overlapping and rotated in opposite directions on the right, text and app-store badges on the left, over an inset background video panel.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/hero105?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/hero105?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/hero105.tsx and its dependency: the badge shadcn/ui primitive.

Quick start

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

tsx
import { Hero105, hero105Demo } from "@/components/beste/block/hero105";

export default function Page() {
  return <Hero105 {...hero105Demo} />;
}

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

tsx
import { Hero105 } from "@/components/beste/block/hero105";

export default function Page() {
  return (
    <Hero105
      badge={{ label: "Cross Platform", variant: "secondary" }}
      heading="One app, every device"
      description="Seamless experience across iOS and Android."
      appStores={[
        { image: { src: "/badges/app-store.svg", alt: "Download on App Store" }, href: "/ios" },
        { image: { src: "/badges/google-play.svg", alt: "Get it on Google Play" }, href: "/android" },
      ]}
      backgroundMedia={{ type: "video", src: "/videos/hero.mp4" }}
      phoneScreenshots={[
        { src: "/images/screen-1.png", alt: "App screen 1" },
        { src: "/images/screen-2.png", alt: "App screen 2" },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badgeBadgePill shown above the heading
headingstringMain headline
descriptionstringSupporting copy under the heading
appStoresAppStore[][]Store badge images/links rendered under the description
backgroundMediaBackgroundMediaVideo or image behind the whole section
phoneScreenshotsPhoneScreen[][]Exactly the first two entries are used, back phone then front phone
invertColorbooleantrueLight-on-dark treatment (white text, black overlay) vs. dark-on-light
classNamestringExtra classes for the outer <section>
ts
type Badge = { label: string; variant?: "default" | "secondary" | "outline" };
type BackgroundMedia = { type: "image" | "video"; src: string; alt?: string };
type AppStore = { image: { src: string; alt: string }; href: string };
type PhoneScreen = { src: string; alt: string };

Behavior notes

More Hero blocks

View all Hero
PRO

hero103

Mobile App Hero with Phone Mockup

Fullscreen hero with app store buttons and phone mockup over inset background video

PRO

hero106

Mobile Hero with Flanking Features

Fullscreen hero with centered phone mockup flanked by feature columns on each side over inset background video

PRO

hero107

Mobile Hero with 3D Perspective Phone

Fullscreen split hero with content left and 3D perspective-tilted phone mockup right over inset background video

PRO

hero108

Mobile Hero with Review Card

Fullscreen hero with phone mockup, star rating review card, and app store buttons over inset background video

PRO

hero53

Mobile App Hero with Phone Mockup

Split-layout hero with realistic iPhone mockup, notch detail, and App Store/Play Store download buttons. Perfect for mobile app landing pages.

PRO

hero100

Fullscreen Hero with Browser Mockup

Fullscreen hero with centered content and browser window frame mockup over inset background video