joyco

Mobile Menu

Navigation

About

A composable full-screen overlay mobile navigation menu built on Radix Dialog, with animated open/close, scroll locking, trigger, navigation items, and footer.

Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Mobile Menu to your project and fits it to your theme.

Code

How Mobile Menu is used: the demo's code. The component's own source comes with a free account.

Usage.tsx

"use client";

import * as MobileMenu from "@/components/ui/mobile-menu";
import { Menu, X } from "lucide-react";

function Header() {
  return (
    <div className="bg-background text-foreground min-h-svh w-full font-sans">
      <MobileMenu.Root defaultOpen>
        <header className="h-heading-height border-border bg-background sticky top-0 z-40 flex items-center justify-between border-b px-6 py-4">
          <div className="relative z-20 text-xl font-bold tracking-tight">
            NOT JOYCO
          </div>

          <MobileMenu.Trigger className="flex md:flex">
            <Menu className="h-6 w-6 group-data-[state=open]/menu-trigger:hidden" />
            <X className="h-6 w-6 group-data-[state=closed]/menu-trigger:hidden" />
          </MobileMenu.Trigger>
        </header>

        <MobileMenu.Content className="flex md:flex">
          <MobileMenu.Navigation>
            <MobileMenu.Item href="#">Home</MobileMenu.Item>
            <MobileMenu.Item href="#">Profile</MobileMenu.Item>
            <MobileMenu.Item href="#">Settings</MobileMenu.Item>
            <MobileMenu.Item href="#">Contact</MobileMenu.Item>
          </MobileMenu.Navigation>
          <MobileMenu.Footer>
            <p className="text-muted-foreground text-sm">
              © 2025 Defenitely Not Joyco Inc.
            </p>
          </MobileMenu.Footer>
        </MobileMenu.Content>
      </MobileMenu.Root>
    </div>
  );
}

export default Header;

Dependencies

More by joyco

View all
  • Image Sequence

    Image Sequence

    69
  • Infinite List

    Infinite List

    64
  • File Dropzone

    File Dropzone

    19
  • HLS Video Player

    HLS Video Player

    18
  • Action Hint

    Action Hint

    16
  • Chat

    Chat

    15
  • Spritesheet Sequencer

    Spritesheet Sequencer

    11
  • Snake Game

    Snake Game

    2

More in Navigation

View all
  • Sidebar

    Sidebar

    235
  • Navbar with Theme Toggle

    Navbar with Theme Toggle

    43
  • Sidebar

    Sidebar

    339
  • Tabs

    Tabs

    60
  • Numberless Pagination with Text

    Numberless Pagination with Text

    11
  • Oversized 404 Numeral

    Oversized 404 Numeral

    50
  • Footer

    Footer

    446
  • Pagination

    Pagination

    43