import * as React from "react" import { motion } from "motion/react" import { Badge } from "@/components/ui/badge" import { cn } from "@/lib/utils" import { FileTextIcon } from "lucide-react" /** * 加载页面组件 * * 用于统一显示加载状态 * @example * ```tsx * * ``` * @param {string} text - 显示的文本内容,默认为"系统" * @param {string} badgeText - 显示的徽章文本,默认为"系统" * @returns {React.ReactNode} 加载页面组件 */ function LoadingCard() { return (
Credit
) } /** * 加载页面组件 * * 用于统一显示加载状态 */ export function LoadingPage({ text = "系统", badgeText = "系统" }: { text?: string, badgeText?: string }) { return (
LINUX DO Credit {badgeText && (
{badgeText}
)}
{text.toUpperCase()}
) } interface LoadingStateProps extends React.ComponentProps<"div"> { title?: string description?: string icon?: React.ComponentType<{ className?: string }> iconSize?: "sm" | "md" | "lg" } /** * 加载状态展示组件 * 用于统一显示加载中的状态 */ export function LoadingState({ title = "加载中", description = "正在获取活动数据...", icon: Icon = FileTextIcon, className, iconSize = "md", }: LoadingStateProps) { const iconSizes = { sm: "size-8", md: "size-10", lg: "size-14" } const iconInnerSizes = { sm: "size-4", md: "size-5", lg: "size-7" } return (
{title && (

{title}

)} {description && (

{description}

)}
) } /** * 带边框的加载状态组件 */ export function LoadingStateWithBorder(props: LoadingStateProps) { return (
) }