import { useIcon } from 'hooks';
import React, { useMemo } from 'react';
import Svg, { Path } from 'react-native-svg';
import { IconProps } from '../types';

export const Animal: React.FC<IconProps> = ({ colorVariant = 'body', ...props }) => {
  const { getIconColor } = useIcon();
  const color = useMemo(() => getIconColor(colorVariant), [getIconColor, colorVariant]);

  return (
    <Svg width="20" height="20" viewBox="0 0 21 20" fill="none" {...props}>
      <Path
        fillRule="evenodd"
        clipRule="evenodd"
        d="M6.57341 7.20501C6.79448 6.82932 7.20319 6.5978 7.64558 6.59766C8.32946 6.59743 8.88404 7.14078 8.88427 7.81125C8.8845 8.48172 8.33029 9.02543 7.6464 9.02565C7.20401 9.02579 6.79514 8.79454 6.57382 8.419C6.35249 8.04346 6.35234 7.58069 6.57341 7.20501ZM12.1841 7.81206C12.1839 7.14159 12.7381 6.59788 13.422 6.59766C14.1059 6.59743 14.6605 7.14078 14.6607 7.81125C14.6609 8.48172 14.1067 9.02543 13.4228 9.02565C12.7389 9.02587 12.1844 8.48253 12.1841 7.81206Z"
        fill={color}
      />
      <Path
        fillRule="evenodd"
        clipRule="evenodd"
        d="M16.2557 0.126953H16.2334C15.4329 0.126953 14.469 0.763685 13.7428 1.33812C12.6915 1.03553 11.5873 0.925497 10.5351 0.925497C9.47467 0.925497 8.37627 1.0331 7.33811 1.34378C6.61025 0.766112 5.63976 0.126953 4.83433 0.126953H4.81205C3.39758 0.126953 0.689134 2.28715 0.633017 5.81142C0.600833 7.81708 0.860784 9.24022 1.49127 9.86724C1.70088 10.076 2.21913 10.415 2.55996 10.5808C2.71758 13.1512 3.32083 14.8187 4.65277 15.7427C5.39302 16.258 6.45758 16.5104 7.29355 16.6342L7.28106 16.7057C7.25718 16.841 7.23331 16.9762 7.23331 17.1172C7.23331 18.5517 9.17263 19.5444 10.5343 19.5444C11.8943 19.5444 13.8352 18.5517 13.8352 17.1172C13.8352 16.9701 13.8096 16.829 13.7839 16.6878L13.7758 16.6431C15.8992 16.3316 18.261 15.1245 18.6654 10.5048C18.9922 10.3268 19.3974 10.0452 19.5765 9.86724C20.2061 9.24103 20.4669 7.81708 20.4347 5.81142C20.3786 2.28715 17.6693 0.126953 16.2557 0.126953ZM3.29133 7.5185C3.09574 7.74585 2.6006 8.45297 2.56181 8.52012C2.43803 8.1884 2.25812 7.42869 2.28371 5.8575C2.32579 3.20297 4.32866 1.83484 4.83453 1.78711C5.04579 1.79925 5.43778 2.00556 5.87846 2.30976C4.96244 3.25717 4.00104 4.66818 3.93749 6.4562C3.82807 6.89661 3.61037 7.14885 3.29421 7.51516L3.29133 7.5185ZM8.88379 17.1164C8.92175 17.3648 9.79073 17.9255 10.5343 17.9255C11.2778 17.9255 12.1468 17.3648 12.1848 17.1164C12.1848 16.5865 11.7919 16.1156 11.3595 15.8203V16.3074C11.3595 16.7542 10.99 17.1164 10.5343 17.1164C10.0785 17.1164 9.70903 16.7542 9.70903 16.3074V15.8203C9.27578 16.1164 8.88379 16.5873 8.88379 17.1164ZM13.0102 15.1113V15.1275C12.7139 14.7959 12.3616 14.5168 11.9688 14.3023C12.87 13.8848 13.8165 13.223 13.8165 12.5086C13.8165 11.0183 12.3468 10.7327 10.5345 10.7327C8.72229 10.7327 7.25171 11.0191 7.25171 12.5086C7.25171 13.223 8.19908 13.8848 9.0986 14.3023C8.70684 14.5173 8.35523 14.7961 8.05879 15.1267V15.1065C7.23355 15.045 6.25811 14.8791 5.60535 14.4252C4.53171 13.6809 4.08855 11.9616 4.07617 9.18414L4.09515 9.15097C4.2186 8.94941 4.37944 8.76272 4.55099 8.5636C4.94823 8.1025 5.40292 7.57472 5.58389 6.64126C5.58389 4.98511 6.70374 3.70355 7.53311 2.98268C8.36413 2.6987 9.34205 2.55469 10.4916 2.55469C11.6857 2.55469 12.7074 2.71003 13.5722 3.01585C14.3975 3.74401 15.4835 5.01019 15.4835 6.64045C15.6638 7.57296 16.118 8.10052 16.5151 8.56171L16.5151 8.56173C16.6868 8.76115 16.8478 8.94817 16.9714 9.15016C17.0003 9.19708 17.0275 9.24482 17.0556 9.29417C17.0069 14.1218 15.4472 14.9657 13.0102 15.1113ZM18.4796 8.47463L18.4797 8.47481C18.4987 8.46106 18.8073 7.3219 18.785 5.8575C18.7421 3.21429 16.7549 1.84455 16.2301 1.78711C16.018 1.80086 15.6277 2.00637 15.1895 2.31057C16.1071 3.25717 17.0685 4.66899 17.1312 6.4562C17.2418 6.89714 17.4589 7.15038 17.7766 7.5185C18.0016 7.76802 18.2056 8.03508 18.3864 8.31705C18.4186 8.36957 18.4491 8.4221 18.4796 8.47463Z"
        fill={color}
      />
    </Svg>
  );
};
