GitHubCorner.tsx 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import oc from "open-color";
  2. import React from "react";
  3. // https://github.com/tholman/github-corners
  4. export const GitHubCorner = React.memo(
  5. ({ appearance }: { appearance: "light" | "dark" }) => (
  6. <svg
  7. xmlns="http://www.w3.org/2000/svg"
  8. width="40"
  9. height="40"
  10. viewBox="0 0 250 250"
  11. className="github-corner rtl-mirror"
  12. >
  13. <a
  14. href="https://github.com/excalidraw/excalidraw"
  15. target="_blank"
  16. rel="noopener noreferrer"
  17. aria-label="GitHub repository"
  18. >
  19. <path
  20. d="M0 0l115 115h15l12 27 108 108V0z"
  21. fill={appearance === "light" ? oc.gray[6] : oc.gray[8]}
  22. />
  23. <path
  24. className="octo-arm"
  25. d="M128 109c-15-9-9-19-9-19 3-7 2-11 2-11-1-7 3-2 3-2 4 5 2 11 2 11-3 10 5 15 9 16"
  26. style={{ transformOrigin: "130px 106px" }}
  27. fill={appearance === "light" ? oc.white : oc.black}
  28. />
  29. <path
  30. className="octo-body"
  31. d="M115 115s4 2 5 0l14-14c3-2 6-3 8-3-8-11-15-24 2-41 5-5 10-7 16-7 1-2 3-7 12-11 0 0 5 3 7 16 4 2 8 5 12 9s7 8 9 12c14 3 17 7 17 7-4 8-9 11-11 11 0 6-2 11-7 16-16 16-30 10-41 2 0 3-1 7-5 11l-12 11c-1 1 1 5 1 5z"
  32. fill={appearance === "light" ? oc.white : oc.black}
  33. />
  34. </a>
  35. </svg>
  36. ),
  37. );