import {Ban, Fingerprint, Globe2, Plus, ShieldCheck} from 'lucide-react'; import {Button} from '@/components/ui/button'; import type {WAFRuleNode} from '@/lib/services/openflare'; type AddableType = Extract; const items = [ {type: 'ip_match', label: 'IP 匹配', icon: Fingerprint}, {type: 'geo_match', label: '地域匹配', icon: Globe2}, {type: 'pow', label: 'PoW 挑战', icon: ShieldCheck}, {type: 'block', label: '阻止', icon: Ban}, ] satisfies {type: AddableType; label: string; icon: typeof Plus}[]; export function NodeLibrary({onAdd}: {onAdd: (type: AddableType) => void}) { return
{items.map(({type, label, icon: Icon}) => )}
; }