diff --git a/README.md b/README.md index 43531a4..d6fe8c0 100644 --- a/README.md +++ b/README.md @@ -97,4 +97,3 @@ pnpm start # 启动生产服务器 # 导出 pnpm export # 导出静态站点到 /out 目录 ``` - diff --git a/app/components/HoverCard.tsx b/app/components/HoverCard.tsx new file mode 100644 index 0000000..dd6d728 --- /dev/null +++ b/app/components/HoverCard.tsx @@ -0,0 +1,30 @@ +import React from "react"; + +interface HoverCardProps { + children: React.ReactNode; + className?: string; + hoverType?: "darken" | "scale" | "lift" | "glow"; +} + +export default function HoverCard({ + children, + className = "", + hoverType = "scale", +}: HoverCardProps) { + const getHoverStyles = () => { + switch (hoverType) { + case "darken": + return "hover:brightness-90 transition-all duration-200 ease-in-out"; + case "scale": + return "hover:scale-105 hover:shadow-lg transition-all duration-200 ease-in-out"; + case "lift": + return "hover:-translate-y-1 hover:shadow-lg transition-all duration-200 ease-in-out"; + case "glow": + return "hover:shadow-xl hover:shadow-primary/20 transition-all duration-200 ease-in-out"; + default: + return "hover:scale-105 hover:shadow-lg transition-all duration-200 ease-in-out"; + } + }; + + return
{children}
; +} diff --git a/app/page.tsx b/app/page.tsx index c56b1df..4565547 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,5 +1,6 @@ import Link from "next/link"; import { source } from "@/lib/source"; +import HoverCard from "@/app/components/HoverCard"; export default function DocsIndex() { const pages = source @@ -10,22 +11,31 @@ export default function DocsIndex() {

Docs

);