SPB Git
931 B · 17 lines tsx
1"use client";2import { cn } from "../ui";34export const PROJECT_COLORS = ["#6d9cff", "#f0b35b", "#4fd1a5", "#ff6b6b", "#b48cff", "#ff9f5a", "#3cc7d6", "#e86fb3"];56export function ColorPicker({ value, onChange }: { value: string | null; onChange: (c: string) => void }) {7  return (8    <div className="flex flex-wrap gap-1.5" role="radiogroup" aria-label="Couleur du projet">9      {PROJECT_COLORS.map(c => (10        <button key={c} type="button" role="radio" aria-checked={value === c} onClick={() => onChange(c)} className={cn("h-6 w-6 rounded-full border-2 transition-transform hover:scale-110", value === c ? "border-fg" : "border-transparent")} style={{ background: c }} title={c} />11      ))}12    </div>13  );14}1516export function fmtBytes(n?: number | null) { if (n == null) return "—"; if (n < 1024) return `${n} o`; if (n < 1024 * 1024) return `${(n / 1024).toFixed(0)} Ko`; return `${(n / 1024 / 1024).toFixed(1)} Mo`; }17
Files · main
Menu

Theme