diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aff478ef..bbb7812b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -144,6 +144,7 @@ jobs: working-directory: docs env: TUIKIT_VERSION: ${{ steps.version.outputs.version }} + NEXT_PUBLIC_GITHUB_TOKEN: ${{ secrets.DASHBOARD_GITHUB_TOKEN }} run: | npm ci npm run build diff --git a/docs/app/components/FeatureCard.tsx b/docs/app/components/FeatureCard.tsx index a635e9bc..fdd4019f 100644 --- a/docs/app/components/FeatureCard.tsx +++ b/docs/app/components/FeatureCard.tsx @@ -1,7 +1,10 @@ -import type { ReactNode } from "react"; +"use client"; + +import type { IconName } from "./Icon"; +import IconBadge from "./IconBadge"; interface FeatureCardProps { - icon: ReactNode; + icon: IconName; title: string; description: string; } @@ -17,9 +20,7 @@ export default function FeatureCard({ className="group rounded-xl border border-border bg-frosted-glass p-6 backdrop-blur-xl transition-all duration-300 hover:border-accent/30" >
{description}
diff --git a/docs/app/components/IconBadge.tsx b/docs/app/components/IconBadge.tsx new file mode 100644 index 00000000..2da08fc0 --- /dev/null +++ b/docs/app/components/IconBadge.tsx @@ -0,0 +1,37 @@ +"use client"; + +import type { IconName } from "./Icon"; +import Icon from "./Icon"; + +interface IconBadgeProps { + /** Icon name to display. */ + name: IconName; + /** Icon size in pixels (default: 24). */ + size?: number; + /** Optional CSS class for the wrapper. */ + className?: string; + /** Size variant for the badge (default: 'md'). */ + variant?: "sm" | "md" | "lg"; +} + +const variantClasses = { + sm: "h-8 w-8", + md: "h-10 w-10", + lg: "h-12 w-12", +} as const; + +/** Icon badge with background — unified display for SF Symbols across the dashboard and pages. */ +export default function IconBadge({ + name, + size = 24, + className = "", + variant = "md", +}: IconBadgeProps) { + return ( +