import { Repository } from "@/lib/types"; import { getRepoCodeHostInfo } from "@/lib/utils"; import { LaptopIcon } from "@radix-ui/react-icons"; import clsx from "clsx"; import Image from "next/image"; import Link from "next/link"; interface FileHeaderProps { repo?: Repository; fileName: string; fileNameHighlightRange?: { from: number; to: number; } branchDisplayName?: string; branchDisplayTitle?: string; } export const FileHeader = ({ repo, fileName, fileNameHighlightRange, branchDisplayName, branchDisplayTitle, }: FileHeaderProps) => { const info = getRepoCodeHostInfo(repo); return (
{info?.icon ? ( {info.costHostName} ): ( )} {info?.displayName} {branchDisplayName && (

{/* hack since to make the @ symbol look more centered with the text */} @ {`${branchDisplayName}`}

)} ยท
{!fileNameHighlightRange ? fileName : ( <> {fileName.slice(0, fileNameHighlightRange.from)} {fileName.slice(fileNameHighlightRange.from, fileNameHighlightRange.to)} {fileName.slice(fileNameHighlightRange.to)} )}
) }