---
export interface Props {
name: {
data: {
name: string;
domain: string;
url?: string;
candidate?: boolean;
};
};
size?: "large" | "small";
showAsLink?: boolean;
}
const { name, size = "large", showAsLink = true } = Astro.props;
const nameParts = name.data.name
.toLowerCase()
.split(" ")
.filter((part) => part.trim() !== "");
const domain = name.data.domain.replace(".", "");
const url = name.data.url || `https://${name.data.domain}`;
const domainExtension = name.data.domain.split(".")[1];
const domainBase = name.data.domain.split(".")[0];
const sizeClasses = {
large: "text-2xl",
small: "text-xl",
};
---
{
nameParts.map((part, index) => (
<>
{index > 0 && " "}
{part === domain ? (
showAsLink ? ( // comments here to prevent whitespace introduced by formatter
{domainBase}{domainExtension}
) : (
{domainBase}{domainExtension}
)
) : (
{part}
)}
>
))
}