import React, { useState } from 'react'; import { useTranslation } from 'react-i18next'; interface Feature { key: string; translation_key: string; tooltip_key?: string; category: string; } interface Category { icon: string; translation_key: string; } interface PricingFeatureCategoryProps { categoryKey: string; category: Category; features: Feature[]; className?: string; } /** * PricingFeatureCategory - Displays a collapsible category of features * Groups related features with icons for better organization */ export const PricingFeatureCategory: React.FC = ({ categoryKey, category, features, className = '', }) => { const [isExpanded, setIsExpanded] = useState(false); const { t } = useTranslation('subscription'); if (features.length === 0) { return null; } const categoryName = t(category.translation_key); return (
{isExpanded && (
{features.map((feature) => { const featureName = t(feature.translation_key); const tooltip = feature.tooltip_key ? t(feature.tooltip_key) : undefined; return (
{featureName} {tooltip && ( ℹ️ )}
); })}
)}
); }; export default PricingFeatureCategory;