import { useId } from "react"

export const OpenCollective = () => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width="24"
    height="24"
    viewBox="0 0 24 24"
    fill="currentColor"
    fillRule="evenodd"
    clipRule="evenodd"
  >
    <path
      d="M21.8648 5.16602C23.211 7.10558 23.9999 9.46074 23.9999 12.0005C23.9999 14.5402 23.211 16.8956 21.8648 18.8349L18.7563 15.7265C19.3668 14.622 19.7143 13.3517 19.7143 12.0005C19.7143 10.6493 19.3668 9.37914 18.7563 8.27462L21.8648 5.16602Z"
      fillOpacity="0.5"
    />
    <path d="M18.8344 2.13514L15.7258 5.24354C14.6213 4.63309 13.3512 4.28563 12 4.28563C7.73955 4.28563 4.28563 7.73955 4.28563 12C4.28563 16.2605 7.73955 19.7144 12 19.7144C13.3512 19.7144 14.6213 19.367 15.7258 18.7565L18.8344 21.8649C16.8949 23.211 14.5397 24 12 24C5.37264 24 0 18.6274 0 12C0 5.37263 5.37264 0 12 0C14.5397 0 16.8949 0.788977 18.8344 2.13514Z" />
  </svg>
)

export const Patreon = () => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width="23"
    height="22"
    viewBox="0 0 23 22"
    fill="currentColor"
  >
    <path d="M14.6566 16.4871C19.2239 16.4871 22.9264 12.7963 22.9264 8.24355C22.9264 3.69076 19.2239 0 14.6566 0C10.0892 0 6.38666 3.69076 6.38666 8.24355C6.38666 12.7963 10.0892 16.4871 14.6566 16.4871Z" />
    <path d="M4.04218 0H0V21.9919H4.04218V0Z" />
  </svg>
)

export const BlitzIcon = () => {
  const id = useId()
  return (
    <svg
      width="245"
      height="342"
      viewBox="0 0 245 342"
      fill="none"
      xmlns="http://www.w3.org/2000/svg"
    >
      <path
        opacity="0.4"
        d="M1.22588 185.078L181.791 1.26669C185.164 -2.1672 190.594 2.01153 188.316 6.28938L121.111 132.548C119.61 135.362 121.599 138.798 124.729 138.798H240.87C244.611 138.798 246.417 143.495 243.682 146.113L40.1606 340.813C36.5115 344.304 31.0798 339.384 34.0095 335.243L130.352 199.009C132.327 196.216 130.381 192.302 127.015 192.302H4.13106C0.451191 192.302 -1.38514 187.736 1.22588 185.078Z"
        fill={`url(#${id}-paint0_linear_276_2121)`}
      />
      <defs>
        <linearGradient
          id={`${id}-paint0_linear_276_2121`}
          x1="122.5"
          y1="0"
          x2="122.5"
          y2="342"
          gradientUnits="userSpaceOnUse"
        >
          <stop stopColor="currentColor" stopOpacity="0.5" />
          <stop offset="0.505" stopColor="#137773" stopOpacity="0.6" />
          <stop offset="1" stopColor="currentColor" stopOpacity="0.5" />
        </linearGradient>
      </defs>
    </svg>
  )
}

export const BlitzFillIcon = () => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width="18"
    height="24"
    viewBox="0 0 18 24"
    fill="none"
  >
    <path
      d="M0.470859 12.9879L13.17 0.0888906C13.4071 -0.152085 13.789 0.14116 13.6288 0.44136L8.90232 9.3016C8.79678 9.49911 8.93668 9.74022 9.15676 9.74022H17.3249C17.5881 9.74022 17.7151 10.0699 17.5227 10.2536L3.20913 23.9167C2.95248 24.1617 2.57048 23.8165 2.77652 23.5258L9.55227 13.9656C9.69116 13.7695 9.5543 13.4949 9.31755 13.4949H0.67518C0.416376 13.4949 0.287227 13.1745 0.470859 12.9879Z"
      fill="currentColor"
    />
  </svg>
)

export const NextJSIcon = () => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width="48"
    height="48"
    viewBox="0 0 48 48"
    fill="none"
  >
    <path
      d="M22.4282 0.012917C22.3249 0.0222998 21.9965 0.0551395 21.7009 0.0785965C14.8833 0.693169 8.49736 4.37122 4.45279 10.0243C2.20059 13.1676 0.760117 16.733 0.215836 20.5096C0.0234604 21.8279 0 22.2173 0 24.0047C0 25.7921 0.0234604 26.1815 0.215836 27.4998C1.52023 36.512 7.93431 44.0839 16.6334 46.8893C18.1912 47.3913 19.8334 47.7338 21.7009 47.9402C22.4282 48.0199 25.5718 48.0199 26.2991 47.9402C29.5226 47.5836 32.2534 46.7861 34.9466 45.4115C35.3595 45.2004 35.4393 45.1441 35.383 45.0972C35.3455 45.0691 33.5859 42.7093 31.4745 39.8569L27.6364 34.6729L22.827 27.5561C20.1806 23.6435 18.0035 20.4439 17.9848 20.4439C17.966 20.4392 17.9472 23.6012 17.9378 27.4623C17.9238 34.2226 17.9191 34.4947 17.8346 34.6542C17.7126 34.884 17.6188 34.9779 17.4217 35.0811C17.2716 35.1561 17.1402 35.1702 16.4317 35.1702H15.6199L15.4041 35.0342C15.2633 34.945 15.1601 34.8277 15.0897 34.6917L14.9912 34.4806L15.0006 25.0743L15.0147 15.6634L15.1601 15.4804C15.2352 15.3819 15.3947 15.2553 15.5073 15.1943C15.6997 15.1004 15.7748 15.0911 16.5865 15.0911C17.5437 15.0911 17.7032 15.1286 17.9519 15.4007C18.0223 15.4757 20.6264 19.3978 23.7419 24.122C26.8575 28.8462 31.1179 35.2969 33.2106 38.4636L37.0111 44.2199L37.2035 44.0932C38.9067 42.9861 40.7085 41.4098 42.1349 39.7678C45.1707 36.2821 47.1273 32.0317 47.7842 27.4998C47.9765 26.1815 48 25.7921 48 24.0047C48 22.2173 47.9765 21.8279 47.7842 20.5096C46.4798 11.4974 40.0657 3.92554 31.3666 1.12009C29.8323 0.622798 28.1994 0.280326 26.3695 0.0739051C25.9191 0.0269912 22.8176 -0.0246142 22.4282 0.012917ZM32.2534 14.5281C32.4786 14.6407 32.6616 14.8565 32.7273 15.0817C32.7648 15.2036 32.7742 17.8121 32.7648 23.6904L32.7507 32.1255L31.2633 29.8455L29.7713 27.5655V21.4338C29.7713 17.4696 29.79 15.2412 29.8182 15.1333C29.8933 14.8706 30.0575 14.6641 30.2827 14.5422C30.4751 14.4436 30.5455 14.4343 31.2821 14.4343C31.9765 14.4343 32.0985 14.4436 32.2534 14.5281Z"
      fill="currentColor"
    />
  </svg>
)

export const ViteIcon = () => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width="50"
    height="48"
    viewBox="0 0 50 48"
    fill="currentColor"
  >
    <path d="M48.0951 7.07232L26.2628 46.1638C25.812 46.9709 24.654 46.9757 24.1964 46.1725L1.93121 7.07609C1.43276 6.20084 2.18021 5.14067 3.17073 5.31795L25.0264 9.22968C25.1658 9.25463 25.3086 9.2544 25.448 9.22896L46.8466 5.32355C47.8339 5.14339 48.5848 6.19535 48.0951 7.07232Z" />
    <path
      d="M35.4375 0.187253L19.2809 3.35725C19.0154 3.40935 18.8187 3.63469 18.8027 3.90512L17.8089 20.7127C17.7855 21.1086 18.1486 21.4158 18.5344 21.3267L23.0327 20.2872C23.4535 20.19 23.8338 20.5612 23.7473 20.985L22.4109 27.5378C22.321 27.9789 22.7345 28.356 23.1646 28.2252L25.9429 27.3799C26.3736 27.249 26.7875 27.6272 26.6964 28.0686L24.5726 38.3616C24.4397 39.0055 25.295 39.3565 25.6516 38.8046L25.8899 38.4359L39.0552 12.1276C39.2756 11.6871 38.8955 11.1848 38.4123 11.2782L33.7821 12.173C33.347 12.257 32.9768 11.8512 33.0996 11.425L36.1217 0.934876C36.2446 0.507895 35.8731 0.101801 35.4375 0.187253Z"
      stroke="var(--chakra-colors-fg-inverted)"
      strokeWidth="2"
    />
  </svg>
)

export const RemixJSIcon = () => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width="36"
    height="40"
    viewBox="0 0 36 40"
    fill="currentColor"
  >
    <path d="M0.539673 40V33.7891H11.8995C13.797 33.7891 14.2089 35.1895 14.2089 36.0244V40H0.539673ZM33.9261 30.8469C34.2879 35.4683 34.2879 37.635 34.2879 40H23.5441C23.5441 39.4845 23.5535 39.0135 23.563 38.5355C23.592 37.0507 23.6226 35.5019 23.3809 32.3738C23.0607 27.7945 21.0801 26.7768 17.4365 26.7768H0.539673V18.4445H17.9482C22.5499 18.4445 24.8507 17.0511 24.8507 13.3622C24.8507 10.1185 22.5499 8.1534 17.9482 8.1534H0.539673V0H19.8653C30.2834 0 35.4603 4.89719 35.4603 12.7202C35.4603 18.5718 31.8176 22.3881 26.8957 23.0238C31.0501 23.851 33.4788 26.2043 33.9261 30.8469Z" />
  </svg>
)

export const GatsbyIcon = () => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width="48"
    height="48"
    viewBox="0 0 48 48"
    fill="currentColor"
  >
    <path d="M24 0C10.8 0 0 10.8 0 24C0 37.2 10.8 48 24 48C37.2 48 48 37.2 48 24C48 10.8 37.2 0 24 0ZM10.6245 37.3755C7.0283 33.7707 5.14245 28.9717 5.14245 24.3424L23.8302 42.8575C19.0283 42.6877 14.2292 40.9717 10.6245 37.3755ZM28.1104 42.3462L5.65755 19.8858C7.54245 11.4858 15.083 5.14245 24 5.14245C30.3424 5.14245 35.8283 8.2283 39.2575 12.8575L36.6858 15.083C33.7708 11.1425 29.1425 8.5717 24 8.5717C17.3141 8.5717 11.6575 12.8575 9.4283 18.8575L29.1424 38.5717C34.1141 36.8575 37.8858 32.5717 39.0858 27.4283H30.8575V24H42.8575C42.8575 32.917 36.5141 40.4575 28.1141 42.3424L28.1104 42.3462Z" />
  </svg>
)

export const RedwoodJSIcon = () => (
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width="46"
    height="48"
    viewBox="0 0 46 48"
    fill="currentColor"
  >
    <path d="M13.8843 8.54618L22.3623 14.3058C22.5534 14.4326 22.777 14.502 23.0065 14.506C23.2364 14.5042 23.4606 14.4346 23.6507 14.3058L32.135 8.52677C32.2973 8.41071 32.4267 8.2548 32.5105 8.07421C32.5944 7.89362 32.6298 7.69451 32.6134 7.49624C32.5975 7.29809 32.5303 7.10742 32.4182 6.94286C32.3061 6.77831 32.1531 6.64549 31.9741 6.55738L23.4961 2.37965C23.3375 2.30301 23.1635 2.26318 22.9872 2.26318C22.8109 2.26318 22.6369 2.30301 22.4783 2.37965L14.0261 6.55756C13.8439 6.64607 13.6884 6.78074 13.5751 6.94804C13.4618 7.11533 13.3947 7.30936 13.3807 7.51063C13.3661 7.71203 13.4049 7.91371 13.4933 8.09545C13.5817 8.2772 13.7166 8.43263 13.8843 8.54618ZM25.8861 16.1137C25.8862 16.3015 25.932 16.4865 26.0195 16.6529C26.107 16.8193 26.2336 16.9622 26.3885 17.0694L33.1852 21.6926C33.3963 21.8377 33.6504 21.9076 33.9064 21.8912C34.1623 21.8748 34.4053 21.773 34.596 21.6022L40.2973 16.527C40.423 16.415 40.5226 16.277 40.5892 16.1227C40.6557 15.9683 40.6876 15.8014 40.6826 15.6335C40.6778 15.4657 40.6363 15.3009 40.5608 15.1508C40.4853 15.0006 40.3778 14.8686 40.2457 14.7642L34.8021 10.4317C34.6097 10.2793 34.3735 10.1921 34.1278 10.1828C33.8821 10.1735 33.6398 10.2426 33.4364 10.3801L26.3885 15.1776C26.2362 15.2829 26.1113 15.4227 26.0239 15.5855C25.9365 15.7482 25.8893 15.9292 25.8861 16.1137ZM8.982 22.4028C9.11759 22.5243 9.22261 22.6759 9.28859 22.8453C9.35458 23.0146 9.37969 23.197 9.36191 23.3778C9.3446 23.5594 9.28342 23.7341 9.18358 23.887C9.08375 24.0399 8.94822 24.1665 8.78857 24.256L4.73013 26.6774C4.52937 26.7969 4.29667 26.8525 4.06326 26.8366C3.82985 26.8208 3.6069 26.7342 3.42433 26.5886C3.24108 26.4422 3.10654 26.2441 3.03835 26.0203C2.97015 25.7965 2.97148 25.5574 3.04216 25.3344L4.54314 20.6337C4.60062 20.4508 4.70327 20.2853 4.84171 20.1522C4.98014 20.019 5.14992 19.9226 5.3355 19.8717C5.52045 19.8182 5.71617 19.8133 5.9036 19.8574C6.09103 19.9015 6.26378 19.9932 6.40504 20.1235L8.982 22.4028ZM30.9947 22.8935L23.6572 17.896C23.4668 17.7683 23.2425 17.7001 23.013 17.7001C22.7834 17.7001 22.5591 17.7683 22.3688 17.896L15.031 22.8935C14.8867 22.9932 14.7666 23.1239 14.6796 23.2758C14.5927 23.4278 14.541 23.5973 14.5285 23.7717C14.519 23.9475 14.5488 24.1232 14.6156 24.2862C14.6824 24.4492 14.7847 24.5954 14.9151 24.7144L22.2464 31.2424C22.4572 31.4299 22.7302 31.5333 23.013 31.533C23.2956 31.5328 23.5684 31.4294 23.7796 31.2424L31.1107 24.7144C31.2414 24.5959 31.3434 24.4496 31.4093 24.2864C31.4751 24.1231 31.5029 23.9472 31.4908 23.7717C31.4809 23.5974 31.431 23.4276 31.345 23.2754C31.2591 23.1231 31.1392 22.9925 30.9947 22.8935ZM11.4233 21.6022L5.72881 16.527C5.60202 16.4121 5.5018 16.2712 5.43507 16.114C5.36834 15.9568 5.33668 15.7871 5.34229 15.6166C5.34519 15.4486 5.38537 15.2834 5.45996 15.1327C5.53455 14.982 5.6417 14.8496 5.77373 14.7449L11.2174 10.3865C11.4112 10.2344 11.6485 10.1475 11.8951 10.1382C12.1417 10.1289 12.3849 10.1978 12.5897 10.3348L19.6309 15.1322C19.7921 15.2378 19.9244 15.3816 20.0159 15.5507C20.1074 15.7197 20.1552 15.9088 20.155 16.1009C20.1552 16.2929 20.1074 16.482 20.0159 16.651C19.9244 16.8201 19.7921 16.9639 19.6309 17.0694L12.8407 21.6926C12.6282 21.8371 12.3733 21.9067 12.1165 21.8903C11.8597 21.8739 11.6156 21.7725 11.4233 21.6022ZM40.6646 28.8921L34.8665 25.4377C34.657 25.3119 34.4123 25.2565 34.1687 25.2797C33.9251 25.303 33.6954 25.4036 33.5137 25.5668L26.4272 31.8622C26.28 31.9935 26.1687 32.1598 26.1038 32.3456C26.039 32.5314 26.0226 32.7306 26.0564 32.9245C26.0895 33.1181 26.1717 33.3 26.2953 33.4532C26.4188 33.6063 26.5796 33.7255 26.7624 33.7995L36.593 37.764C36.7277 37.8197 36.8722 37.8483 37.0181 37.848C37.4745 37.8494 37.8887 37.5811 38.0748 37.1635L41.1219 30.3707C41.37 29.8332 41.1723 29.1947 40.6645 28.8921H40.6646ZM41.4697 20.6337L42.9709 25.3344H42.958C43.0127 25.5077 43.0258 25.6914 42.9964 25.8707C42.9669 26.05 42.8956 26.2199 42.7882 26.3668C42.6814 26.5132 42.5412 26.6322 42.3792 26.7143C42.2172 26.7963 42.038 26.839 41.8562 26.8389C41.6497 26.8395 41.4469 26.7836 41.27 26.6774L37.205 24.256C37.0486 24.1647 36.9166 24.0371 36.8202 23.8843C36.7237 23.7314 36.6657 23.5577 36.651 23.3778C36.6321 23.1969 36.6568 23.0142 36.7228 22.8447C36.7889 22.6751 36.8946 22.5237 37.031 22.4028L39.6078 20.1171C39.7507 19.9894 39.9234 19.8994 40.1103 19.8554C40.2972 19.8114 40.4921 19.8147 40.6774 19.8652C40.8629 19.9183 41.0323 20.0162 41.1706 20.1503C41.3088 20.2844 41.4116 20.4505 41.4697 20.6337ZM19.9657 32.9213C19.9999 32.7283 19.9841 32.5298 19.9199 32.3445C19.8556 32.1593 19.7451 31.9933 19.5985 31.8624L12.5122 25.5668C12.3305 25.4036 12.1008 25.303 11.8572 25.2797C11.6136 25.2565 11.369 25.3119 11.1594 25.4377L5.3611 28.8921C4.85915 29.196 4.66049 29.8265 4.89727 30.3643L7.95094 37.1571C8.20392 37.7234 8.85804 37.9885 9.43259 37.7575L19.2569 33.7928C19.4398 33.7194 19.6008 33.6009 19.7248 33.4484C19.8488 33.2959 19.9316 33.1144 19.9656 32.9212L19.9657 32.9213ZM23.4444 34.8583L31.3297 38.0352C31.5195 38.1164 31.6841 38.2466 31.8064 38.4123C31.9288 38.578 32.0044 38.7733 32.0256 38.9778C32.0503 39.1849 32.0177 39.3948 31.9314 39.5848C31.8451 39.7748 31.7083 39.9378 31.5359 40.0562L23.6443 45.5126C23.4555 45.6447 23.2308 45.7166 23.0001 45.719C22.7695 45.7152 22.5453 45.6434 22.3559 45.5126L14.4706 40.0562C14.2975 39.9381 14.1599 39.7754 14.0725 39.5855C13.9852 39.3955 13.9513 39.1856 13.9745 38.978C14 38.7713 14.0802 38.5751 14.207 38.4094C14.3338 38.2438 14.5026 38.1146 14.696 38.0353L22.5813 34.8583C22.8585 34.7483 23.1675 34.7483 23.4446 34.8583H23.4444Z" />
  </svg>
)

export const GoldSponsorIcon = () => (
  <svg width="21" height="24" viewBox="0 0 21 24" fill="none">
    <path
      d="M6.28 7.9L3.31 10.85L10.5 18.03L13.46 15.08L17.68 10.85L14.72 7.89V7.88H6.27L6.28 7.9ZM10.47 0L0 6V18L10.47 24L20.94 18V6L10.47 0ZM18.94 16.85L10.47 21.73L2 16.85V7.12L10.47 2.24L18.94 7.12V16.85Z"
      fill="currentColor"
    />
  </svg>
)

export const SilverSponsorIcon = () => (
  <svg width="16" height="22" viewBox="0 0 16 22" fill="none">
    <path
      d="M15.125 8.25205C15.1258 6.9776 14.8044 5.72362 14.1908 4.6066C13.5773 3.48958 12.6913 2.54574 11.6153 1.86274C10.5394 1.17975 9.30821 0.779754 8.03626 0.699914C6.76432 0.620075 5.49282 0.862979 4.33987 1.40606C3.18693 1.94915 2.18993 2.7748 1.44148 3.80633C0.693035 4.83786 0.217415 6.04181 0.0588007 7.30635C-0.099814 8.57089 0.0637207 9.85501 0.534215 11.0394C1.00471 12.2239 1.7669 13.2702 2.75 14.0812V20.627C2.74992 20.7443 2.77982 20.8596 2.83687 20.9621C2.89392 21.0645 2.97622 21.1506 3.07595 21.2123C3.17567 21.274 3.28951 21.3091 3.40664 21.3143C3.52377 21.3196 3.6403 21.2948 3.74516 21.2424L7.5625 19.338L11.3807 21.2467C11.4764 21.2925 11.5814 21.3157 11.6875 21.3145C11.8698 21.3145 12.0447 21.2421 12.1736 21.1132C12.3026 20.9843 12.375 20.8094 12.375 20.627V14.0812C13.2352 13.3727 13.9279 12.4827 14.4033 11.4748C14.8788 10.467 15.1252 9.36641 15.125 8.25205ZM1.375 8.25205C1.375 7.02828 1.73789 5.83199 2.41778 4.81446C3.09767 3.79693 4.06403 3.00386 5.19465 2.53554C6.32527 2.06723 7.56937 1.94469 8.76962 2.18344C9.96988 2.42219 11.0724 3.01149 11.9377 3.87683C12.8031 4.74216 13.3924 5.84467 13.6311 7.04493C13.8699 8.24519 13.7473 9.48928 13.279 10.6199C12.8107 11.7505 12.0176 12.7169 11.0001 13.3968C9.98256 14.0767 8.78627 14.4395 7.5625 14.4395C5.92203 14.4377 4.34928 13.7852 3.18929 12.6253C2.0293 11.4653 1.37682 9.89252 1.375 8.25205ZM2.75 8.25205C2.75 7.30023 3.03225 6.36978 3.56105 5.57837C4.08986 4.78696 4.84147 4.17013 5.72084 3.80588C6.60021 3.44163 7.56784 3.34633 8.50137 3.53202C9.43491 3.71771 10.2924 4.17606 10.9655 4.8491C11.6385 5.52214 12.0968 6.37964 12.2825 7.31318C12.4682 8.24671 12.3729 9.21434 12.0087 10.0937C11.6444 10.9731 11.0276 11.7247 10.2362 12.2535C9.44477 12.7823 8.51432 13.0645 7.5625 13.0645C6.28657 13.0632 5.06328 12.5557 4.16106 11.6535C3.25883 10.7513 2.75137 9.52798 2.75 8.25205Z"
      fill="currentColor"
    />
  </svg>
)
