import React from 'react';

type BadgeVariant = 'dispatched' | 'installed' | 'returned' | 'instock' | 'pending' | 'assigned' | 'exchanged' | 'draft' | 'sent';

const variantMap: Record<BadgeVariant, { cls: string; label: string }> = {
  dispatched:  { cls: 'status-badge-dispatched', label: 'Dikirim' },
  assigned:    { cls: 'status-badge-dispatched', label: 'Di Teknisi' },
  installed:   { cls: 'status-badge-installed', label: 'Terpasang' },
  returned:    { cls: 'status-badge-returned', label: 'Dikembalikan' },
  exchanged:   { cls: 'status-badge-returned', label: 'Ditukar' },
  instock:     { cls: 'status-badge-instock', label: 'Di Gudang' },
  pending:     { cls: 'status-badge-pending', label: 'Pending' },
  draft:       { cls: 'status-badge-instock', label: 'Draft' },
  sent:        { cls: 'status-badge-installed', label: 'Terkirim' },
};

export default function StatusBadge({ variant, customLabel }: { variant: BadgeVariant; customLabel?: string }) {
  const { cls, label } = variantMap[variant] ?? variantMap['instock'];
  return (
    <span className={`inline-flex items-center px-2 py-0.5 rounded text-xs font-semibold ${cls}`}>
      {customLabel ?? label}
    </span>
  );
}