import { JSX } from "preact/jsx-runtime";

export function IconRss(
  { class: cssClass, ...props }: JSX.SVGAttributes<SVGSVGElement>,
) {
  return (
    <svg
      xmlns="http://www.w3.org/2000/svg"
      viewBox="0 -960 960 960"
      fill="currentColor"
      class={`h-6 w-6 ${cssClass ?? ""}`}
      {...props}
    >
      <path d="M200-120q-33 0-56.5-23.5T120-200q0-33 23.5-56.5T200-280q33 0 56.5 23.5T280-200q0 33-23.5 56.5T200-120Zm540 0q-26 0-43.5-19T676-184q-11-97-52.5-181.5T516-516q-66-66-150.5-107.5T184-676q-26-3-45-20.5T120-740q0-26 18-42.5t43-14.5q123 11 230.5 62.5T601-601q82 82 133.5 189.5T797-181q2 25-14.5 43T740-120Zm-240 0q-25 0-43-17.5T434-180q-9-49-31.5-90.5T346-346q-34-34-75.5-56.5T180-434q-25-5-42.5-23T120-500q0-26 18-43t43-13q73 10 136.5 42.5T431-431q50 50 82.5 113.5T556-181q4 25-13 43t-43 18Z" />
    </svg>
  );
}

export function IconGitHub(
  { class: cssClass, ...props }: JSX.SVGAttributes<SVGSVGElement>,
) {
  return (
    <svg
      xmlns="http://www.w3.org/2000/svg"
      viewBox="0 0 98 96"
      fill="currentColor"
      class={`h-6 w-6 ${cssClass ?? ""}`}
      {...props}
    >
      <path
        fill-rule="evenodd"
        clip-rule="evenodd"
        d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z"
      />
    </svg>
  );
}

export function IconGitea(
  { class: cssClass, ...props }: JSX.SVGAttributes<SVGSVGElement>,
) {
  return (
    <svg
      xmlns="http://www.w3.org/"
      viewBox="0 0 640 640"
      class={`h-6 w-6 ${cssClass ?? ""}`}
      {...props}
    >
      <path
        style="fill:#fff"
        d="m395.9 484.2-126.9-61c-12.5-6-17.9-21.2-11.8-33.8l61-126.9c6-12.5 21.2-17.9 33.8-11.8 17.2 8.3 27.1 13 27.1 13l-.1-109.2 16.7-.1.1 117.1s57.4 24.2 83.1 40.1c3.7 2.3 10.2 6.8 12.9 14.4 2.1 6.1 2 13.1-1 19.3l-61 126.9c-6.2 12.7-21.4 18.1-33.9 12z"
      />
      <path
        style="fill:#609926"
        d="M622.7 149.8c-4.1-4.1-9.6-4-9.6-4s-117.2 6.6-177.9 8c-13.3.3-26.5.6-39.6.7v117.2c-5.5-2.6-11.1-5.3-16.6-7.9 0-36.4-.1-109.2-.1-109.2-29 .4-89.2-2.2-89.2-2.2s-141.4-7.1-156.8-8.5c-9.8-.6-22.5-2.1-39 1.5-8.7 1.8-33.5 7.4-53.8 26.9C-4.9 212.4 6.6 276.2 8 285.8c1.7 11.7 6.9 44.2 31.7 72.5 45.8 56.1 144.4 54.8 144.4 54.8s12.1 28.9 30.6 55.5c25 33.1 50.7 58.9 75.7 62 63 0 188.9-.1 188.9-.1s12 .1 28.3-10.3c14-8.5 26.5-23.4 26.5-23.4S547 483 565 451.5c5.5-9.7 10.1-19.1 14.1-28 0 0 55.2-117.1 55.2-231.1-1.1-34.5-9.6-40.6-11.6-42.6zM125.6 353.9c-25.9-8.5-36.9-18.7-36.9-18.7S69.6 321.8 60 295.4c-16.5-44.2-1.4-71.2-1.4-71.2s8.4-22.5 38.5-30c13.8-3.7 31-3.1 31-3.1s7.1 59.4 15.7 94.2c7.2 29.2 24.8 77.7 24.8 77.7s-26.1-3.1-43-9.1zm300.3 107.6s-6.1 14.5-19.6 15.4c-5.8.4-10.3-1.2-10.3-1.2s-.3-.1-5.3-2.1l-112.9-55s-10.9-5.7-12.8-15.6c-2.2-8.1 2.7-18.1 2.7-18.1L322 273s4.8-9.7 12.2-13c.6-.3 2.3-1 4.5-1.5 8.1-2.1 18 2.8 18 2.8L467.4 315s12.6 5.7 15.3 16.2c1.9 7.4-.5 14-1.8 17.2-6.3 15.4-55 113.1-55 113.1z"
      />
      <path
        style="fill:#609926"
        d="M326.8 380.1c-8.2.1-15.4 5.8-17.3 13.8-1.9 8 2 16.3 9.1 20 7.7 4 17.5 1.8 22.7-5.4 5.1-7.1 4.3-16.9-1.8-23.1l24-49.1c1.5.1 3.7.2 6.2-.5 4.1-.9 7.1-3.6 7.1-3.6 4.2 1.8 8.6 3.8 13.2 6.1 4.8 2.4 9.3 4.9 13.4 7.3.9.5 1.8 1.1 2.8 1.9 1.6 1.3 3.4 3.1 4.7 5.5 1.9 5.5-1.9 14.9-1.9 14.9-2.3 7.6-18.4 40.6-18.4 40.6-8.1-.2-15.3 5-17.7 12.5-2.6 8.1 1.1 17.3 8.9 21.3 7.8 4 17.4 1.7 22.5-5.3 5-6.8 4.6-16.3-1.1-22.6 1.9-3.7 3.7-7.4 5.6-11.3 5-10.4 13.5-30.4 13.5-30.4.9-1.7 5.7-10.3 2.7-21.3-2.5-11.4-12.6-16.7-12.6-16.7-12.2-7.9-29.2-15.2-29.2-15.2s0-4.1-1.1-7.1c-1.1-3.1-2.8-5.1-3.9-6.3 4.7-9.7 9.4-19.3 14.1-29-4.1-2-8.1-4-12.2-6.1-4.8 9.8-9.7 19.7-14.5 29.5-6.7-.1-12.9 3.5-16.1 9.4-3.4 6.3-2.7 14.1 1.9 19.8l-24.6 50.4z"
      />
    </svg>
  );
}

export function IconWoodpecker(
  { class: cssClass, ...props }: JSX.SVGAttributes<SVGSVGElement>,
) {
  return (
    <svg
      xmlns="http://www.w3.org/"
      fill="currentColor"
      class={`h-6 w-6 ${cssClass ?? ""}`}
      {...props}
    >
      <path d="M1.263 2.744C2.41 3.832 2.845 4.932 4.118 5.08l.036.007c-.588.606-1.09 1.402-1.443 2.423-.38 1.096-.488 2.285-.614 3.659-.19 2.046-.401 4.364-1.556 7.269-2.486 6.258-1.12 11.63.332 17.317.664 2.604 1.348 5.297 1.642 8.107a.857.857 0 00.633.744.86.86 0 00.922-.323c.227-.313.524-.797.86-1.424.84 3.323 1.355 6.13 1.783 8.697a.866.866 0 001.517.41c2.88-3.463 3.763-8.636 2.184-12.674.459-2.433 1.402-4.45 2.398-6.583.536-1.15 1.08-2.318 1.55-3.566.228-.084.569-.314.79-.441l1.707-.981-.256 1.052a.864.864 0 001.678.408l.68-2.858 1.285-2.95a.863.863 0 10-1.581-.687l-1.152 2.669-2.383 1.372a18.97 18.97 0 00.508-2.981c.432-4.86-.718-9.074-3.066-11.266-.163-.157-.208-.281-.247-.26.095-.12.249-.26.358-.374 2.283-1.693 6.047-.147 8.319.75.589.232.876-.337.316-.67-1.95-1.153-5.948-4.196-8.188-6.193-.313-.275-.527-.607-.89-.913C9.825.555 4.072 3.057 1.355 2.569c-.102-.018-.166.103-.092.175m10.98 5.899c-.06 1.242-.603 1.8-1 2.208-.217.224-.426.436-.524.738-.236.714.008 1.51.66 2.143 1.974 1.84 2.925 5.527 2.538 9.86-.291 3.288-1.448 5.763-2.671 8.385-1.031 2.207-2.096 4.489-2.577 7.259a.853.853 0 00.056.48c1.02 2.434 1.135 6.197-.672 9.46a96.586 96.586 0 00-1.97-8.711c1.964-4.488 4.203-11.75 2.919-17.668-.325-1.497-1.304-3.276-2.387-4.207-.208-.18-.402-.237-.495-.167-.084.06-.151.238-.062.444.55 1.266.879 2.599 1.226 4.276 1.125 5.443-.956 12.49-2.835 16.782l-.116.259-.457.982c-.356-2.014-.85-3.95-1.33-5.84-1.38-5.406-2.68-10.515-.401-16.254 1.247-3.137 1.483-5.692 1.672-7.746.116-1.263.216-2.355.526-3.252.905-2.605 3.062-3.178 4.744-2.852 1.632.316 3.24 1.593 3.156 3.42zm-2.868.62a1.177 1.177 0 10.736-2.236 1.178 1.178 0 10-.736 2.237z" />
    </svg>
  );
}

export function IconFresh(
  { class: cssClass, ...props }: JSX.SVGAttributes<SVGSVGElement>,
) {
  return (
    <svg
      xmlns="http://www.w3.org/2000/svg"
      viewBox="0 0 40 40"
      fill="none"
      class={`h-6 w-6 ${cssClass ?? ""}`}
      {...props}
    >
      <path
        d="M34.092 8.845C38.929 20.652 34.092 27 30 30.5c1 3.5-2.986 4.222-4.5 2.5-4.457 1.537-13.512 1.487-20-5C2 24.5 4.73 16.714 14 11.5c8-4.5 16-7 20.092-2.655Z"
        fill="#FFDB1E"
      />
      <path
        d="M14 11.5c6.848-4.497 15.025-6.38 18.368-3.47C37.5 12.5 21.5 22.612 15.5 25c-6.5 2.587-3 8.5-6.5 8.5-3 0-2.5-4-5.183-7.75C2.232 23.535 6.16 16.648 14 11.5Z"
        fill="#fff"
        stroke="#FFDB1E"
      />
      <path
        d="M28.535 8.772c4.645 1.25-.365 5.695-4.303 8.536-3.732 2.692-6.606 4.21-7.923 4.83-.366.173-1.617-2.252-1.617-1 0 .417-.7 2.238-.934 2.326-1.365.512-4.223 1.29-5.835 1.29-3.491 0-1.923-4.754 3.014-9.122.892-.789 1.478-.645 2.283-.645-.537-.773-.534-.917.403-1.546C17.79 10.64 23 8.77 25.212 8.42c.366.014.82.35.82.629.41-.14 2.095-.388 2.503-.278Z"
        fill="#FFE600"
      />
      <path
        d="M14.297 16.49c.985-.747 1.644-1.01 2.099-2.526.566.121.841-.08 1.29-.701.324.466 1.657.608 2.453.701-.715.451-1.057.852-1.452 2.106-1.464-.611-3.167-.302-4.39.42Z"
        fill="#fff"
      />
    </svg>
  );
}

export function EmojiHandWiving(
  { class: cssClass, ...props }: JSX.SVGAttributes<SVGSVGElement>,
) {
  return (
    <svg
      xmlns="http://www.w3.org/2000/svg"
      viewBox="0 0 128 128"
      class={`inline ${cssClass ?? ""}`}
      {...props}
    >
      <path
        d="M39.11 79.56c-1.1 1.03-2.21-.2-2.21-.2S18.42 59.78 17.22 58.9c-1.69-1.23-5.31-3.16-8.93.57-1.51 1.55-3.97 5 .6 10.56.99 1.2 29.78 31.54 31.46 33.18 0 0 13.3 12.94 21.35 17.81 2.23 1.35 4.74 2.78 7.67 3.78 2.92 1 6.22 1.69 9.7 1.69 3.48.04 7.09-.63 10.5-1.88 3.41-1.26 6.59-3.09 9.48-5.2.71-.54 1.43-1.08 2.1-1.66l1.94-1.6a58.67 58.67 0 0 0 3.82-3.53c2.43-2.42 4.62-5.01 6.55-7.66 1.92-2.66 3.55-5.41 4.85-8.15 1.3-2.74 2.21-5.49 2.76-8.09.58-2.59.74-5.04.65-7.18-.02-2.14-.45-3.97-.8-5.43-.4-1.46-.83-2.55-1.17-3.27-.33-.72-.51-1.1-.51-1.1-.46-1.29-.9-2.52-1.29-3.63a889.622 889.622 0 0 0-4.51-12.47l.01.03c-4.85-13.17-10.06-26.74-10.06-26.74-.79-2.39-3.7-3.22-5.84-1.68-6.18 4.44-8.07 10.92-5.89 17.83l5.59 15.32c.79 1.71-1.39 3.69-2.85 2.5-4.59-3.74-14.3-14.05-14.3-14.05-4.34-4.16-28.83-29.27-30.47-30.8-3.3-3.07-7.46-4.65-10.63-2.32-3.24 2.38-4.14 6.06-1.01 10.08.85 1.09 25.6 27.24 25.6 27.24 1.44 1.51-.26 3.65-1.85 2.18 0 0-30.79-32.12-32.18-33.62-3.15-3.42-8.21-4.17-11.21-1.35-2.93 2.75-2.86 7.26.34 10.8 1.02 1.12 22.71 24.02 31.39 33.4.58.63 1.03 1.47.17 2.26-.01.01-.88.95-2-.25-2.36-2.52-25.93-27.08-27.24-28.41-3.01-3.06-7.05-4.51-10.3-1.53-2.96 2.71-3.44 7.44-.04 10.78l28.55 30.18s.93 1.1-.11 2.07z"
        fill="#fac036"
      />
      <path
        d="M85.46 54.4l2.41 2.58s-13.79 13.31-4.39 33.75c0 0 1.22 2.59-.38 3.02 0 0-1.4.78-3-3.2 0-.01-9.49-19.42 5.36-36.15z"
        fill="#e48c15"
      />
      <path
        d="M63.28 10.2s5.81.88 11.19 6.64c5.38 5.77 7.87 13.18 7.87 13.18M77.44 3.5s4.87 2.45 8.63 8.5c3.76 6.05 4.67 13.05 4.67 13.05M35.71 110.73s-5.86.39-12.35-4.09-10.52-11.18-10.52-11.18M31.53 120.56s-5.44.23-11.68-3.22-10.44-9.12-10.44-9.12"
        fill="none"
        stroke="#444"
        stroke-width="4"
        stroke-linecap="round"
        stroke-miterlimit="10"
      />
    </svg>
  );
}

export function EmojiMeltingFace(
  { class: cssClass, ...props }: JSX.SVGAttributes<SVGSVGElement>,
) {
  return (
    <svg
      width="128px"
      height="128px"
      version="1.1"
      xmlns="http://www.w3.org/2000/svg"
      xml:space="preserve"
      style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-miterlimit:10;"
    >
      <g transform="matrix(1.04244,0,0,1.04244,-5.38775,-10.328)">
        <path
          d="M116.288,82.062C116.563,88.375 120.747,90.434 122.76,93.781C124.325,96.382 125.752,97.497 126.386,100.44C126.895,102.8 127.514,104.705 125.998,106.911C125.182,108.098 123.923,108.904 121.199,109.393C115.865,110.351 108.319,108.585 106.003,107.856C103.208,106.975 97.495,103.537 91.557,107.199C89.858,108.247 90.268,109.179 90.83,110.913C92.322,115.515 85.238,116.202 82.323,115.064C76.19,112.67 70.335,110.492 63.791,110.869C60.688,111.048 55.02,112.282 51.987,112.875C47.963,113.661 43.177,114.174 39.08,113.806C36.924,113.612 35.392,112.173 33.636,111.095C32.149,110.184 30.522,109.653 28.793,109.448C27.102,109.248 25.286,110.115 23.656,110.457C18.975,111.438 12.113,112.885 7.836,109.984C7.197,109.551 6.639,108.96 6.196,108.332C5.849,107.841 5.489,107.297 5.283,106.728C4.304,104.013 9.889,103.145 10.116,99.933C10.403,95.858 6.171,95.389 5.674,93.616C5.503,93.007 5.489,92.325 5.553,91.696C6.005,87.306 11.221,86.595 11.497,82.817"
          style="fill:#fcc21b;"
        />
      </g>
      <g id="g4534" transform="matrix(1,0,0,1,0,-1.8)">
        <g transform="matrix(0.860529,0,0,0.785977,6.21629,12.5383)">
          <path
            d="M66.541,11.715C4.573,4.58 0,78.5 0,92.33C0,106.16 28.56,117.36 63.79,117.36C99.03,117.36 127.58,106.15 127.58,92.33C127.58,78.5 128.861,18.89 66.541,11.715Z"
            style="fill:#fcc21b;fill-rule:nonzero;"
          />
        </g>
        <g transform="matrix(0.858607,0.0574837,-0.0574837,0.858607,9.60276,4.29839)">
          <path
            d="M86.32,66.47C90.8,66.46 94.43,62.11 94.42,56.76C94.41,51.39 90.76,47.06 86.28,47.07C81.79,47.08 78.15,51.43 78.16,56.8C78.18,62.15 81.83,66.48 86.32,66.47Z"
            style="fill:#2f2f2f;"
          />
        </g>
        <g transform="matrix(0.858607,0.0574837,-0.0574837,0.858607,9.60276,0.207378)">
          <path
            d="M42.21,66.47C37.72,66.51 34.04,62.2 33.99,56.85C33.94,51.48 37.54,47.1 42.03,47.06C46.51,47.02 50.2,51.33 50.25,56.7C50.3,62.06 46.7,66.43 42.21,66.47Z"
            style="fill:#2f2f2f;"
          />
        </g>
        <g transform="matrix(0.84863,0.142605,-0.142605,0.84863,21.0935,-0.899181)">
          <path
            d="M36.19,81.17C48.229,91.802 57.449,90.946 78.214,85.52"
            style="fill:none;fill-rule:nonzero;stroke:#2f2f2f;stroke-width:6px;"
          />
        </g>
      </g>
    </svg>
  );
}

export function EmojiGlowingStar(
  { class: cssClass, ...props }: JSX.SVGAttributes<SVGSVGElement>,
) {
  return (
    <svg
      xmlns="http://www.w3.org/2000/svg"
      viewBox="0 0 128 128"
      class={`inline ${cssClass ?? ""}`}
      {...props}
    >
      <path
        fill="#fcc21b"
        d="M43.48 97.83l5.81-23.67L30.8 58.8l24.11-1.93L64 34.68l9.09 22.19L97.2 58.8 78.71 74.16l5.81 23.67L64 84.85z"
      />
      <g fill="#f79329">
        <path d="M10.66 28.38c2.85 1.66 5.66 3.39 8.55 5 3.96 2.22 7.96 4.54 12.15 6.27 1.47.61 2.65-.45 3.24-1.7.64-1.37-.11-2.3-.74-3.51-1.64-3.13-3.21-6.3-5.09-9.29-1.9-3.04-3.36-6.38-5.6-9.2l-.2-.24c-1.11-1.4-2.49-3.31-4.47-3.15-1.92.16-3.11 1.77-4.48 2.95-2.31 1.98-4.13 4.56-5.65 7.17-.64 1.11-1.36 2.6-.48 3.82.64.86 1.87 1.36 2.77 1.88zM24.01 88.61c-3.2.74-6.43 1.41-9.58 2.41-3.17 1-6.53 1.53-9.61 2.89l-.25.12C3.04 94.7.99 95.5.68 97.32c-.31 1.78.87 3.22 1.61 4.73 1.24 2.55 3.14 4.8 5.14 6.78.86.85 2.03 1.84 3.33 1.32.94-.36 1.68-1.37 2.34-2.05 2.17-2.18 4.4-4.32 6.52-6.54 2.94-3.05 5.96-6.11 8.51-9.48.89-1.19.22-2.5-.78-3.32-1.08-.89-2.1-.43-3.34-.15zM96.64 39.65c4.19-1.74 8.18-4.06 12.15-6.27 2.88-1.61 5.7-3.34 8.56-5 .89-.52 2.13-1.02 2.76-1.89.89-1.22.17-2.7-.48-3.82-1.51-2.61-3.34-5.19-5.65-7.17-1.37-1.18-2.55-2.79-4.48-2.95-1.97-.16-3.36 1.75-4.47 3.15l-.2.24c-2.25 2.83-3.7 6.16-5.61 9.2-1.87 3-3.45 6.16-5.09 9.29-.63 1.22-1.38 2.15-.74 3.51.59 1.26 1.78 2.32 3.25 1.71zM123.44 94.04l-.26-.12c-3.07-1.37-6.43-1.89-9.61-2.89-3.15-1-6.37-1.67-9.58-2.41-1.25-.28-2.27-.74-3.35.16-.99.82-1.67 2.13-.78 3.32 2.55 3.37 5.59 6.43 8.51 9.48 2.13 2.22 4.35 4.36 6.52 6.54.67.69 1.41 1.69 2.35 2.05 1.3.52 2.47-.48 3.33-1.32 2-1.98 3.91-4.23 5.15-6.78.74-1.52 1.91-2.96 1.61-4.73-.32-1.83-2.36-2.63-3.89-3.3z" />
        <path d="M89.46 77.7l26.84-22.29c.86-.71 1.2-1.87.86-2.93a2.763 2.763 0 0 0-2.39-1.91l-35.03-2.79-13.2-32.23a2.754 2.754 0 0 0-2.54-1.7c-1.11 0-2.12.67-2.54 1.7l-13.2 32.23-35.03 2.79c-1.12.09-2.05.84-2.39 1.91-.34 1.07 0 2.22.86 2.93L38.55 77.7l-8.44 34.37c-.26 1.08.16 2.22 1.06 2.88.91.65 2.13.69 3.07.09L64 96.2l29.76 18.83c.94.59 2.16.56 3.07-.09.9-.65 1.33-1.79 1.06-2.88L89.46 77.7zM43.48 97.83l5.82-23.67L30.8 58.8l24.11-1.93L64 34.68l9.09 22.19L97.2 58.8 78.71 74.16l5.81 23.67L64 84.85 43.48 97.83z" />
      </g>
    </svg>
  );
}
