import React from 'react';
import cx from 'classnames';
import type { IconProps } from '../types';

export const DistributionAppIcon: React.FC<IconProps> = ({
    className,
    testId = 'DistributionAppIcon',
    size,
}) => (
    <svg
        data-testid={testId}
        className={cx('Icon AppIcon DistributionAppIcon', className)}
        xmlns="http://www.w3.org/2000/svg"
        width={size}
        height={size}
        fill="none"
        viewBox="0 0 48 48"
    >
        <path
            fill="url(#DistributionAppIconGradient)"
            d="M14.047 9C9.197 12.225 6 17.74 6 24c0 .676.037 1.343.11 2H11a2 2 0 002-2v-3a2 2 0 012-2h8a2 2 0 100-4h-4a2 2 0 01-2-2v-2a2 2 0 00-2-2h-.953z"
        />
        <path
            fill="url(#DistributionAppIconGradient)"
            d="M19.145 6.662A5.983 5.983 0 0121 11h2a6 6 0 010 12h-6v1a6 6 0 01-6 6H7.024C9.495 36.991 16.163 42 24 42c2.351 0 4.597-.45 6.655-1.27a5.956 5.956 0 01-.572-1.73H27a6 6 0 010-12h14.751A18.12 18.12 0 0042 24c0-9.941-8.059-18-18-18-1.682 0-3.31.23-4.855.662z"
        />
        <path
            fill="url(#DistributionAppIconGradient)"
            d="M27 31h13.588a18.066 18.066 0 01-6.402 7.843A1.993 1.993 0 0134 38v-1a2 2 0 00-2-2h-5a2 2 0 110-4z"
        />
        <defs>
            <linearGradient
                id="DistributionAppIconGradient"
                x1="6"
                x2="35.436"
                y1="6"
                y2="46.742"
                gradientUnits="userSpaceOnUse"
            >
                <stop stopColor="var(--app-icon-gradient-color-0)" />
                <stop offset="1" stopColor="var(--app-icon-gradient-color-1)" />
            </linearGradient>
        </defs>
    </svg>
);
