Icons.tsx125 lines · main
| 1 | import { useTheme } from 'next-themes' |
| 2 | |
| 3 | export interface IconProps { |
| 4 | isSelected?: boolean |
| 5 | } |
| 6 | |
| 7 | export const ServiceRoleIcon = ({ isSelected = false }: IconProps) => { |
| 8 | const { resolvedTheme } = useTheme() |
| 9 | |
| 10 | return ( |
| 11 | <svg width="53" height="17" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 12 | <g opacity={isSelected ? '1' : '.5'}> |
| 13 | <rect |
| 14 | x="37.161" |
| 15 | y=".53" |
| 16 | width="15" |
| 17 | height="15" |
| 18 | rx="5.5" |
| 19 | stroke={resolvedTheme === 'light' ? '#11181C' : '#EDEDED'} |
| 20 | /> |
| 21 | <path d="M1 10.53h32.214" stroke="#33A7E9" strokeLinecap="round" strokeDasharray="2 2" /> |
| 22 | <rect |
| 23 | x="15.964" |
| 24 | y=".53" |
| 25 | width="9" |
| 26 | height="15" |
| 27 | rx="4.5" |
| 28 | stroke={resolvedTheme === 'light' ? '#7E868C' : '#7E7E7E'} |
| 29 | /> |
| 30 | <path d="M1 5.53h32.214" stroke="#33A7E9" strokeLinecap="round" strokeDasharray="2 2" /> |
| 31 | </g> |
| 32 | </svg> |
| 33 | ) |
| 34 | } |
| 35 | |
| 36 | export const AnonIcon = ({ isSelected = false }: IconProps) => { |
| 37 | const { resolvedTheme } = useTheme() |
| 38 | |
| 39 | return ( |
| 40 | <svg width="53" height="17" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 41 | <g opacity={isSelected ? '1' : '.5'}> |
| 42 | <path |
| 43 | d="M1 4.994a.5.5 0 0 0 0 1v-1Zm16.218 1h.5v-1h-.5v1ZM1 5.994h1.014v-1H1v1Zm3.04 0h2.028v-1H4.041v1Zm4.056 0h2.027v-1H8.096v1Zm4.054 0h2.027v-1H12.15v1Zm4.055 0h1.013v-1h-1.013v1Z" |
| 44 | fill={resolvedTheme === 'light' ? '#7E868C' : '#7E7E7E'} |
| 45 | /> |
| 46 | <path |
| 47 | d="m15.92 12.56 9.04-9.04" |
| 48 | stroke={resolvedTheme === 'light' ? '#11181C' : '#EDEDED'} |
| 49 | /> |
| 50 | <rect |
| 51 | x="15.964" |
| 52 | y=".494" |
| 53 | width="9" |
| 54 | height="15" |
| 55 | rx="4.5" |
| 56 | stroke={resolvedTheme === 'light' ? '#11181C' : '#EDEDED'} |
| 57 | /> |
| 58 | <rect |
| 59 | x="37.161" |
| 60 | y=".744" |
| 61 | width="15" |
| 62 | height="15" |
| 63 | rx="5.5" |
| 64 | stroke={resolvedTheme === 'light' ? '#11181C' : '#EDEDED'} |
| 65 | /> |
| 66 | <path d="M1 10.494h32.214" stroke="#33A7E9" strokeLinecap="round" strokeDasharray="2 2" /> |
| 67 | <path |
| 68 | d="M15.96 7.562 22.568.956M19.049 14.885l5.957-5.958" |
| 69 | stroke={resolvedTheme === 'light' ? '#11181C' : '#EDEDED'} |
| 70 | /> |
| 71 | </g> |
| 72 | </svg> |
| 73 | ) |
| 74 | } |
| 75 | |
| 76 | export const AuthenticatedIcon = ({ isSelected = false }: IconProps) => { |
| 77 | const { resolvedTheme } = useTheme() |
| 78 | |
| 79 | return ( |
| 80 | <svg width="68" height="17" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 81 | <g opacity={isSelected ? '1' : '.5'}> |
| 82 | <path |
| 83 | d="M15.63 5.156a.5.5 0 1 0 0 1v-1Zm16.218 1h.5v-1h-.5v1Zm-16.218 0h1.013v-1H15.63v1Zm3.04 0h2.028v-1h-2.027v1Zm4.055 0h2.028v-1h-2.028v1Zm4.055 0h2.027v-1H26.78v1Zm4.055 0h1.013v-1h-1.013v1Z" |
| 84 | fill={resolvedTheme === 'light' ? '#7E868C' : '#7E7E7E'} |
| 85 | /> |
| 86 | <path |
| 87 | d="m30.55 12.722 9.04-9.04" |
| 88 | stroke={resolvedTheme === 'light' ? '#11181C' : '#EDEDED'} |
| 89 | /> |
| 90 | <rect |
| 91 | x="30.594" |
| 92 | y=".656" |
| 93 | width="9" |
| 94 | height="15" |
| 95 | rx="4.5" |
| 96 | stroke={resolvedTheme === 'light' ? '#11181C' : '#EDEDED'} |
| 97 | /> |
| 98 | <rect |
| 99 | x="51.791" |
| 100 | y=".906" |
| 101 | width="15" |
| 102 | height="15" |
| 103 | rx="5.5" |
| 104 | stroke={resolvedTheme === 'light' ? '#11181C' : '#EDEDED'} |
| 105 | /> |
| 106 | <path |
| 107 | d="M15.63 10.656h32.214" |
| 108 | stroke="#33A7E9" |
| 109 | strokeLinecap="round" |
| 110 | strokeDasharray="2 2" |
| 111 | /> |
| 112 | <path |
| 113 | d="m30.59 7.724 6.607-6.606M33.679 15.047l5.957-5.958" |
| 114 | stroke={resolvedTheme === 'light' ? '#11181C' : '#EDEDED'} |
| 115 | /> |
| 116 | <path |
| 117 | d="M12.666 14.281v-1.333A2.667 2.667 0 0 0 10 10.28H6a2.667 2.667 0 0 0-2.667 2.667v1.333M8 7.615A2.667 2.667 0 1 0 8 2.28a2.667 2.667 0 0 0 0 5.334Z" |
| 118 | stroke={resolvedTheme === 'light' ? '#11181C' : '#EDEDED'} |
| 119 | strokeLinecap="round" |
| 120 | strokeLinejoin="round" |
| 121 | /> |
| 122 | </g> |
| 123 | </svg> |
| 124 | ) |
| 125 | } |