jevstrudel.git / website / src / docs / Icon.jsx
Icon.jsx60 lines · 2.4 KB · raw
1export function Icon({ type }) {
2  if (type === 'skip') {
3    // !Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.
4    return (
5      <svg
6        fillRule="evenodd"
7        fill="currentColor"
8        xmlns="http://www.w3.org/2000/svg"
9        height="16"
10        width="10"
11        viewBox="0 0 320 512"
12      >
13        <path d="M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416V96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4l192 160L256 241V96c0-17.7 14.3-32 32-32s32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V271l-11.5 9.6-192 160z" />
14      </svg>
15    );
16  }
17  return (
18    <svg xmlns="http://www.w3.org/2000/svg" className="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
19      {
20        {
21          refresh: (
22            <path
23              fillRule="evenodd"
24              d="M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z"
25              clipRule="evenodd"
26            />
27          ),
28          play: (
29            <path
30              fillRule="evenodd"
31              d="M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z"
32              clipRule="evenodd"
33            />
34          ),
35          pause: (
36            <path
37              fillRule="evenodd"
38              d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zM7 8a1 1 0 012 0v4a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v4a1 1 0 102 0V8a1 1 0 00-1-1z"
39              clipRule="evenodd"
40            />
41          ),
42          stop: (
43            <path
44              fillRule="evenodd"
45              d="M2 10a8 8 0 1116 0 8 8 0 01-16 0zm5-2.25A.75.75 0 017.75 7h4.5a.75.75 0 01.75.75v4.5a.75.75 0 01-.75.75h-4.5a.75.75 0 01-.75-.75v-4.5z"
46              clipRule="evenodd"
47            />
48          ),
49          skip: (
50            <path
51              fillRule="evenodd"
52              d="M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416V96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4l192 160L256 241V96c0-17.7 14.3-32 32-32s32 14.3 32 32V416c0 17.7-14.3 32-32 32s-32-14.3-32-32V271l-11.5 9.6-192 160z"
53              clipRule="evenodd"
54            />
55          ),
56        }[type]
57      }
58    </svg>
59  );
60}