fix(ui): sidebar font sizes to standard + remove dead NemoClaw SVG from openclaw-panel
This commit is contained in:
@@ -49,234 +49,6 @@ const STATUS_MESSAGES: Record<OpenClawStatus, string> = {
|
||||
complete: '[SYS] Analysis complete',
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
// NemoClaw 3D Ceramic SVG Component (Lab-White Style)
|
||||
// =============================================================================
|
||||
|
||||
function NemoClaw({ isActive, isPulsing }: { isActive: boolean; isPulsing: boolean }) {
|
||||
return (
|
||||
<svg
|
||||
viewBox="0 0 140 140"
|
||||
className="w-full h-full drop-shadow-lg"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<defs>
|
||||
{/* 3D Ceramic gradient - white/cream tones */}
|
||||
<linearGradient id="ceramic3d" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" stopColor="#FFFFFF" />
|
||||
<stop offset="40%" stopColor="#F8F8F8" />
|
||||
<stop offset="70%" stopColor="#E8E8E8" />
|
||||
<stop offset="100%" stopColor="#D8D8D8" />
|
||||
</linearGradient>
|
||||
|
||||
{/* Core glow filter - stronger */}
|
||||
<filter id="coreGlow" x="-100%" y="-100%" width="300%" height="300%">
|
||||
<feGaussianBlur stdDeviation="6" result="blur" />
|
||||
<feComposite in="SourceGraphic" in2="blur" operator="over" />
|
||||
</filter>
|
||||
|
||||
{/* Pulse glow animation filter */}
|
||||
<filter id="pulseGlow" x="-100%" y="-100%" width="300%" height="300%">
|
||||
<feGaussianBlur stdDeviation="8" result="blur">
|
||||
<animate attributeName="stdDeviation" values="6;10;6" dur="1.5s" repeatCount="indefinite" />
|
||||
</feGaussianBlur>
|
||||
<feComposite in="SourceGraphic" in2="blur" operator="over" />
|
||||
</filter>
|
||||
|
||||
{/* Shadow for 3D effect */}
|
||||
<filter id="shadow3d" x="-20%" y="-20%" width="140%" height="140%">
|
||||
<feDropShadow dx="2" dy="4" stdDeviation="3" floodOpacity="0.15" />
|
||||
</filter>
|
||||
</defs>
|
||||
|
||||
{/* Base shadow */}
|
||||
<ellipse cx="70" cy="125" rx="35" ry="8" fill="rgba(0,0,0,0.08)" />
|
||||
|
||||
{/* Main body - 3D ceramic sphere */}
|
||||
<circle
|
||||
cx="70"
|
||||
cy="70"
|
||||
r="32"
|
||||
fill="url(#ceramic3d)"
|
||||
filter="url(#shadow3d)"
|
||||
stroke="#E0E0E0"
|
||||
strokeWidth="1"
|
||||
/>
|
||||
|
||||
{/* Inner ring - depth effect */}
|
||||
<circle
|
||||
cx="70"
|
||||
cy="70"
|
||||
r="26"
|
||||
fill="none"
|
||||
stroke="#D0D0D0"
|
||||
strokeWidth="1"
|
||||
opacity="0.5"
|
||||
/>
|
||||
|
||||
{/* Core LED - Blue pulsing (the eye) */}
|
||||
<circle
|
||||
cx="70"
|
||||
cy="70"
|
||||
r="16"
|
||||
fill={isActive ? '#4A90D9' : '#B0B0B0'}
|
||||
filter={isPulsing ? 'url(#pulseGlow)' : 'url(#coreGlow)'}
|
||||
className="transition-all duration-500"
|
||||
>
|
||||
{isPulsing && (
|
||||
<animate
|
||||
attributeName="r"
|
||||
values="14;17;14"
|
||||
dur="1s"
|
||||
repeatCount="indefinite"
|
||||
/>
|
||||
)}
|
||||
</circle>
|
||||
|
||||
{/* Core highlight */}
|
||||
<circle
|
||||
cx="70"
|
||||
cy="70"
|
||||
r="8"
|
||||
fill="white"
|
||||
opacity={isActive ? 0.9 : 0.4}
|
||||
className="transition-opacity duration-300"
|
||||
/>
|
||||
|
||||
{/* Claw arms - ceramic white 3D style */}
|
||||
{/* Top arm */}
|
||||
<g filter="url(#shadow3d)">
|
||||
<path
|
||||
d="M 70 38 L 70 18 L 58 6 M 70 18 L 82 6"
|
||||
stroke="url(#ceramic3d)"
|
||||
strokeWidth="6"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
fill="none"
|
||||
/>
|
||||
<path
|
||||
d="M 70 38 L 70 18 L 58 6 M 70 18 L 82 6"
|
||||
stroke={isActive ? '#4A90D9' : '#C0C0C0'}
|
||||
strokeWidth="3"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
fill="none"
|
||||
opacity="0.6"
|
||||
/>
|
||||
{/* Claw tips */}
|
||||
<circle cx="58" cy="6" r="4" fill="url(#ceramic3d)" stroke={isActive ? '#4A90D9' : '#D0D0D0'} strokeWidth="1.5" />
|
||||
<circle cx="82" cy="6" r="4" fill="url(#ceramic3d)" stroke={isActive ? '#4A90D9' : '#D0D0D0'} strokeWidth="1.5" />
|
||||
</g>
|
||||
|
||||
{/* Left arm */}
|
||||
<g filter="url(#shadow3d)">
|
||||
<path
|
||||
d="M 38 70 L 18 70 L 6 58 M 18 70 L 6 82"
|
||||
stroke="url(#ceramic3d)"
|
||||
strokeWidth="6"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
fill="none"
|
||||
/>
|
||||
<path
|
||||
d="M 38 70 L 18 70 L 6 58 M 18 70 L 6 82"
|
||||
stroke={isActive ? '#4A90D9' : '#C0C0C0'}
|
||||
strokeWidth="3"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
fill="none"
|
||||
opacity="0.6"
|
||||
/>
|
||||
<circle cx="6" cy="58" r="4" fill="url(#ceramic3d)" stroke={isActive ? '#4A90D9' : '#D0D0D0'} strokeWidth="1.5" />
|
||||
<circle cx="6" cy="82" r="4" fill="url(#ceramic3d)" stroke={isActive ? '#4A90D9' : '#D0D0D0'} strokeWidth="1.5" />
|
||||
</g>
|
||||
|
||||
{/* Right arm */}
|
||||
<g filter="url(#shadow3d)">
|
||||
<path
|
||||
d="M 102 70 L 122 70 L 134 58 M 122 70 L 134 82"
|
||||
stroke="url(#ceramic3d)"
|
||||
strokeWidth="6"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
fill="none"
|
||||
/>
|
||||
<path
|
||||
d="M 102 70 L 122 70 L 134 58 M 122 70 L 134 82"
|
||||
stroke={isActive ? '#4A90D9' : '#C0C0C0'}
|
||||
strokeWidth="3"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
fill="none"
|
||||
opacity="0.6"
|
||||
/>
|
||||
<circle cx="134" cy="58" r="4" fill="url(#ceramic3d)" stroke={isActive ? '#4A90D9' : '#D0D0D0'} strokeWidth="1.5" />
|
||||
<circle cx="134" cy="82" r="4" fill="url(#ceramic3d)" stroke={isActive ? '#4A90D9' : '#D0D0D0'} strokeWidth="1.5" />
|
||||
</g>
|
||||
|
||||
{/* Bottom left arm */}
|
||||
<g filter="url(#shadow3d)">
|
||||
<path
|
||||
d="M 48 92 L 28 112 L 16 116"
|
||||
stroke="url(#ceramic3d)"
|
||||
strokeWidth="6"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
fill="none"
|
||||
/>
|
||||
<path
|
||||
d="M 48 92 L 28 112 L 16 116"
|
||||
stroke={isActive ? '#4A90D9' : '#C0C0C0'}
|
||||
strokeWidth="3"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
fill="none"
|
||||
opacity="0.6"
|
||||
/>
|
||||
<circle cx="16" cy="116" r="4" fill="url(#ceramic3d)" stroke={isActive ? '#4A90D9' : '#D0D0D0'} strokeWidth="1.5" />
|
||||
</g>
|
||||
|
||||
{/* Bottom right arm */}
|
||||
<g filter="url(#shadow3d)">
|
||||
<path
|
||||
d="M 92 92 L 112 112 L 124 116"
|
||||
stroke="url(#ceramic3d)"
|
||||
strokeWidth="6"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
fill="none"
|
||||
/>
|
||||
<path
|
||||
d="M 92 92 L 112 112 L 124 116"
|
||||
stroke={isActive ? '#4A90D9' : '#C0C0C0'}
|
||||
strokeWidth="3"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
fill="none"
|
||||
opacity="0.6"
|
||||
/>
|
||||
<circle cx="124" cy="116" r="4" fill="url(#ceramic3d)" stroke={isActive ? '#4A90D9' : '#D0D0D0'} strokeWidth="1.5" />
|
||||
</g>
|
||||
|
||||
{/* Orbit ring when active */}
|
||||
{isActive && (
|
||||
<circle
|
||||
cx="70"
|
||||
cy="70"
|
||||
r="42"
|
||||
fill="none"
|
||||
stroke="#4A90D9"
|
||||
strokeWidth="1"
|
||||
strokeDasharray="6 6"
|
||||
opacity="0.4"
|
||||
className="animate-spin"
|
||||
style={{ animationDuration: '8s', transformOrigin: '70px 70px' }}
|
||||
/>
|
||||
)}
|
||||
</svg>
|
||||
)
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
// Typewriter Hook
|
||||
|
||||
@@ -193,7 +193,7 @@ export function Sidebar({
|
||||
{/* 分區標題(collapsed 時隱藏)*/}
|
||||
{!collapsed && (
|
||||
<div style={{
|
||||
fontSize: 8,
|
||||
fontSize: 11,
|
||||
color: '#b0ad9f',
|
||||
letterSpacing: '1.5px',
|
||||
textTransform: 'uppercase' as const,
|
||||
@@ -216,7 +216,7 @@ export function Sidebar({
|
||||
gap: collapsed ? 0 : 8,
|
||||
justifyContent: collapsed ? 'center' : 'flex-start',
|
||||
padding: collapsed ? '8px 0' : '6px 12px',
|
||||
fontSize: 11,
|
||||
fontSize: 13,
|
||||
color: active ? '#141413' : '#87867f',
|
||||
fontWeight: active ? 600 : 400,
|
||||
borderRight: active ? '2px solid #d97757' : '2px solid transparent',
|
||||
@@ -231,7 +231,7 @@ export function Sidebar({
|
||||
{item.badge && count > 0 && (
|
||||
<span style={{
|
||||
marginLeft: 'auto',
|
||||
fontSize: 8,
|
||||
fontSize: 11,
|
||||
background: '#d97757',
|
||||
color: 'white',
|
||||
borderRadius: 10,
|
||||
@@ -263,7 +263,7 @@ export function Sidebar({
|
||||
gap: collapsed ? 0 : 8,
|
||||
justifyContent: collapsed ? 'center' : 'flex-start',
|
||||
padding: collapsed ? '7px 0' : '5px 12px',
|
||||
fontSize: 10,
|
||||
fontSize: 12,
|
||||
color: active ? '#141413' : '#87867f',
|
||||
fontWeight: active ? 600 : 400,
|
||||
borderRight: active ? '2px solid #d97757' : '2px solid transparent',
|
||||
|
||||
Reference in New Issue
Block a user