Write on the margins of the internet. Powered by the AT Protocol. margin.at
extension web atproto comments
at main 599 lines 35 kB view raw
1import React from "react"; 2import { FaGithub, FaLinkedin } from "react-icons/fa"; 3 4interface IconProps { 5 size?: number; 6 color?: string; 7 filled?: boolean; 8} 9 10export function HeartIcon({ filled = false, size = 18 }: IconProps) { 11 return filled ? ( 12 <svg 13 width={size} 14 height={size} 15 viewBox="0 0 24 24" 16 fill="currentColor" 17 stroke="none" 18 > 19 <path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" /> 20 </svg> 21 ) : ( 22 <svg 23 width={size} 24 height={size} 25 viewBox="0 0 24 24" 26 fill="none" 27 stroke="currentColor" 28 strokeWidth="2" 29 strokeLinecap="round" 30 strokeLinejoin="round" 31 > 32 <path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z" /> 33 </svg> 34 ); 35} 36 37export function MessageIcon({ size = 18 }: IconProps) { 38 return ( 39 <svg 40 width={size} 41 height={size} 42 viewBox="0 0 24 24" 43 fill="none" 44 stroke="currentColor" 45 strokeWidth="2" 46 strokeLinecap="round" 47 strokeLinejoin="round" 48 > 49 <path d="m3 21 1.9-5.7a8.5 8.5 0 1 1 3.8 3.8z" /> 50 </svg> 51 ); 52} 53 54export function ShareIcon({ size = 18 }: IconProps) { 55 return ( 56 <svg 57 width={size} 58 height={size} 59 viewBox="0 0 24 24" 60 fill="none" 61 stroke="currentColor" 62 strokeWidth="2" 63 strokeLinecap="round" 64 strokeLinejoin="round" 65 > 66 <path d="M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8" /> 67 <polyline points="16 6 12 2 8 6" /> 68 <line x1="12" x2="12" y1="2" y2="15" /> 69 </svg> 70 ); 71} 72 73export function TrashIcon({ size = 18 }: IconProps) { 74 return ( 75 <svg 76 width={size} 77 height={size} 78 viewBox="0 0 24 24" 79 fill="none" 80 stroke="currentColor" 81 strokeWidth="2" 82 strokeLinecap="round" 83 strokeLinejoin="round" 84 > 85 <path d="M3 6h18" /> 86 <path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6" /> 87 <path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2" /> 88 </svg> 89 ); 90} 91 92export function LinkIcon({ size = 18 }: IconProps) { 93 return ( 94 <svg 95 width={size} 96 height={size} 97 viewBox="0 0 24 24" 98 fill="none" 99 stroke="currentColor" 100 strokeWidth="2" 101 strokeLinecap="round" 102 strokeLinejoin="round" 103 > 104 <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" /> 105 <path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" /> 106 </svg> 107 ); 108} 109 110export function ExternalLinkIcon({ size = 14 }: IconProps) { 111 return ( 112 <svg 113 width={size} 114 height={size} 115 viewBox="0 0 24 24" 116 fill="none" 117 stroke="currentColor" 118 strokeWidth="2" 119 strokeLinecap="round" 120 strokeLinejoin="round" 121 > 122 <path d="M15 3h6v6" /> 123 <path d="M10 14 21 3" /> 124 <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" /> 125 </svg> 126 ); 127} 128 129export function PenIcon({ size = 18 }: IconProps) { 130 return ( 131 <svg 132 width={size} 133 height={size} 134 viewBox="0 0 24 24" 135 fill="none" 136 stroke="currentColor" 137 strokeWidth="2" 138 strokeLinecap="round" 139 strokeLinejoin="round" 140 > 141 <path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z" /> 142 </svg> 143 ); 144} 145 146export function HighlightIcon({ size = 18 }: IconProps) { 147 return ( 148 <svg 149 width={size} 150 height={size} 151 viewBox="0 0 24 24" 152 fill="none" 153 stroke="currentColor" 154 strokeWidth="2" 155 strokeLinecap="round" 156 strokeLinejoin="round" 157 > 158 <path d="m9 11-6 6v3h9l3-3" /> 159 <path d="m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4" /> 160 </svg> 161 ); 162} 163 164export function BookmarkIcon({ size = 18 }: IconProps) { 165 return ( 166 <svg 167 width={size} 168 height={size} 169 viewBox="0 0 24 24" 170 fill="none" 171 stroke="currentColor" 172 strokeWidth="2" 173 strokeLinecap="round" 174 strokeLinejoin="round" 175 > 176 <path d="m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z" /> 177 </svg> 178 ); 179} 180 181export function TagIcon({ size = 18 }: IconProps) { 182 return ( 183 <svg 184 width={size} 185 height={size} 186 viewBox="0 0 24 24" 187 fill="none" 188 stroke="currentColor" 189 strokeWidth="2" 190 strokeLinecap="round" 191 strokeLinejoin="round" 192 > 193 <path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z" /> 194 <circle cx="7.5" cy="7.5" r=".5" fill="currentColor" /> 195 </svg> 196 ); 197} 198 199export function AlertIcon({ size = 18 }: IconProps) { 200 return ( 201 <svg 202 width={size} 203 height={size} 204 viewBox="0 0 24 24" 205 fill="none" 206 stroke="currentColor" 207 strokeWidth="2" 208 strokeLinecap="round" 209 strokeLinejoin="round" 210 > 211 <circle cx="12" cy="12" r="10" /> 212 <line x1="12" x2="12" y1="8" y2="12" /> 213 <line x1="12" x2="12.01" y1="16" y2="16" /> 214 </svg> 215 ); 216} 217 218export function FileTextIcon({ size = 18 }: IconProps) { 219 return ( 220 <svg 221 width={size} 222 height={size} 223 viewBox="0 0 24 24" 224 fill="none" 225 stroke="currentColor" 226 strokeWidth="2" 227 strokeLinecap="round" 228 strokeLinejoin="round" 229 > 230 <path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" /> 231 <path d="M14 2v4a2 2 0 0 0 2 2h4" /> 232 <path d="M10 9H8" /> 233 <path d="M16 13H8" /> 234 <path d="M16 17H8" /> 235 </svg> 236 ); 237} 238 239export function SearchIcon({ size = 18 }: IconProps) { 240 return ( 241 <svg 242 width={size} 243 height={size} 244 viewBox="0 0 24 24" 245 fill="none" 246 stroke="currentColor" 247 strokeWidth="2" 248 strokeLinecap="round" 249 strokeLinejoin="round" 250 > 251 <circle cx="11" cy="11" r="8" /> 252 <path d="m21 21-4.3-4.3" /> 253 </svg> 254 ); 255} 256 257export function InboxIcon({ size = 18 }: IconProps) { 258 return ( 259 <svg 260 width={size} 261 height={size} 262 viewBox="0 0 24 24" 263 fill="none" 264 stroke="currentColor" 265 strokeWidth="2" 266 strokeLinecap="round" 267 strokeLinejoin="round" 268 > 269 <polyline points="22 12 16 12 14 15 10 15 8 12 2 12" /> 270 <path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z" /> 271 </svg> 272 ); 273} 274 275export function BlueskyIcon({ size = 18, color = "currentColor" }: IconProps) { 276 return ( 277 <svg 278 xmlns="http://www.w3.org/2000/svg" 279 viewBox="0 0 512 512" 280 width={size} 281 height={size} 282 > 283 <path 284 fill={color} 285 d="M111.8 62.2C170.2 105.9 233 194.7 256 242.4c23-47.6 85.8-136.4 144.2-180.2c42.1-31.6 110.3-56 110.3 21.8c0 15.5-8.9 130.5-14.1 149.2C478.2 298 412 314.6 353.1 304.5c102.9 17.5 129.1 75.5 72.5 133.5c-107.4 110.2-154.3-27.6-166.3-62.9l0 0c-1.7-4.9-2.6-7.8-3.3-7.8s-1.6 3-3.3 7.8l0 0c-12 35.3-59 173.1-166.3 62.9c-56.5-58-30.4-116 72.5-133.5C100 314.6 33.8 298 15.7 233.1C10.4 214.4 1.5 99.4 1.5 83.9c0-77.8 68.2-53.4 110.3-21.8z" 286 /> 287 </svg> 288 ); 289} 290 291export function MarginIcon({ size = 18 }: IconProps) { 292 return ( 293 <svg 294 width={size} 295 height={size} 296 viewBox="0 0 265 231" 297 fill="currentColor" 298 xmlns="http://www.w3.org/2000/svg" 299 > 300 <path d="M0 230 V0 H199 V65.7156 H149.5 V115.216 H182.5 L199 131.716 V230 Z" /> 301 <path d="M215 214.224 V230 H264.5 V0 H215.07 V16.2242 H248.5 V214.224 H215 Z" /> 302 </svg> 303 ); 304} 305 306export function LogoutIcon({ size = 18 }: IconProps) { 307 return ( 308 <svg 309 width={size} 310 height={size} 311 viewBox="0 0 24 24" 312 fill="none" 313 stroke="currentColor" 314 strokeWidth="2" 315 strokeLinecap="round" 316 strokeLinejoin="round" 317 > 318 <path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" /> 319 <polyline points="16 17 21 12 16 7" /> 320 <line x1="21" x2="9" y1="12" y2="12" /> 321 </svg> 322 ); 323} 324 325export function BellIcon({ size = 18 }: IconProps) { 326 return ( 327 <svg 328 width={size} 329 height={size} 330 viewBox="0 0 24 24" 331 fill="none" 332 stroke="currentColor" 333 strokeWidth="2" 334 strokeLinecap="round" 335 strokeLinejoin="round" 336 > 337 <path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9" /> 338 <path d="M10.3 21a1.94 1.94 0 0 0 3.4 0" /> 339 </svg> 340 ); 341} 342 343export function ReplyIcon({ size = 18 }: IconProps) { 344 return ( 345 <svg 346 width={size} 347 height={size} 348 viewBox="0 0 24 24" 349 fill="none" 350 stroke="currentColor" 351 strokeWidth="2" 352 strokeLinecap="round" 353 strokeLinejoin="round" 354 > 355 <polyline points="9 17 4 12 9 7" /> 356 <path d="M20 18v-2a4 4 0 0 0-4-4H4" /> 357 </svg> 358 ); 359} 360 361export function AturiIcon({ size = 18 }: IconProps) { 362 return ( 363 <svg 364 width={size} 365 height={size} 366 viewBox="0 0 24 24" 367 fill="none" 368 stroke="currentColor" 369 strokeWidth="2" 370 strokeLinecap="round" 371 strokeLinejoin="round" 372 > 373 <path d="M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z" /> 374 <path d="M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12" /> 375 </svg> 376 ); 377} 378 379export function BlackskyIcon({ size = 18 }: IconProps) { 380 return ( 381 <svg viewBox="0 0 285 285" width={size} height={size}> 382 <path 383 fill="currentColor" 384 d="M148.846 144.562C148.846 159.75 161.158 172.062 176.346 172.062H207.012V185.865H176.346C161.158 185.865 148.846 198.177 148.846 213.365V243.045H136.029V213.365C136.029 198.177 123.717 185.865 108.529 185.865H77.8633V172.062H108.529C123.717 172.062 136.029 159.75 136.029 144.562V113.896H148.846V144.562Z" 385 /> 386 <path 387 fill="currentColor" 388 d="M170.946 31.8766C160.207 42.616 160.207 60.0281 170.946 70.7675L192.631 92.4516L182.871 102.212L161.186 80.5275C150.447 69.7881 133.035 69.7881 122.296 80.5275L101.309 101.514L92.2456 92.4509L113.232 71.4642C123.972 60.7248 123.972 43.3128 113.232 32.5733L91.5488 10.8899L101.309 1.12988L122.993 22.814C133.732 33.5533 151.144 33.5534 161.884 22.814L183.568 1.12988L192.631 10.1925L170.946 31.8766Z" 389 /> 390 <path 391 fill="currentColor" 392 d="M79.0525 75.3259C75.1216 89.9962 83.8276 105.076 98.498 109.006L128.119 116.943L124.547 130.275L94.9267 122.338C80.2564 118.407 65.1772 127.113 61.2463 141.784L53.5643 170.453L41.1837 167.136L48.8654 138.467C52.7963 123.797 44.0902 108.718 29.4199 104.787L-0.201172 96.8497L3.37124 83.5173L32.9923 91.4542C47.6626 95.3851 62.7419 86.679 66.6728 72.0088L74.6098 42.3877L86.9895 45.7048L79.0525 75.3259Z" 393 /> 394 <path 395 fill="currentColor" 396 d="M218.413 71.4229C222.344 86.093 237.423 94.7992 252.094 90.8683L281.715 82.9313L285.287 96.2628L255.666 104.2C240.995 108.131 232.29 123.21 236.22 137.88L243.902 166.55L231.522 169.867L223.841 141.198C219.91 126.528 204.831 117.822 190.16 121.753L160.539 129.69L156.967 116.357L186.588 108.42C201.258 104.49 209.964 89.4103 206.033 74.74L198.096 45.1189L210.476 41.8018L218.413 71.4229Z" 397 /> 398 </svg> 399 ); 400} 401 402export function NorthskyIcon({ size = 18 }: IconProps) { 403 return ( 404 <svg viewBox="0 0 1024 1024" width={size} height={size}> 405 <defs> 406 <linearGradient 407 id="north_a" 408 x1="564.17" 409 y1="22.4" 410 x2="374.54" 411 y2="1187.29" 412 gradientUnits="userSpaceOnUse" 413 gradientTransform="matrix(1 0 0 1.03 31.9 91.01)" 414 > 415 <stop offset="0" stopColor="#2affba" /> 416 <stop offset="0.02" stopColor="#31f4bd" /> 417 <stop offset="0.14" stopColor="#53bccc" /> 418 <stop offset="0.25" stopColor="#718ada" /> 419 <stop offset="0.37" stopColor="#8a5fe5" /> 420 <stop offset="0.49" stopColor="#9f3def" /> 421 <stop offset="0.61" stopColor="#af22f6" /> 422 <stop offset="0.74" stopColor="#bb0ffb" /> 423 <stop offset="0.87" stopColor="#c204fe" /> 424 <stop offset="1" stopColor="#c400ff" /> 425 </linearGradient> 426 <linearGradient 427 id="north_b" 428 x1="554.29" 429 y1="20.79" 430 x2="364.65" 431 y2="1185.68" 432 xlinkHref="#north_a" 433 /> 434 <linearGradient 435 id="north_c" 436 x1="561.1" 437 y1="21.9" 438 x2="371.47" 439 y2="1186.79" 440 xlinkHref="#north_a" 441 /> 442 <linearGradient 443 id="north_d" 444 x1="530.57" 445 y1="16.93" 446 x2="340.93" 447 y2="1181.82" 448 xlinkHref="#north_a" 449 /> 450 </defs> 451 <path 452 d="m275.87 880.64 272-184.16 120.79 114 78.55-56.88 184.6 125.1a485.5 485.5 0 0 0 55.81-138.27c-64.41-21.42-127-48.15-185.92-73.32-97-41.44-188.51-80.52-253.69-80.52-59.57 0-71.53 18.85-89.12 55-16.89 34.55-37.84 77.6-139.69 77.6-81.26 0-159.95-29.93-243.27-61.61-17.07-6.5-34.57-13.14-52.49-19.69A486.06 486.06 0 0 0 95.19 884l91.29-62.16Z" 453 fill="url(#north_a)" 454 /> 455 <path 456 d="M295.26 506.52c53.69 0 64.49-17.36 80.41-50.63 15.46-32.33 34.7-72.56 128.36-72.56 75 0 154.6 33.2 246.78 71.64 74.85 31.21 156.89 65.34 241 81.63a485.6 485.6 0 0 0-64.23-164.85c-108.88-6-201.82-43.35-284.6-76.69-66.77-26.89-129.69-52.22-182.84-52.22-46.88 0-56.43 15.74-70.55 45.89-13.41 28.65-31.79 67.87-118.24 67.87-44.25 0-90.68-13.48-141-33.11A488.3 488.3 0 0 0 62.86 435.7c8.3 3.38 16.55 6.74 24.68 10.08 76.34 31.22 148.3 60.74 207.72 60.74" 457 fill="url(#north_b)" 458 /> 459 <path 460 d="M319.2 687.81c61.24 0 73.38-19.09 91.18-55.66 16.7-34.28 37.48-76.95 137.58-76.95 81.4 0 174.78 39.89 282.9 86.09 52.19 22.29 107.38 45.84 163.42 65.43a483 483 0 0 0 2.72-136.5C898.41 554.4 806 516 722.27 481.05c-81.88-34.14-159.08-66.33-218.27-66.33-53.25 0-64 17.29-79.84 50.42-15.51 32.42-34.8 72.77-128.93 72.77-75.08 0-153.29-32-236.08-66l-8.91-3.64A487 487 0 0 0 24 601.68c27.31 9.55 53.55 19.52 79 29.19 80.24 30.55 149.61 56.94 216.2 56.94" 461 fill="url(#north_c)" 462 /> 463 <path 464 d="M341 279.65c13.49-28.78 31.95-68.19 119.16-68.19 68.59 0 137.73 27.84 210.92 57.32 70.14 28.22 148.13 59.58 233.72 69.37C815.77 218 673 140 511.88 140c-141.15 0-268.24 59.92-357.45 155.62 44 17.32 84.15 29.6 116.89 29.6 46.24 0 55.22-14.79 69.68-45.57" 465 fill="url(#north_d)" 466 /> 467 </svg> 468 ); 469} 470 471export function TophhieIcon({ size = 18 }: IconProps) { 472 return ( 473 <svg 474 width={size} 475 height={size} 476 viewBox="0 0 344 538" 477 fill="none" 478 xmlns="http://www.w3.org/2000/svg" 479 > 480 <ellipse cx="268.5" cy="455.5" rx="34.5" ry="35.5" fill="currentColor" /> 481 <ellipse cx="76" cy="75.5" rx="35" ry="35.5" fill="currentColor" /> 482 <circle cx="268.5" cy="75.5" r="75.5" fill="currentColor" /> 483 <ellipse cx="76" cy="274.5" rx="76" ry="75.5" fill="currentColor" /> 484 <ellipse cx="76" cy="462.5" rx="76" ry="75.5" fill="currentColor" /> 485 <circle cx="268.5" cy="269.5" r="75.5" fill="currentColor" /> 486 </svg> 487 ); 488} 489 490export function GithubIcon({ size = 18 }: IconProps) { 491 return <FaGithub size={size} />; 492} 493 494export function LinkedinIcon({ size = 18 }: IconProps) { 495 return <FaLinkedin size={size} />; 496} 497 498export function WitchskyIcon({ size = 18 }: IconProps) { 499 return ( 500 <svg fill="none" viewBox="0 0 512 512" width={size} height={size}> 501 <path 502 fill="#ee5346" 503 d="M374.473 57.7173C367.666 50.7995 357.119 49.1209 348.441 53.1659C347.173 53.7567 342.223 56.0864 334.796 59.8613C326.32 64.1696 314.568 70.3869 301.394 78.0596C275.444 93.1728 242.399 114.83 218.408 139.477C185.983 172.786 158.719 225.503 140.029 267.661C130.506 289.144 122.878 308.661 117.629 322.81C116.301 326.389 115.124 329.63 114.104 332.478C87.1783 336.42 64.534 341.641 47.5078 348.101C37.6493 351.84 28.3222 356.491 21.0573 362.538C13.8818 368.511 6.00003 378.262 6.00003 391.822C6.00014 403.222 11.8738 411.777 17.4566 417.235C23.0009 422.655 29.9593 426.793 36.871 430.062C50.8097 436.653 69.5275 441.988 90.8362 446.249C133.828 454.846 192.21 460 256.001 460C319.79 460 378.172 454.846 421.164 446.249C442.472 441.988 461.19 436.653 475.129 430.062C482.041 426.793 488.999 422.655 494.543 417.235C500.039 411.862 505.817 403.489 505.996 392.353L506 391.822L505.995 391.188C505.754 377.959 498.012 368.417 490.945 362.534C483.679 356.485 474.35 351.835 464.491 348.095C446.749 341.366 422.906 335.982 394.476 331.987C393.6 330.57 392.633 328.995 391.595 327.273C386.477 318.777 379.633 306.842 372.737 293.115C358.503 264.781 345.757 232.098 344.756 206.636C343.87 184.121 351.638 154.087 360.819 127.789C365.27 115.041 369.795 103.877 373.207 95.9072C374.909 91.9309 376.325 88.7712 377.302 86.6328C377.79 85.5645 378.167 84.7524 378.416 84.2224C378.54 83.9579 378.632 83.7635 378.69 83.643C378.718 83.5829 378.739 83.5411 378.75 83.5181C378.753 83.5108 378.756 83.5049 378.757 83.5015C382.909 74.8634 381.196 64.5488 374.473 57.7173Z" 504 /> 505 </svg> 506 ); 507} 508 509export function CatskyIcon({ size = 18 }: IconProps) { 510 return ( 511 <svg 512 fill="none" 513 viewBox="0 0 67.733328 67.733329" 514 width={size} 515 height={size} 516 > 517 <path 518 fill="#cba7f7" 519 d="m 7.4595521,49.230487 -1.826355,1.186314 -0.00581,0.0064 c -0.6050542,0.41651 -1.129182,0.831427 -1.5159445,1.197382 -0.193382,0.182977 -0.3509469,0.347606 -0.4862911,0.535791 -0.067671,0.0941 -0.1322972,0.188188 -0.1933507,0.352343 -0.061048,0.164157 -0.1411268,0.500074 0.025624,0.844456 l 0.099589,0.200339 c 0.1666616,0.344173 0.4472046,0.428734 0.5969419,0.447854 0.1497358,0.01912 0.2507411,0.0024 0.352923,-0.02039 0.204367,-0.04555 0.4017284,-0.126033 0.6313049,-0.234117 0.4549828,-0.214229 1.0166476,-0.545006 1.6155328,-0.956275 l 0.014617,-0.01049 2.0855152,-1.357536 C 8.3399261,50.711052 7.8735929,49.979321 7.4596148,49.230532 Z" 520 /> 521 <path 522 fill="#cba7f7" 523 d="m 60.225246,49.199041 c -0.421632,0.744138 -0.895843,1.47112 -1.418104,2.178115 l 2.170542,1.413443 c 0.598885,0.411268 1.160549,0.742047 1.615532,0.956276 0.229578,0.108104 0.426937,0.188564 0.631304,0.234116 0.102186,0.02278 0.2061,0.03951 0.355838,0.02039 0.148897,-0.01901 0.427619,-0.104957 0.594612,-0.444358 l 0.0029,-0.0035 0.09667,-0.20034 h 0.0029 c 0.166756,-0.34438 0.08667,-0.680303 0.02562,-0.844455 -0.06104,-0.164158 -0.125675,-0.258251 -0.193352,-0.352343 -0.135356,-0.188186 -0.293491,-0.352814 -0.486873,-0.535792 -0.386891,-0.366 -0.911016,-0.780916 -1.516073,-1.197426 l -0.0082,-0.007 z" 524 /> 525 <path 526 fill="#cba7f7" 527 d="m 62.374822,42.996075 c -0.123437,0.919418 -0.330922,1.827482 -0.614997,2.71973 h 2.864745 c 0.698786,0 1.328766,-0.04848 1.817036,-0.1351 0.244137,-0.04331 0.449793,-0.09051 0.645864,-0.172979 0.09803,-0.04122 0.194035,-0.08458 0.315651,-0.190439 0.121618,-0.105868 0.330211,-0.348705 0.330211,-0.746032 v -0.233536 c 0,-0.397326 -0.208544,-0.637282 -0.330211,-0.743122 -0.121662,-0.105838 -0.217613,-0.152159 -0.315651,-0.193351 -0.196079,-0.08238 -0.401748,-0.129732 -0.645864,-0.17296 -0.488229,-0.08645 -1.118333,-0.132208 -1.817036,-0.132208 z" 528 /> 529 <path 530 fill="#cba7f7" 531 d="m 3.1074004,42.996075 c -0.6987018,0 -1.3264778,0.04576 -1.8147079,0.132208 -0.2441143,0.04324 -0.44978339,0.09059 -0.64586203,0.17296 -0.0980369,0.04118 -0.19398758,0.08751 -0.31565316,0.193351 C 0.20951466,43.600432 0.0015501,43.84039 0.0015501,44.237717 v 0.233535 c 0,0.397326 0.20800926,0.640175 0.32962721,0.746034 0.12161784,0.105867 0.21761904,0.149206 0.31565316,0.190437 0.19606972,0.08246 0.40172683,0.129657 0.64586203,0.172979 0.4882704,0.08663 1.1159226,0.1351 1.8147079,0.1351 H 5.9517617 C 5.6756425,44.822849 5.4740706,43.914705 5.3542351,42.996072 Z" 532 /> 533 <path 534 fill="#cba7f7" 535 d="m 64.667084,33.5073 c -0.430203,0 -0.690808,0.160181 -1.103618,0.372726 -0.41281,0.212535 -0.895004,0.507161 -1.40529,0.858434 l -0.84038,0.578305 c 0.360074,0.820951 0.644317,1.675211 0.844456,2.560741 l 1.136813,-0.78214 c 0.605058,-0.41651 1.12918,-0.834919 1.515944,-1.200875 0.193382,-0.182976 0.350947,-0.347609 0.486291,-0.535795 0.06767,-0.0941 0.132313,-0.188185 0.193351,-0.352341 0.06104,-0.164157 0.141126,-0.497171 -0.02562,-0.841544 L 65.369444,33.96156 C 65.163418,33.537073 64.829889,33.5073 64.669999,33.5073 Z" 536 /> 537 <path 538 fill="#cba7f7" 539 d="m 3.0648864,33.5073 c -0.1600423,3.64e-4 -0.4969719,0.0355 -0.7000249,0.45426 l -0.099589,0.203251 c -0.16676,0.344375 -0.089013,0.677388 -0.027951,0.841544 0.061047,0.164157 0.1285982,0.258248 0.1962636,0.352341 0.1353547,0.188186 0.2899962,0.352819 0.4833782,0.535795 0.386764,0.9138003,0.784365 1.518856,1.200875 l 1.1478766,0.78971 c 0.2068,-0.879769 0.5000939,-1.727856 0.8706646,-2.542104 v -5.81e-4 L 5.5761273,34.73846 C 5.065553,34.38699 4.5814871,34.09259 4.1685053,33.880026 3.7555236,33.667462 3.4962107,33.506322 3.0648893,33.5073 Z" 540 /> 541 <path 542 fill="#cba7f7" 543 d="m 34.206496,25.930929 c -7.358038,0 -14.087814,1.669555 -18.851571,4.452678 -4.763758,2.783122 -7.4049994,6.472247 -7.4049994,10.665932 0,4.229683 2.6374854,8.946766 7.2694834,12.60017 4.631996,3.653402 11.153152,6.176813 18.420538,6.176813 7.267388,0 13.908863,-2.52485 18.657979,-6.185354 4.749117,-3.660501 7.485285,-8.390746 7.485285,-12.591629 0,-4.236884 -2.494219,-7.904081 -7.079874,-10.67732 -4.585655,-2.773237 -11.1388,-4.44129 -18.496841,-4.44129 z" 544 /> 545 <path 546 fill="#cba7f7" 547 d="m 51.797573,6.1189692 c -0.02945,-7.175e-4 -0.05836,4.17e-5 -0.08736,5.831e-4 -0.143066,0.00254 -0.278681,0.00746 -0.419898,0.094338 -0.483586,0.2975835 -0.980437,0.9277726 -1.446058,1.5345809 -1.170891,1.5259255 -2.372514,3.8701448 -4.229269,7.0095668 -0.839492,1.419423 -2.308256,4.55051 -3.891486,8.089307 4.831393,0.745951 9.148869,2.222975 12.643546,4.336427 2.130458,1.288425 3.976812,2.848736 5.416167,4.643344 C 58.614334,27.483611 57.260351,22.206768 56.421696,19.015263 55.149066,14.172268 54.241403,10.340754 53.185389,8.0524745 52.815225,7.2503647 52.052073,6.1836069 51.974407,6.1337905 51.885945,6.1211124 51.79757,6.1189646 Z" 548 /> 549 <path 550 fill="#cba7f7" 551 d="m 15.935563,6.1189692 c -0.08837,0.00223 -0.176832,0.014766 -0.254502,0.064642 -0.48854,0.3133308 -0.763154,1.0667562 -1.13332,1.8688677 -1.056011,2.2882791 -1.963673,6.1197931 -3.236303,10.9627891 -0.85539,3.255187 -2.247014,8.680054 -3.4314032,13.071013 1.5346704,-1.910372 3.5390122,-3.56005 5.8517882,-4.91124 3.456591,-2.019439 7.668347,-3.458497 12.320324,-4.231015 C 24.452511,19.365796 22.96466,16.190327 22.117564,14.758042 20.260808,11.61862 19.059771,9.2744012 17.888878,7.7484762 17.423256,7.1416679 16.926404,6.5114787 16.442819,6.2138951 16.301603,6.127059 16.165987,6.1222115 16.02292,6.1195569 c -0.02901,-5.429e-4 -0.0579,-0.0013 -0.08734,-5.847e-4 z" 552 /> 553 </svg> 554 ); 555} 556 557export function AppleIcon({ size = 18 }: IconProps) { 558 return ( 559 <svg 560 width={size} 561 height={size} 562 viewBox="0 0 24 24" 563 fill="currentColor" 564 xmlns="http://www.w3.org/2000/svg" 565 > 566 <path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.8-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z" /> 567 </svg> 568 ); 569} 570 571export function DeerIcon({ size = 18 }: IconProps) { 572 return ( 573 <svg fill="none" viewBox="0 0 512 512" width={size} height={size}> 574 <path 575 fill="#739f7c" 576 d="m 149.96484,186.56641 46.09766,152.95898 c 0,0 -6.30222,-9.61174 -15.60547,-17.47656 -8.87322,-7.50128 -28.4082,-4.04492 -28.4082,-4.04492 0,0 6.14721,39.88867 15.53125,44.39843 10.71251,5.1482 22.19726,0.16993 22.19726,0.16993 0,0 11.7613,-4.87282 22.82032,31.82421 5.26534,17.47196 15.33258,50.877 20.9707,69.58594 2.16717,7.1913 8.83789,7.25781 8.83789,7.25781 0,0 6.67072,-0.0665 8.83789,-7.25781 5.63812,-18.70894 15.70536,-52.11398 20.9707,-69.58594 11.05902,-36.69703 22.82032,-31.82421 22.82032,-31.82421 0,0 11.48475,4.97827 22.19726,-0.16993 9.38404,-4.50976 15.5332,-44.39843 15.5332,-44.39843 0,0 -19.53693,-3.45636 -28.41015,4.04492 -9.30325,7.86482 -15.60547,17.47656 -15.60547,17.47656 l 46.09766,-152.95898 -49.32618,83.84179 -20.34375,-31.1914 6.35547,54.96875 -23.1582,39.36132 c 0,0 -2.97595,5.06226 -5.94336,4.68946 -0.009,-0.001 -0.0169,0.003 -0.0254,0.01 -0.008,-0.007 -0.0167,-0.0109 -0.0254,-0.01 -2.96741,0.3728 -5.94336,-4.68946 -5.94336,-4.68946 l -23.1582,-39.36132 6.35547,-54.96875 -20.34375,31.1914 z" 577 transform="matrix(2.6921023,0,0,1.7145911,-396.58283,-308.01527)" 578 /> 579 </svg> 580 ); 581} 582 583export function TangledIcon({ 584 size = 18, 585 className = "", 586}: IconProps & { className?: string }) { 587 return ( 588 <svg 589 width={size} 590 height={size} 591 viewBox="0 0 24.122343 23.274094" 592 fill="currentColor" 593 xmlns="http://www.w3.org/2000/svg" 594 className={className} 595 > 596 <path d="m 16.348974,24.09935 -0.06485,-0.03766 -0.202005,-0.0106 -0.202008,-0.01048 -0.275736,-0.02601 -0.275734,-0.02602 v -0.02649 -0.02648 l -0.204577,-0.04019 -0.204578,-0.04019 -0.167616,-0.08035 -0.167617,-0.08035 -0.0014,-0.04137 -0.0014,-0.04137 -0.266473,-0.143735 -0.266475,-0.143735 -0.276098,-0.20335 -0.2761,-0.203347 -0.262064,-0.251949 -0.262064,-0.25195 -0.22095,-0.284628 -0.220948,-0.284629 -0.170253,-0.284631 -0.170252,-0.284628 -0.01341,-0.0144 -0.0134,-0.0144 -0.141982,0.161297 -0.14198,0.1613 -0.22313,0.21426 -0.223132,0.214264 -0.186025,0.146053 -0.186023,0.14605 -0.252501,0.163342 -0.252502,0.163342 -0.249014,0.115348 -0.249013,0.115336 0.0053,0.03241 0.0053,0.03241 -0.1716725,0.04599 -0.171669,0.046 -0.3379966,0.101058 -0.3379972,0.101058 -0.1778925,0.04506 -0.1778935,0.04508 -0.3913655,0.02601 -0.3913643,0.02603 -0.3557868,-0.03514 -0.3557863,-0.03514 -0.037426,-0.03029 -0.037427,-0.03029 -0.076924,0.02011 -0.076924,0.02011 -0.050508,-0.05051 -0.050405,-0.05056 L 6.6604532,23.110188 6.451745,23.063961 6.1546135,22.960559 5.8574835,22.857156 5.5319879,22.694039 5.2064938,22.530922 4.8793922,22.302961 4.5522905,22.075005 4.247598,21.786585 3.9429055,21.49817 3.7185335,21.208777 3.4941628,20.919385 3.3669822,20.705914 3.239803,20.492443 3.1335213,20.278969 3.0272397,20.065499 2.9015252,19.7275 2.7758105,19.389504 2.6925225,18.998139 2.6092345,18.606774 2.6096814,17.91299 2.6101284,17.219208 2.6744634,16.90029 2.7387984,16.581374 2.8474286,16.242088 2.9560588,15.9028 3.1137374,15.583492 3.2714148,15.264182 3.3415068,15.150766 3.4115988,15.03735 3.3127798,14.96945 3.2139618,14.90157 3.0360685,14.800239 2.8581753,14.698908 2.5913347,14.503228 2.3244955,14.307547 2.0621238,14.055599 1.7997507,13.803651 1.6111953,13.56878 1.4226411,13.333906 1.2632237,13.087474 1.1038089,12.841042 0.97442,12.575195 0.8450307,12.30935 0.724603,11.971351 0.6041766,11.633356 0.52150365,11.241991 0.4388285,10.850626 0.44091592,10.156842 0.44300333,9.4630594 0.54235911,9.0369608 0.6417149,8.6108622 0.7741173,8.2694368 0.9065196,7.9280115 1.0736303,7.6214262 1.2407515,7.3148397 1.45931,7.0191718 1.6778685,6.7235039 1.9300326,6.4611321 2.1821966,6.1987592 2.4134579,6.0137228 2.6447193,5.8286865 2.8759792,5.6776409 3.1072406,5.526594 3.4282004,5.3713977 3.7491603,5.2162016 3.9263009,5.1508695 4.1034416,5.0855373 4.2813348,4.7481598 4.4592292,4.4107823 4.6718,4.108422 4.8843733,3.8060618 5.198353,3.4805372 5.5123313,3.155014 5.7685095,2.9596425 6.0246877,2.7642722 6.329187,2.5851365 6.6336863,2.406002 6.9497657,2.2751596 7.2658453,2.1443184 7.4756394,2.0772947 7.6854348,2.01027 8.0825241,1.931086 8.4796139,1.851902 l 0.5870477,0.00291 0.5870469,0.00291 0.4447315,0.092455 0.444734,0.092455 0.302419,0.1105495 0.302417,0.1105495 0.329929,0.1646046 0.32993,0.1646033 0.239329,-0.2316919 0.239329,-0.2316919 0.160103,-0.1256767 0.160105,-0.1256767 0.160102,-0.1021909 0.160105,-0.1021899 0.142315,-0.082328 0.142314,-0.082328 0.231262,-0.1090091 0.231259,-0.1090091 0.26684,-0.098743 0.266839,-0.098743 0.320208,-0.073514 0.320209,-0.073527 0.355787,-0.041833 0.355785,-0.041834 0.426942,0.023827 0.426945,0.023828 0.355785,0.071179 0.355788,0.0711791 0.284627,0.09267 0.284629,0.09267 0.28514,0.1310267 0.28514,0.1310255 0.238179,0.1446969 0.238174,0.1446979 0.259413,0.1955332 0.259413,0.1955319 0.290757,0.296774 0.290758,0.2967753 0.151736,0.1941581 0.151734,0.1941594 0.135326,0.2149951 0.135327,0.2149952 0.154755,0.3202073 0.154758,0.3202085 0.09409,0.2677358 0.09409,0.267737 0.06948,0.3319087 0.06948,0.3319099 0.01111,0.00808 0.01111,0.00808 0.444734,0.2173653 0.444734,0.2173665 0.309499,0.2161102 0.309497,0.2161101 0.309694,0.2930023 0.309694,0.2930037 0.18752,0.2348726 0.187524,0.2348727 0.166516,0.2574092 0.166519,0.2574108 0.15273,0.3260252 0.152734,0.3260262 0.08972,0.2668403 0.08971,0.2668391 0.08295,0.3913655 0.08295,0.3913652 -6.21e-4,0.6582049 -6.21e-4,0.658204 -0.06362,0.315725 -0.06362,0.315725 -0.09046,0.289112 -0.09046,0.289112 -0.122759,0.281358 -0.12276,0.281356 -0.146626,0.252323 -0.146629,0.252322 -0.190443,0.258668 -0.190448,0.258671 -0.254911,0.268356 -0.254911,0.268355 -0.286872,0.223127 -0.286874,0.223127 -0.320203,0.187693 -0.320209,0.187693 -0.04347,0.03519 -0.04347,0.03521 0.0564,0.12989 0.0564,0.129892 0.08728,0.213472 0.08728,0.213471 0.189755,0.729363 0.189753,0.729362 0.0652,0.302417 0.0652,0.302419 -0.0018,0.675994 -0.0018,0.675995 -0.0801,0.373573 -0.08009,0.373577 -0.09,0.266839 -0.09,0.26684 -0.190389,0.391364 -0.19039,0.391366 -0.223169,0.320207 -0.223167,0.320209 -0.303585,0.315294 -0.303584,0.315291 -0.284631,0.220665 -0.284629,0.220663 -0.220128,0.132359 -0.220127,0.132358 -0.242395,0.106698 -0.242394,0.106699 -0.08895,0.04734 -0.08895,0.04733 -0.249052,0.07247 -0.24905,0.07247 -0.322042,0.0574 -0.322044,0.0574 -0.282794,-0.003 -0.282795,-0.003 -0.07115,-0.0031 -0.07115,-0.0031 -0.177894,-0.0033 -0.177893,-0.0033 -0.124528,0.02555 -0.124528,0.02555 z m -4.470079,-5.349839 0.214838,-0.01739 0.206601,-0.06782 0.206602,-0.06782 0.244389,-0.117874 0.244393,-0.11786 0.274473,-0.206822 0.27447,-0.20682 0.229308,-0.257201 0.229306,-0.2572 0.219161,-0.28463 0.219159,-0.284629 0.188541,-0.284628 0.188543,-0.28463 0.214594,-0.373574 0.214593,-0.373577 0.133861,-0.312006 0.133865,-0.312007 0.02861,-0.01769 0.02861,-0.01769 0.197275,0.26212 0.197278,0.262119 0.163613,0.150814 0.163614,0.150814 0.201914,0.09276 0.201914,0.09276 0.302417,0.01421 0.302418,0.01421 0.213472,-0.08025 0.213471,-0.08025 0.200606,-0.204641 0.200606,-0.204642 0.09242,-0.278887 0.09241,-0.278888 0.05765,-0.302418 0.05764,-0.302416 L 18.41327,13.768114 18.39502,13.34117 18.31849,12.915185 18.24196,12.4892 18.15595,12.168033 18.06994,11.846867 17.928869,11.444534 17.787801,11.042201 17.621278,10.73296 17.454757,10.423723 17.337388,10.263619 17.220021,10.103516 17.095645,9.9837986 16.971268,9.8640816 16.990048,9.6813736 17.008828,9.4986654 16.947568,9.249616 16.886308,9.0005655 16.752419,8.7159355 16.618521,8.4313217 16.435707,8.2294676 16.252892,8.0276114 16.079629,7.9004245 15.906366,7.773238 l -0.20429,0.1230127 -0.204289,0.1230121 -0.26702,0.059413 -0.267022,0.059413 -0.205761,-0.021508 -0.205766,-0.021508 -0.23495,-0.08844 -0.234953,-0.08844 -0.118429,-0.090334 -0.118428,-0.090333 h -0.03944 -0.03944 L 13.711268,7.8540732 13.655958,7.9706205 13.497227,8.1520709 13.338499,8.3335203 13.168394,8.4419112 12.998289,8.550301 12.777045,8.624223 12.5558,8.698155 H 12.275611 11.995429 L 11.799973,8.6309015 11.604513,8.5636472 11.491311,8.5051061 11.37811,8.446565 11.138172,8.2254579 10.898231,8.0043497 l -0.09565,-0.084618 -0.09565,-0.084613 -0.218822,0.198024 -0.218822,0.1980231 -0.165392,0.078387 -0.1653925,0.078387 -0.177894,0.047948 -0.177892,0.047948 L 9.3635263,8.4842631 9.144328,8.4846889 8.9195029,8.4147138 8.6946778,8.3447386 8.5931214,8.4414036 8.491565,8.5380686 8.3707618,8.7019598 8.2499597,8.8658478 8.0802403,8.9290726 7.9105231,8.9922974 7.7952769,9.0780061 7.6800299,9.1637148 7.5706169,9.2778257 7.4612038,9.3919481 7.1059768,9.9205267 6.7507497,10.449105 l -0.2159851,0.449834 -0.2159839,0.449834 -0.2216572,0.462522 -0.2216559,0.462523 -0.1459343,0.337996 -0.1459342,0.337998 -0.055483,0.220042 -0.055483,0.220041 -0.015885,0.206903 -0.015872,0.206901 0.034307,0.242939 0.034307,0.24294 0.096281,0.196632 0.096281,0.196634 0.143607,0.125222 0.1436071,0.125222 0.1873143,0.08737 0.1873141,0.08737 0.2752084,0.002 0.2752084,0.002 0.2312297,-0.09773 0.231231,-0.09772 0.1067615,-0.07603 0.1067614,-0.07603 0.3679062,-0.29377 0.3679065,-0.293771 0.026804,0.01656 0.026804,0.01656 0.023626,0.466819 0.023626,0.466815 0.088326,0.513195 0.088326,0.513193 0.08897,0.364413 0.08897,0.364411 0.1315362,0.302418 0.1315352,0.302418 0.1051964,0.160105 0.1051954,0.160103 0.1104741,0.11877 0.1104731,0.118769 0.2846284,0.205644 0.2846305,0.205642 0.144448,0.07312 0.144448,0.07312 0.214787,0.05566 0.214787,0.05566 0.245601,0.03075 0.245602,0.03075 0.204577,-0.0125 0.204578,-0.0125 z m 0.686342,-3.497495 -0.11281,-0.06077 -0.106155,-0.134033 -0.106155,-0.134031 -0.04406,-0.18371 -0.04406,-0.183707 0.02417,-0.553937 0.02417,-0.553936 0.03513,-0.426945 0.03513,-0.426942 0.07225,-0.373576 0.07225,-0.373575 0.05417,-0.211338 0.05417,-0.211339 0.0674,-0.132112 0.0674,-0.132112 0.132437,-0.10916 0.132437,-0.109161 0.187436,-0.04195 0.187438,-0.04195 0.170366,0.06469 0.170364,0.06469 0.114312,0.124073 0.114313,0.124086 0.04139,0.18495 0.04139,0.184951 -0.111218,0.459845 -0.111219,0.459844 -0.03383,0.26584 -0.03382,0.265841 -0.03986,0.818307 -0.03986,0.818309 -0.0378,0.15162 -0.03779,0.151621 -0.11089,0.110562 -0.110891,0.110561 -0.114489,0.04913 -0.114489,0.04913 -0.187932,-0.0016 -0.187929,-0.0016 z m -2.8087655,-0.358124 -0.146445,-0.06848 -0.088025,-0.119502 -0.088024,-0.119502 -0.038581,-0.106736 -0.038581,-0.106736 -0.02237,-0.134956 -0.02239,-0.134957 -0.031955,-0.46988 -0.031955,-0.469881 0.036203,-0.444733 0.036203,-0.444731 0.048862,-0.215257 0.048862,-0.215255 0.076082,-0.203349 0.076081,-0.203348 0.0936,-0.111244 0.0936,-0.111245 0.143787,-0.06531 0.1437865,-0.06532 h 0.142315 0.142314 l 0.142314,0.06588 0.142316,0.06588 0.093,0.102325 0.093,0.102325 0.04042,0.120942 0.04042,0.120942 v 0.152479 0.152477 l -0.03347,0.08804 -0.03347,0.08805 -0.05693,0.275653 -0.05693,0.275651 2.11e-4,0.430246 2.12e-4,0.430243 0.04294,0.392646 0.04295,0.392647 -0.09189,0.200702 -0.09189,0.200702 -0.148688,0.0984 -0.148687,0.0984 -0.20136,0.01212 -0.2013595,0.01212 z" /> 597 </svg> 598 ); 599}