export function GithubLogo({
className,
variant = "invertocat",
mode = "light",
}: {
className?: string;
variant?: "invertocat" | "wordmark" | "lockup";
mode?: "dark" | "light";
}) {
const fillColor = mode === "dark" ? "#FFFFFF" : "#1B1F24";
if (variant === "invertocat") {
return (
<svg
role="img"
viewBox="0 0 97.6 96"
xmlns="http://www.w3.org/2000/svg"
className={className}
>
<title>GitHub Invertocat</title>
<path
fill={fillColor}
d="M48.9,0C21.8,0,0,22,0,49.2C0,71,14,89.4,33.4,95.9c2.4,0.5,3.3-1.1,3.3-2.4c0-1.1-0.1-5.1-0.1-9.1
c-13.6,2.9-16.4-5.9-16.4-5.9c-2.2-5.7-5.4-7.2-5.4-7.2c-4.4-3,0.3-3,0.3-3c4.9,0.3,7.5,5.1,7.5,5.1c4.4,7.5,11.4,5.4,14.2,4.1
c0.4-3.2,1.7-5.4,3.1-6.6c-10.8-1.1-22.2-5.4-22.2-24.3c0-5.4,1.9-9.8,5-13.2c-0.5-1.2-2.2-6.3,0.5-13c0,0,4.1-1.3,13.4,5.1
c3.9-1.1,8.1-1.6,12.2-1.6s8.3,0.6,12.2,1.6c9.3-6.4,13.4-5.1,13.4-5.1c2.7,6.8,1,11.8,0.5,13c3.2,3.4,5,7.8,5,13.2
c0,18.9-11.4,23.1-22.3,24.3c1.8,1.5,3.3,4.5,3.3,9.1c0,6.6-0.1,11.9-0.1,13.5c0,1.3,0.9,2.9,3.3,2.4C83.6,89.4,97.6,71,97.6,49.2
C97.7,22,75.8,0,48.9,0z"
/>
</svg>
);
}
if (variant === "wordmark") {
return (
<svg
role="img"
viewBox="0 0 249.1 67.5"
xmlns="http://www.w3.org/2000/svg"
className={className}
>
<title>GitHub Wordmark</title>
<path
fill={fillColor}
d="M103.4,55.9h-0.1C103.3,55.9,103.3,56,103.4,55.9L103.4,55.9L103.4,55.9z M103.4,56c-0.5,0-1.8,0.3-3.2,0.3
c-4.4,0-5.9-2-5.9-4.6V34.2h8.9c0.5,0,0.9-0.4,0.9-1.1v-9.5c0-0.5-0.4-0.9-0.9-0.9h-8.9V10.9c0-0.4-0.3-0.7-0.8-0.7h-12
c-0.5,0-0.8,0.3-0.8,0.7V23c0,0-6.1,1.5-6.5,1.6c-0.4,0.1-0.7,0.5-0.7,0.9v7.6c0,0.6,0.4,1.1,0.9,1.1h6.2v18.3c0,13.6,9.5,15,16,15
c3,0,6.5-0.9,7.1-1.2c0.3-0.1,0.5-0.5,0.5-0.9V57C104.2,56.5,103.8,56.1,103.4,56z M235.5,43.7c0-10.1-4.1-11.4-8.4-11
c-3.3,0.2-6,1.9-6,1.9v19.6c0,0,2.7,1.9,6.8,2C233.7,56.4,235.5,54.4,235.5,43.7z M249.1,42.8c0,19.1-6.2,24.6-17,24.6
c-9.1,0-14.1-4.6-14.1-4.6s-0.2,2.6-0.5,2.9c-0.2,0.3-0.4,0.4-0.8,0.4h-8.3c-0.6,0-1.1-0.4-1.1-0.9l0.1-62c0-0.5,0.4-0.9,0.9-0.9
h11.9c0.5,0,0.9,0.4,0.9,0.9l-0.1,20.9c0,0,4.6-3,11.3-3h0.1C239.2,21.2,249.1,23.7,249.1,42.8z M200.5,22.7h-11.7
c-0.6,0-0.9,0.4-0.9,1.1v30.3c0,0-3.1,2.2-7.3,2.2c-4.2,0-5.4-1.9-5.4-6.1V23.7c0-0.5-0.4-0.9-0.9-0.9h-11.9c-0.5,0-0.9,0.4-0.9,0.9
v28.5c0,12.3,6.9,15.3,16.3,15.3c7.8,0,14.1-4.3,14.1-4.3s0.3,2.2,0.4,2.5c0.1,0.3,0.5,0.5,0.9,0.5h7.5c0.6,0,0.9-0.4,0.9-0.9
l0.1-41.7C201.5,23.1,201.1,22.7,200.5,22.7z M68.3,22.6H56.4c-0.5,0-0.9,0.5-0.9,1.1v40.9c0,1.1,0.7,1.5,1.7,1.5h10.7
c1.1,0,1.4-0.5,1.4-1.5V23.6C69.2,23.1,68.8,22.6,68.3,22.6z M62.4,3.8c-4.3,0-7.7,3.4-7.7,7.7s3.4,7.7,7.7,7.7
c4.2,0,7.6-3.4,7.6-7.7S66.6,3.8,62.4,3.8z M154.4,2.4h-11.8c-0.5,0-0.9,0.4-0.9,0.9v22.8h-18.5V3.3c0-0.5-0.4-0.9-0.9-0.9h-11.9
c-0.5,0-0.9,0.4-0.9,0.9v62c0,0.5,0.5,0.9,0.9,0.9h11.9c0.5,0,0.9-0.4,0.9-0.9V38.8h18.5l-0.1,26.5c0,0.5,0.4,0.9,0.9,0.9h11.9
c0.5,0,0.9-0.4,0.9-0.9v-62C155.3,2.8,154.9,2.4,154.4,2.4z M49.1,29.8v32c0,0.2-0.1,0.6-0.3,0.7c0,0-7,5-18.5,5
C16.5,67.5,0,63.2,0,34.5C0,5.9,14.4-0.1,28.4,0c12.2,0,17.1,2.7,17.8,3.2c0.2,0.3,0.3,0.5,0.3,0.8l-2.3,9.9c0,0.5-0.5,1.1-1.1,0.9
c-2-0.6-5-1.8-12.1-1.8c-8.2,0-17,2.3-17,20.8s8.4,20.6,14.4,20.6c5.1,0,7-0.6,7-0.6V41.1h-8.2c-0.6,0-1.1-0.4-1.1-0.9V29.8
c0-0.5,0.4-0.9,1.1-0.9h20.9C48.7,28.9,49.1,29.3,49.1,29.8z"
/>
</svg>
);
}
if (variant === "lockup") {
return (
<svg
role="img"
viewBox="0 0 367.4 90"
xmlns="http://www.w3.org/2000/svg"
className={className}
>
<title>GitHub Lockup</title>
<g>
<path
fill={fillColor}
d="M46.1,0C20.6,0,0,20.6,0,46.1c0,20.4,13.2,37.7,31.5,43.8c2.3,0.4,3.2-1,3.2-2.2c0-1.1-0.1-4.7-0.1-8.6
c-11.6,2.1-14.6-2.8-15.5-5.4c-0.5-1.3-2.8-5.4-4.7-6.5c-1.6-0.9-3.9-3-0.1-3.1c3.6-0.1,6.2,3.3,7.1,4.7c4.2,7,10.8,5,13.4,3.8
c0.4-3,1.6-5,2.9-6.2c-10.3-1.2-21-5.1-21-22.8c0-5,1.8-9.2,4.7-12.4c-0.5-1.2-2.1-5.9,0.5-12.2c0,0,3.9-1.2,12.7,4.7
c3.7-1,7.6-1.6,11.5-1.6c3.9,0,7.8,0.5,11.5,1.6c8.8-6,12.7-4.7,12.7-4.7c2.5,6.3,0.9,11.1,0.5,12.2c2.9,3.2,4.7,7.3,4.7,12.4
c0,17.7-10.8,21.6-21.1,22.8c1.7,1.4,3.1,4.2,3.1,8.5c0,6.2-0.1,11.1-0.1,12.7c0,1.2,0.9,2.7,3.2,2.2c18.2-6.1,31.4-23.4,31.4-43.8
C92.3,20.6,71.6,0,46.1,0z"
/>
<path
fill={fillColor}
d="M221.6,67.1h-0.1C221.6,67.1,221.6,67.1,221.6,67.1L221.6,67.1L221.6,67.1z M221.6,67.1
c-0.5,0-1.8,0.3-3.2,0.3c-4.4,0-5.9-2-5.9-4.6V45.3h8.9c0.5,0,0.9-0.4,0.9-1.1v-9.5c0-0.5-0.4-0.9-0.9-0.9h-8.9V22.1
c0-0.4-0.3-0.7-0.8-0.7h-12c-0.5,0-0.8,0.3-0.8,0.7v12.1c0,0-6.1,1.5-6.5,1.6c-0.4,0.1-0.7,0.5-0.7,0.9v7.6c0,0.6,0.4,1.1,0.9,1.1
h6.2v18.3c0,13.6,9.5,15,16,15c3,0,6.5-0.9,7.1-1.2c0.3-0.1,0.5-0.5,0.5-0.9v-8.4C222.5,67.6,222.1,67.2,221.6,67.1z M353.8,54.9
c0-10.1-4.1-11.4-8.4-11c-3.3,0.2-6,1.9-6,1.9v19.6c0,0,2.7,1.9,6.8,2C352,67.6,353.8,65.5,353.8,54.9z M367.4,54
c0,19.1-6.2,24.6-17,24.6c-9.1,0-14.1-4.6-14.1-4.6s-0.2,2.6-0.5,2.9c-0.2,0.3-0.4,0.4-0.8,0.4h-8.3c-0.6,0-1.1-0.4-1.1-0.9l0.1-62
c0-0.5,0.4-0.9,0.9-0.9h11.9c0.5,0,0.9,0.4,0.9,0.9l-0.1,20.9c0,0,4.6-3,11.3-3h0.1C357.5,32.3,367.4,34.8,367.4,54z M318.7,33.8
H307c-0.6,0-0.9,0.4-0.9,1.1v30.3c0,0-3.1,2.2-7.3,2.2c-4.2,0-5.4-1.9-5.4-6.1V34.8c0-0.5-0.4-0.9-0.9-0.9h-11.9
c-0.5,0-0.9,0.4-0.9,0.9v28.5c0,12.3,6.9,15.3,16.3,15.3c7.8,0,14.1-4.3,14.1-4.3s0.3,2.2,0.4,2.5c0.1,0.3,0.5,0.5,0.9,0.5h7.5
c0.6,0,0.9-0.4,0.9-0.9l0.1-41.7C319.8,34.3,319.3,33.8,318.7,33.8z M186.5,33.8h-11.9c-0.5,0-0.9,0.5-0.9,1.1v40.9
c0,1.1,0.7,1.5,1.7,1.5h10.7c1.1,0,1.4-0.5,1.4-1.5V34.7C187.5,34.2,187,33.8,186.5,33.8z M180.7,14.9c-4.3,0-7.7,3.4-7.7,7.7
s3.4,7.7,7.7,7.7c4.2,0,7.6-3.4,7.6-7.7S184.9,14.9,180.7,14.9z M272.7,13.5h-11.8c-0.5,0-0.9,0.4-0.9,0.9v22.8h-18.5V14.5
c0-0.5-0.4-0.9-0.9-0.9h-11.9c-0.5,0-0.9,0.4-0.9,0.9v62c0,0.5,0.5,0.9,0.9,0.9h11.9c0.5,0,0.9-0.4,0.9-0.9V49.9h18.5l-0.1,26.5
c0,0.5,0.4,0.9,0.9,0.9h11.9c0.5,0,0.9-0.4,0.9-0.9v-62C273.6,14,273.2,13.5,272.7,13.5z M167.4,41v32c0,0.2-0.1,0.6-0.3,0.7
c0,0-7,5-18.5,5c-13.9,0-30.3-4.4-30.3-33c0-28.7,14.4-34.6,28.4-34.5c12.2,0,17.1,2.7,17.8,3.2c0.2,0.3,0.3,0.5,0.3,0.8l-2.3,9.9
c0,0.5-0.5,1.1-1.1,0.9c-2-0.6-5-1.8-12.1-1.8c-8.2,0-17,2.3-17,20.8s8.4,20.6,14.4,20.6c5.1,0,7-0.6,7-0.6V52.2h-8.2
c-0.6,0-1.1-0.4-1.1-0.9V41c0-0.5,0.4-0.9,1.1-0.9h20.9C167,40,167.4,40.5,167.4,41z"
/>
</g>
</svg>
);
}
return null;
}