Shine Border Demo 2

PreviousNext

Second example showing an animated shining border effect.

Docs
magicuiexample

Preview

Loading preview…
registry/example/shine-border-demo-2.tsx
"use client"

import { useTheme } from "next-themes"

import { Button } from "@/components/ui/button"
import {
  Card,
  CardContent,
  CardDescription,
  CardFooter,
  CardHeader,
  CardTitle,
} from "@/components/ui/card"
import { Input } from "@/components/ui/input"
import { Label } from "@/components/ui/label"
import { ShineBorder } from "@/registry/magicui/shine-border"

export default function ShineBorderDemo2() {
  const theme = useTheme()
  return (
    <Card className="relative overflow-hidden">
      <ShineBorder shineColor={theme.theme === "dark" ? "white" : "black"} />
      <CardHeader>
        <CardTitle>Login</CardTitle>
        <CardDescription>
          Enter your credentials to access your account
        </CardDescription>
      </CardHeader>
      <CardContent>
        <form>
          <div className="grid gap-4">
            <div className="grid gap-2">
              <Label htmlFor="email">Email</Label>
              <Input id="email" type="email" placeholder="name@example.com" />
            </div>
            <div className="grid gap-2">
              <Label htmlFor="password">Password</Label>
              <Input id="password" type="password" />
            </div>
          </div>
        </form>
      </CardContent>
      <CardFooter>
        <Button className="w-full">Sign In</Button>
      </CardFooter>
    </Card>
  )
}

Installation

npx shadcn@latest add @magicui/shine-border-demo-2

Usage

import { ShineBorderDemo2 } from "@/components/shine-border-demo-2"
<ShineBorderDemo2 />