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" >
-
- {icon} -
+

{title}

{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 ( +
+ +
+ ); +} diff --git a/docs/app/components/RepoInfo.tsx b/docs/app/components/RepoInfo.tsx index 1a8380b7..ef985bd6 100644 --- a/docs/app/components/RepoInfo.tsx +++ b/docs/app/components/RepoInfo.tsx @@ -1,6 +1,6 @@ "use client"; -import Icon from "./Icon"; +import IconBadge from "./IconBadge"; interface RepoInfoProps { createdAt: string; @@ -82,7 +82,7 @@ export default function RepoInfo({ return (

- + Repository

@@ -97,7 +97,7 @@ export default function RepoInfo({ return (

- + Repository

diff --git a/docs/app/components/SiteFooter.tsx b/docs/app/components/SiteFooter.tsx index 603ce280..42ce957a 100644 --- a/docs/app/components/SiteFooter.tsx +++ b/docs/app/components/SiteFooter.tsx @@ -4,9 +4,9 @@ * Displays location info and license link. Accepts optional children * for page-specific additions (e.g. API rate limit display). */ -export default function SiteFooter({ children }: { children?: React.ReactNode }) { +export default function SiteFooter({ children, className }: { children?: React.ReactNode; className?: string }) { return ( -