// Rôle : encapsule l'input fichier JSON derrière un bouton d'import réutilisable.
import { Icon } from "./Icon.jsx";

export function ImportButton({ className, label, title, ariaLabel, icon, onFile }) {
  return (
    <label className={className} aria-label={ariaLabel} title={title}>
      {icon && <Icon name={icon} />}
      {label}
      <input type="file" accept="application/json" hidden onChange={async (event) => {
        const file = event.target.files?.[0];
        if (file) await onFile(file);
        event.target.value = "";
      }} />
    </label>
  );
}
