import React, { useMemo, useState } from 'react'; import { ShieldAlert, Check, X } from 'lucide-react'; const admin_url = tpsaAdmin.admin_url; const allActiveFeatures = tpsaAdmin.feature_status.all_active_features; const defaultFeatures = [ { id: 'web-application-firewall', category: 'firewall', name: 'Web Application Firewall', description: 'Real-time protection', status: 'active', free: false, icon: ShieldAlert, url: admin_url + 'admin.php?page=tp-admin-safety-guard&tab=firewall-malware&tpsa-setting=web-application-firewall', }, ]; export default function FeatureGrid({ items = defaultFeatures, category = 'all', onConfigure, className = '', }) { const [selectedFeature, setSelectedFeature] = useState(null); const filteredFeatures = useMemo(() => { if (!items?.length) return []; if (!category || category === 'all') return items; return items.filter((f) => f.category === category); }, [items, category]); const uid = useMemo(() => `fg-${Math.random().toString(36).slice(2, 9)}`, []); const toggle = (id) => { setSelectedFeature((prev) => (prev === id ? null : id)); }; return (
{feature.description}