import { Zap, ShieldCheck, AlertCircle } from 'lucide-react'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { isValidNoffer } from '@/lib/types'; interface NofferFieldProps { value: string; onChange: (value: string) => void; } /** * Optional CLINK Offer (noffer1...) input for provider / shop forms. * Self-custodial, Nostr-native static payment code — see https://clinkme.dev. * Purely additive: leaving it blank changes nothing. */ export function NofferField({ value, onChange }: NofferFieldProps) { const trimmed = value.trim(); const showError = trimmed.length > 0 && !isValidNoffer(trimmed); const showValid = isValidNoffer(trimmed); return (
noffer1… code.
Paste a self-custodial CLINK payment code (e.g. from ShockWallet / Lightning.Pub) to accept Nostr-native Lightning payments — no web server or custodian.{' '} Learn more
)}