'use client'

// Reusable licence-source banner placed at the top of an SDK module page.
// One-line context that tells the user (and any auditor) which sources
// the module draws on and which BreakPilot licence rule applies.
//
// Usage:
//   <LicenseModuleBanner
//     rule={1}
//     sourceLabel="DSGVO Art. 30 (EU 2016/679)"
//   />
//
// For modules that are pure BreakPilot eigenwerk:
//   <LicenseModuleBanner rule={3} sourceLabel="BreakPilot-Eigenwerk" />

type Props = {
  rule: 1 | 2 | 3
  sourceLabel: string
  /** Optional extended note shown after sourceLabel */
  detail?: string
}

const RULE_META: Record<number, { bg: string; text: string; pill: string; descr: string }> = {
  1: {
    bg: 'bg-emerald-50 border-emerald-200',
    text: 'text-emerald-800',
    pill: 'bg-emerald-600 text-white',
    descr: 'Hoheitsrecht/Public Domain — woertlich uebernehmbar',
  },
  2: {
    bg: 'bg-amber-50 border-amber-200',
    text: 'text-amber-800',
    pill: 'bg-amber-600 text-white',
    descr: 'Woertlich mit Attribution-Pflicht',
  },
  3: {
    bg: 'bg-slate-50 border-slate-200',
    text: 'text-slate-700',
    pill: 'bg-slate-600 text-white',
    descr: 'Identifier-Verweis / BreakPilot-Eigenwerk',
  },
}

export function LicenseModuleBanner({ rule, sourceLabel, detail }: Props) {
  const m = RULE_META[rule]
  return (
    <div className={`px-3 py-2 ${m.bg} border rounded-lg text-xs ${m.text} flex items-start gap-2`}>
      <span className={`inline-flex items-center justify-center w-6 h-6 rounded-full text-[10px] font-bold ${m.pill} flex-shrink-0`}>
        R{rule}
      </span>
      <div className="flex-1">
        <span className="font-semibold">Quellen &amp; Lizenz:</span>{' '}
        <span>{sourceLabel}</span>
        <span className="text-slate-500"> — {m.descr}.</span>
        {detail && <span className="block mt-0.5 text-[11px] opacity-80">{detail}</span>}
        <a href="/sdk/licenses" className="underline ml-1">Quellenverzeichnis</a>
      </div>
    </div>
  )
}

export default LicenseModuleBanner
