forked from
jollywhoppers.com/witchsky.app
Bluesky app fork with some witchin' additions 馃挮
1import React from 'react'
2import Svg, {Path} from 'react-native-svg'
3
4import {type Props, useCommonSVGProps} from '#/components/icons/common'
5
6export const IconTemplate_Stroke2_Corner0_Rounded = React.forwardRef(
7 function LogoImpl(props: Props, ref) {
8 const {fill, size, style, ...rest} = useCommonSVGProps(props)
9
10 return (
11 <Svg
12 fill="none"
13 {...rest}
14 // @ts-ignore it's fiiiiine
15 ref={ref}
16 viewBox="0 0 24 24"
17 width={size}
18 height={size}
19 style={[style]}>
20 <Path
21 fill={fill}
22 fillRule="evenodd"
23 clipRule="evenodd"
24 d="M4.062 11h2.961c.103-2.204.545-4.218 1.235-5.77.06-.136.123-.269.188-.399A8.007 8.007 0 0 0 4.062 11ZM12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2Zm0 2c-.227 0-.518.1-.868.432-.354.337-.719.872-1.047 1.61-.561 1.263-.958 2.991-1.06 4.958h5.95c-.102-1.967-.499-3.695-1.06-4.958-.328-.738-.693-1.273-1.047-1.61C12.518 4.099 12.227 4 12 4Zm4.977 7c-.103-2.204-.545-4.218-1.235-5.77a9.78 9.78 0 0 0-.188-.399A8.006 8.006 0 0 1 19.938 11h-2.961Zm-2.003 2H9.026c.101 1.966.498 3.695 1.06 4.958.327.738.692 1.273 1.046 1.61.35.333.641.432.868.432.227 0 .518-.1.868-.432.354-.337.719-.872 1.047-1.61.561-1.263.958-2.991 1.06-4.958Zm.58 6.169c.065-.13.128-.263.188-.399.69-1.552 1.132-3.566 1.235-5.77h2.961a8.006 8.006 0 0 1-4.384 6.169Zm-7.108 0a9.877 9.877 0 0 1-.188-.399c-.69-1.552-1.132-3.566-1.235-5.77H4.062a8.006 8.006 0 0 0 4.384 6.169Z"
25 />
26 </Svg>
27 )
28 },
29)
30
31export function createSinglePathSVG({
32 path,
33 viewBox,
34 strokeWidth = 0,
35 strokeLinecap = 'butt',
36 strokeLinejoin = 'miter',
37}: {
38 path: string
39 viewBox?: string
40 strokeWidth?: number
41 strokeLinecap?: 'butt' | 'round' | 'square'
42 strokeLinejoin?: 'miter' | 'round' | 'bevel'
43}) {
44 return React.forwardRef<Svg, Props>(function LogoImpl(props, ref) {
45 const {fill, size, style, gradient, ...rest} = useCommonSVGProps(props)
46
47 const hasStroke = strokeWidth > 0
48
49 return (
50 <Svg
51 fill="none"
52 {...rest}
53 ref={ref}
54 viewBox={viewBox || '0 0 24 24'}
55 width={size}
56 height={size}
57 style={[style]}>
58 {gradient}
59 <Path
60 fill={hasStroke ? 'none' : fill}
61 stroke={hasStroke ? fill : 'none'}
62 strokeWidth={strokeWidth}
63 strokeLinecap={strokeLinecap}
64 strokeLinejoin={strokeLinejoin}
65 fillRule="evenodd"
66 clipRule="evenodd"
67 d={path}
68 />
69 </Svg>
70 )
71 })
72}
73
74export function createSinglePathSVG2({path}: {path: string}) {
75 return React.forwardRef<Svg, Props>(function LogoImpl(props, ref) {
76 const {fill, size, style, gradient, ...rest} = useCommonSVGProps(props)
77
78 return (
79 <Svg
80 fill="none"
81 {...rest}
82 ref={ref}
83 viewBox="0 0 24 24"
84 width={size}
85 height={size}
86 style={style}>
87 {gradient}
88 <Path fill={fill} fillRule="evenodd" clipRule="evenodd" d={path} />
89 </Svg>
90 )
91 })
92}
93
94export function createMultiPathSVG({paths}: {paths: string[]}) {
95 return React.forwardRef<Svg, Props>(function LogoImpl(props, ref) {
96 const {fill, size, style, gradient, ...rest} = useCommonSVGProps(props)
97
98 return (
99 <Svg
100 fill="none"
101 {...rest}
102 ref={ref}
103 viewBox="0 0 24 24"
104 width={size}
105 height={size}
106 style={[style]}>
107 {gradient}
108 {paths.map((path, i) => (
109 <Path
110 key={i}
111 fill={fill}
112 fillRule="evenodd"
113 clipRule="evenodd"
114 d={path}
115 />
116 ))}
117 </Svg>
118 )
119 })
120}