chat completion, testing

# What does this PR do?


## Test Plan
# What does this PR do?


## Test Plan
This commit is contained in:
Eric Huang 2025-05-22 21:44:14 -07:00
parent 8feb1827c8
commit ecd8f2113a
27 changed files with 6729 additions and 38 deletions

View file

@ -0,0 +1,49 @@
"use client";
import Link from "next/link";
import React from "react";
import {
Breadcrumb,
BreadcrumbItem,
BreadcrumbLink,
BreadcrumbList,
BreadcrumbPage,
BreadcrumbSeparator,
} from "@/components/ui/breadcrumb";
export interface BreadcrumbSegment {
label: string;
href?: string;
}
interface PageBreadcrumbProps {
segments: BreadcrumbSegment[];
className?: string;
}
export function PageBreadcrumb({ segments, className }: PageBreadcrumbProps) {
if (!segments || segments.length === 0) {
return null;
}
return (
<Breadcrumb className={className}>
<BreadcrumbList>
{segments.map((segment, index) => (
<React.Fragment key={segment.label + index}>
<BreadcrumbItem>
{segment.href ? (
<BreadcrumbLink asChild>
<Link href={segment.href}>{segment.label}</Link>
</BreadcrumbLink>
) : (
<BreadcrumbPage>{segment.label}</BreadcrumbPage>
)}
</BreadcrumbItem>
{index < segments.length - 1 && <BreadcrumbSeparator />}
</React.Fragment>
))}
</BreadcrumbList>
</Breadcrumb>
);
}