127 lines
3.4 KiB
TypeScript
127 lines
3.4 KiB
TypeScript
![]() |
// Export existing icons if any
|
||
|
// ... existing code ...
|
||
|
|
||
|
// New icons for profile page
|
||
|
export function InfoCircle(props: React.SVGProps<SVGSVGElement>) {
|
||
|
return (
|
||
|
<svg
|
||
|
xmlns="http://www.w3.org/2000/svg"
|
||
|
width="24"
|
||
|
height="24"
|
||
|
viewBox="0 0 24 24"
|
||
|
fill="none"
|
||
|
stroke="currentColor"
|
||
|
strokeWidth="2"
|
||
|
strokeLinecap="round"
|
||
|
strokeLinejoin="round"
|
||
|
{...props}
|
||
|
>
|
||
|
<circle cx="12" cy="12" r="10" />
|
||
|
<path d="M12 16v-4" />
|
||
|
<path d="M12 8h.01" />
|
||
|
</svg>
|
||
|
);
|
||
|
}
|
||
|
|
||
|
export function ExternalLink(props: React.SVGProps<SVGSVGElement>) {
|
||
|
return (
|
||
|
<svg
|
||
|
xmlns="http://www.w3.org/2000/svg"
|
||
|
width="24"
|
||
|
height="24"
|
||
|
viewBox="0 0 24 24"
|
||
|
fill="none"
|
||
|
stroke="currentColor"
|
||
|
strokeWidth="2"
|
||
|
strokeLinecap="round"
|
||
|
strokeLinejoin="round"
|
||
|
{...props}
|
||
|
>
|
||
|
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
|
||
|
<polyline points="15 3 21 3 21 9" />
|
||
|
<line x1="10" y1="14" x2="21" y2="3" />
|
||
|
</svg>
|
||
|
);
|
||
|
}
|
||
|
|
||
|
export function Shield(props: React.SVGProps<SVGSVGElement>) {
|
||
|
return (
|
||
|
<svg
|
||
|
xmlns="http://www.w3.org/2000/svg"
|
||
|
width="24"
|
||
|
height="24"
|
||
|
viewBox="0 0 24 24"
|
||
|
fill="none"
|
||
|
stroke="currentColor"
|
||
|
strokeWidth="2"
|
||
|
strokeLinecap="round"
|
||
|
strokeLinejoin="round"
|
||
|
{...props}
|
||
|
>
|
||
|
<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" />
|
||
|
</svg>
|
||
|
);
|
||
|
}
|
||
|
|
||
|
export function LockKeyhole(props: React.SVGProps<SVGSVGElement>) {
|
||
|
return (
|
||
|
<svg
|
||
|
xmlns="http://www.w3.org/2000/svg"
|
||
|
width="24"
|
||
|
height="24"
|
||
|
viewBox="0 0 24 24"
|
||
|
fill="none"
|
||
|
stroke="currentColor"
|
||
|
strokeWidth="2"
|
||
|
strokeLinecap="round"
|
||
|
strokeLinejoin="round"
|
||
|
{...props}
|
||
|
>
|
||
|
<rect x="3" y="11" width="18" height="11" rx="2" ry="2" />
|
||
|
<path d="M7 11V7a5 5 0 0 1 10 0v4" />
|
||
|
<circle cx="12" cy="16" r="1" />
|
||
|
</svg>
|
||
|
);
|
||
|
}
|
||
|
|
||
|
export function Award(props: React.SVGProps<SVGSVGElement>) {
|
||
|
return (
|
||
|
<svg
|
||
|
xmlns="http://www.w3.org/2000/svg"
|
||
|
width="24"
|
||
|
height="24"
|
||
|
viewBox="0 0 24 24"
|
||
|
fill="none"
|
||
|
stroke="currentColor"
|
||
|
strokeWidth="2"
|
||
|
strokeLinecap="round"
|
||
|
strokeLinejoin="round"
|
||
|
{...props}
|
||
|
>
|
||
|
<circle cx="12" cy="8" r="7" />
|
||
|
<polyline points="8.21 13.89 7 23 12 20 17 23 15.79 13.88" />
|
||
|
</svg>
|
||
|
);
|
||
|
}
|
||
|
|
||
|
export function CoinsStacked(props: React.SVGProps<SVGSVGElement>) {
|
||
|
return (
|
||
|
<svg
|
||
|
xmlns="http://www.w3.org/2000/svg"
|
||
|
width="24"
|
||
|
height="24"
|
||
|
viewBox="0 0 24 24"
|
||
|
fill="none"
|
||
|
stroke="currentColor"
|
||
|
strokeWidth="2"
|
||
|
strokeLinecap="round"
|
||
|
strokeLinejoin="round"
|
||
|
{...props}
|
||
|
>
|
||
|
<circle cx="8" cy="8" r="6" />
|
||
|
<path d="M18.09 10.37A6 6 0 1 1 10.34 18" />
|
||
|
<path d="M7 6h1v4" />
|
||
|
<path d="m16.71 13.88.7.71-2.82 2.82" />
|
||
|
</svg>
|
||
|
);
|
||
|
}
|