sidiora-labs

Project Showcase

Component

About

A hover-preview project list that morphs into a full project detail page with a shared-layout image, title, tagline, description and action buttons.

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

Code

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

Usage.tsx

import { BookOpenIcon, CircleArrowOutUpRightIcon } from "lucide-react";

import { buttonVariants } from "@/components/ui/button";
import {
  ProjectShowcase,
  type ShowcaseProject,
} from "@/components/ui/project-showcase";

const img = (id: string) =>
  `https://images.unsplash.com/${id}?w=1400&q=80&auto=format&fit=crop`;

const actions = (
  <>
    <a
      href="https://dxuireact.com"
      target="_blank"
      rel="noreferrer"
      className={buttonVariants({ size: "sm" })}
    >
      Live preview <CircleArrowOutUpRightIcon />
    </a>
    <a
      href="https://dxuireact.com/docs"
      target="_blank"
      rel="noreferrer"
      className={buttonVariants({ size: "sm", variant: "outline" })}
    >
      Source code <BookOpenIcon />
    </a>
  </>
);

const copy = (
  <>
    <p>
      A design system and component kit built for teams that ship weekly.
      Tokens, motion and accessibility are baked in.
    </p>
    <p>
      Every primitive is copy-paste friendly and themable through a single set
      of CSS variables.
    </p>
    <p>Want to build something together? Get in touch.</p>
  </>
);

const projects: ShowcaseProject[] = [
  {
    id: "atlas",
    title: "Atlas OSS",
    image: img("photo-1506905925346-21bda4d32df4"),
    tagline: "Open source, at scale",
    description: copy,
    actions,
  },
  {
    id: "neon",
    title: "NeonSync Pro",
    image: img("photo-1501785888041-af3ef285b470"),
    tagline: "Realtime sync engine",
    description: copy,
    actions,
  },
  {
    id: "pixel",
    title: "PixelForge Studio",
    image: img("photo-1469474968028-56623f02e42e"),
    tagline: "Design tooling",
    description: copy,
    actions,
  },
  {
    id: "flow",
    title: "TaskFlow",
    image: img("photo-1447752875215-b2761acb3c5d"),
    tagline: "Planning, simplified",
    description: copy,
    actions,
  },
  {
    id: "cloud",
    title: "CloudVibe",
    image: img("photo-1433086966358-54859d0ed716"),
    tagline: "Edge hosting",
    description: copy,
    actions,
  },
];

export default function ProjectShowcaseDemo() {
  return <ProjectShowcase projects={projects} className="h-[560px]" />;
}

Dependencies

More by sidiora-labs

View all
  • Preview Rail

    Preview Rail

    5
  • Wave Slider

    Wave Slider

    5
  • Motion Breadcrumb

    Motion Breadcrumb

    2
  • Expandable Tabs

    Expandable Tabs

    2
  • Icon Accordion

    Icon Accordion

    2
  • Not Found

    Not Found

    1
  • Swap

    Swap

    1
  • Wallet Card

    Wallet Card

    1