Commit
·
80fe4eb
1
Parent(s):
d5fd068
fix arrows
Browse files- lib/icons/ClassificationIcon.tsx +16 -16
- lib/icons/EmbeddingIcon.tsx +18 -50
lib/icons/ClassificationIcon.tsx
CHANGED
|
@@ -10,30 +10,30 @@ const ClassificationIcon: React.FC<ClassificationIconProps> = ({ className = ''
|
|
| 10 |
<rect x="0" y="0" width="220" height="100" fill="#a855f7" rx="10" ry="10" />
|
| 11 |
|
| 12 |
{/* Input */}
|
| 13 |
-
<rect x="
|
| 14 |
-
<text x="
|
| 15 |
-
<text x="
|
| 16 |
|
| 17 |
{/* Arrow */}
|
| 18 |
-
<line x1="
|
| 19 |
-
<polygon points="115,
|
| 20 |
|
| 21 |
{/* Output */}
|
| 22 |
-
<rect x="
|
| 23 |
-
<text x="
|
| 24 |
|
| 25 |
{/* Classification bars */}
|
| 26 |
-
<rect x="
|
| 27 |
-
<text x="
|
| 28 |
-
<text x="
|
| 29 |
|
| 30 |
-
<rect x="
|
| 31 |
-
<text x="
|
| 32 |
-
<text x="
|
| 33 |
|
| 34 |
-
<rect x="
|
| 35 |
-
<text x="
|
| 36 |
-
<text x="
|
| 37 |
</svg>
|
| 38 |
);
|
| 39 |
};
|
|
|
|
| 10 |
<rect x="0" y="0" width="220" height="100" fill="#a855f7" rx="10" ry="10" />
|
| 11 |
|
| 12 |
{/* Input */}
|
| 13 |
+
<rect x="15" y="10" width="80" height="80" fill="#faf5ff" stroke="#fff" strokeWidth="1" rx="5" ry="5" />
|
| 14 |
+
<text x="20" y="30" fill="#7e22ce" fontSize="12" fontWeight="bold">Inputs</text>
|
| 15 |
+
<text x="20" y="50" fill="#7e22ce" fontSize="10" fontWeight="bold">Basketball</text>
|
| 16 |
|
| 17 |
{/* Arrow */}
|
| 18 |
+
<line x1="105" y1="50" x2="115" y2="50" stroke="#fff" strokeWidth="3" />
|
| 19 |
+
<polygon points="115,45 122,50 115,55" fill="#fff" />
|
| 20 |
|
| 21 |
{/* Output */}
|
| 22 |
+
<rect x="125" y="10" width="80" height="80" fill="#faf5ff" stroke="#fff" strokeWidth="1" rx="5" ry="5" />
|
| 23 |
+
<text x="130" y="25" fill="#7e22ce" fontSize="12" fontWeight="bold">Output</text>
|
| 24 |
|
| 25 |
{/* Classification bars */}
|
| 26 |
+
<rect x="130" y="35" width="65" height="14" fill="#d8b4fe" rx="3" ry="3" />
|
| 27 |
+
<text x="135" y="45" fill="#6b21a8" fontSize="10" fontWeight="bold">Sport</text>
|
| 28 |
+
<text x="188" y="45" fill="#6b21a8" fontSize="10" textAnchor="end">0.800</text>
|
| 29 |
|
| 30 |
+
<rect x="130" y="53" width="26" height="14" fill="#d8b4fe" rx="3" ry="3" />
|
| 31 |
+
<text x="135" y="63" fill="#6b21a8" fontSize="10" fontWeight="bold">Food</text>
|
| 32 |
+
<text x="188" y="63" fill="#6b21a8" fontSize="10" textAnchor="end">0.150</text>
|
| 33 |
|
| 34 |
+
<rect x="130" y="71" width="9" height="14" fill="#d8b4fe" rx="3" ry="3" />
|
| 35 |
+
<text x="135" y="81" fill="#6b21a8" fontSize="10" fontWeight="bold">Music</text>
|
| 36 |
+
<text x="188" y="81" fill="#6b21a8" fontSize="10" textAnchor="end">0.050</text>
|
| 37 |
</svg>
|
| 38 |
);
|
| 39 |
};
|
lib/icons/EmbeddingIcon.tsx
CHANGED
|
@@ -7,48 +7,24 @@ interface IconProps {
|
|
| 7 |
const EmbeddingIcon: React.FC<IconProps> = ({ className = '' }) => {
|
| 8 |
return (
|
| 9 |
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 220 100" className={`w-full h-auto max-h-28 ${className}`}>
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
<stop offset="0%" stopColor="#5eead4" />
|
| 13 |
-
<stop offset="100%" stopColor="#2dd4bf" />
|
| 14 |
-
</linearGradient>
|
| 15 |
-
<filter id="glow">
|
| 16 |
-
<feGaussianBlur stdDeviation="2" result="coloredBlur"/>
|
| 17 |
-
<feMerge>
|
| 18 |
-
<feMergeNode in="coloredBlur"/>
|
| 19 |
-
<feMergeNode in="SourceGraphic"/>
|
| 20 |
-
</feMerge>
|
| 21 |
-
</filter>
|
| 22 |
-
</defs>
|
| 23 |
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
</
|
|
|
|
|
|
|
| 27 |
|
| 28 |
-
{/*
|
| 29 |
-
<
|
| 30 |
-
<
|
| 31 |
-
<tspan>Hello</tspan>
|
| 32 |
-
<animate attributeName="opacity" values="0.5;1;0.5" dur="2s" repeatCount="indefinite" />
|
| 33 |
-
</text>
|
| 34 |
-
<text x="25" y="70" fill="#60a5fa" fontSize="14" fontWeight="bold">
|
| 35 |
-
<tspan>World</tspan>
|
| 36 |
-
<animate attributeName="opacity" values="0.5;1;0.5" dur="2s" repeatCount="indefinite" begin="1s" />
|
| 37 |
-
</text>
|
| 38 |
|
| 39 |
-
{/*
|
| 40 |
-
<
|
| 41 |
-
<animate attributeName="x2" values="115;120;115" dur="1.5s" repeatCount="indefinite" />
|
| 42 |
-
</line>
|
| 43 |
-
<polygon points="115,45 122,50 115,55" fill="#fff">
|
| 44 |
-
<animate attributeName="points" values="115,45 122,50 115,55;120,45 127,50 120,55;115,45 122,50 115,55" dur="1.5s" repeatCount="indefinite" />
|
| 45 |
-
</polygon>
|
| 46 |
|
| 47 |
{/* 3D space representation */}
|
| 48 |
-
<
|
| 49 |
-
|
| 50 |
-
{/* Improved 3D axes with reduced opacity */}
|
| 51 |
-
<g opacity="0.3">
|
| 52 |
<line x1="130" y1="85" x2="200" y2="85" stroke="#0f766e" strokeWidth="1" />
|
| 53 |
<polygon points="200,85 196,83 196,87" fill="#0f766e" />
|
| 54 |
<text x="202" y="89" fill="#0f766e" fontSize="8">x</text>
|
|
@@ -62,19 +38,11 @@ const EmbeddingIcon: React.FC<IconProps> = ({ className = '' }) => {
|
|
| 62 |
<text x="162" y="64" fill="#0f766e" fontSize="8">z</text>
|
| 63 |
</g>
|
| 64 |
|
| 65 |
-
{/*
|
| 66 |
-
<
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
<text x="172" y="44" fill="#f472b6" fontSize="10" fontWeight="bold">Hello</text>
|
| 71 |
-
</g>
|
| 72 |
-
<g>
|
| 73 |
-
<circle cx="170" cy="70" r="4" fill="#60a5fa">
|
| 74 |
-
<animate attributeName="r" values="3;5;3" dur="2s" repeatCount="indefinite" begin="1s" />
|
| 75 |
-
</circle>
|
| 76 |
-
<text x="135" y="74" fill="#60a5fa" fontSize="10" fontWeight="bold">World</text>
|
| 77 |
-
</g>
|
| 78 |
</svg>
|
| 79 |
);
|
| 80 |
};
|
|
|
|
| 7 |
const EmbeddingIcon: React.FC<IconProps> = ({ className = '' }) => {
|
| 8 |
return (
|
| 9 |
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 220 100" className={`w-full h-auto max-h-28 ${className}`}>
|
| 10 |
+
{/* Background */}
|
| 11 |
+
<rect x="0" y="0" width="220" height="100" fill="#2dd4bf" rx="10" ry="10" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
|
| 13 |
+
{/* Input */}
|
| 14 |
+
<rect x="15" y="10" width="80" height="80" fill="#f0fdfa" stroke="#fff" strokeWidth="1" rx="5" ry="5" />
|
| 15 |
+
<text x="20" y="30" fill="#0f766e" fontSize="12" fontWeight="bold">Input</text>
|
| 16 |
+
<text x="20" y="50" fill="#0f766e" fontSize="14" fontWeight="bold">Hello</text>
|
| 17 |
+
<text x="20" y="70" fill="#0f766e" fontSize="14" fontWeight="bold">World</text>
|
| 18 |
|
| 19 |
+
{/* Arrow */}
|
| 20 |
+
<line x1="105" y1="50" x2="115" y2="50" stroke="#fff" strokeWidth="3" />
|
| 21 |
+
<polygon points="115,45 122,50 115,55" fill="#fff" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
+
{/* Output */}
|
| 24 |
+
<rect x="125" y="10" width="80" height="80" fill="#f0fdfa" stroke="#fff" strokeWidth="1" rx="5" ry="5" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
{/* 3D space representation */}
|
| 27 |
+
<g opacity="0.7">
|
|
|
|
|
|
|
|
|
|
| 28 |
<line x1="130" y1="85" x2="200" y2="85" stroke="#0f766e" strokeWidth="1" />
|
| 29 |
<polygon points="200,85 196,83 196,87" fill="#0f766e" />
|
| 30 |
<text x="202" y="89" fill="#0f766e" fontSize="8">x</text>
|
|
|
|
| 38 |
<text x="162" y="64" fill="#0f766e" fontSize="8">z</text>
|
| 39 |
</g>
|
| 40 |
|
| 41 |
+
{/* 3D points */}
|
| 42 |
+
<circle cx="165" cy="40" r="4" fill="#f472b6" />
|
| 43 |
+
<text x="172" y="44" fill="#f472b6" fontSize="10" fontWeight="bold">Hello</text>
|
| 44 |
+
<circle cx="170" cy="70" r="4" fill="#60a5fa" />
|
| 45 |
+
<text x="135" y="74" fill="#60a5fa" fontSize="10" fontWeight="bold">World</text>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
</svg>
|
| 47 |
);
|
| 48 |
};
|