Nice and stable before liveview

This commit is contained in:
2025-10-29 20:38:39 +00:00
parent 76586c0df2
commit 4a8d6bc5d7
21 changed files with 1135 additions and 270 deletions
+24 -34
View File
@@ -1,4 +1,4 @@
// components/ui/icons.tsx
// components/ui/Icons.tsx
// Sharp, technical SVG icons for racing dashboard
export function UsersIcon({ className = "w-6 h-6" }: { className?: string }) {
@@ -91,7 +91,7 @@ export function LiveDotIcon({ className = "w-3 h-3" }: { className?: string }) {
export function CalendarIcon({ className = "w-6 h-6" }: { className?: string }) {
return (
<svg className={className} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5">
<rect x="3" y="4" width="18" height="18" rx="2" strokeLinecap="square" strokeLinejoin="miter"/>
<rect x="3" y="4" width="18" height="18" rx="0" strokeLinecap="square" strokeLinejoin="miter"/>
<line x1="16" y1="2" x2="16" y2="6" strokeLinecap="square" strokeLinejoin="miter"/>
<line x1="8" y1="2" x2="8" y2="6" strokeLinecap="square" strokeLinejoin="miter"/>
<line x1="3" y1="10" x2="21" y2="10" strokeLinecap="square" strokeLinejoin="miter"/>
@@ -99,38 +99,28 @@ export function CalendarIcon({ className = "w-6 h-6" }: { className?: string })
);
}
export function ChevronRightIcon({ className = "w-6 h-6" }: { className?: string }) {
return (
<svg className={className} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5">
<polyline points="9 18 15 12 9 6" strokeLinecap="square" strokeLinejoin="miter"/>
</svg>
);
}
export function ChevronLeftIcon({ className = "w-6 h-6" }: { className?: string }) {
return (
<svg className={className} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5">
<polyline points="15 18 9 12 15 6" strokeLinecap="square" strokeLinejoin="miter"/>
</svg>
);
}
export function ExternalLinkIcon({ className = "w-6 h-6" }: { className?: string }) {
return (
<svg className={className} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5">
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" strokeLinecap="square" strokeLinejoin="miter"/>
<polyline points="15 3 21 3 21 9" strokeLinecap="square" strokeLinejoin="miter"/>
<line x1="10" y1="14" x2="21" y2="3" strokeLinecap="square" strokeLinejoin="miter"/>
</svg>
);
}
export function ClockIcon({ className = "w-6 h-6" }: { className?: string }) {
return (
<svg className={className} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5">
<circle cx="12" cy="12" r="10" strokeLinecap="square" strokeLinejoin="miter"/>
<polyline points="12 6 12 12 16 14" strokeLinecap="square" strokeLinejoin="miter"/>
</svg>
);
return (
<svg className={className} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5">
<circle cx="12" cy="12" r="10" strokeLinecap="square" strokeLinejoin="miter"/>
<polyline points="12 6 12 12 16 14" strokeLinecap="square" strokeLinejoin="miter"/>
</svg>
);
}
export function SettingsIcon({ className = "w-6 h-6" }: { className?: string }) {
return (
<svg className={className} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5">
<circle cx="12" cy="12" r="3" strokeLinecap="square" strokeLinejoin="miter"/>
<path d="M12 1v6m0 6v6M5.64 5.64l4.24 4.24m4.24 4.24l4.24 4.24M1 12h6m6 0h6M5.64 18.36l4.24-4.24m4.24-4.24l4.24-4.24" strokeLinecap="square" strokeLinejoin="miter"/>
</svg>
);
}
export function BoltIcon({ className = "w-6 h-6" }: { className?: string }) {
return (
<svg className={className} viewBox="0 0 24 24" fill="currentColor">
<path d="M13 2L3 14h8l-1 8 10-12h-8l1-8z" strokeLinecap="square" strokeLinejoin="miter"/>
</svg>
);
}