import React, { memo } from 'react'; import WebsiteTile from '../WebsiteTile'; import { Category, Website } from '../../types'; interface CategoryGroupProps { category: Category; isEditing: boolean; setEditingCategory: (category: Category) => void; setIsCategoryModalOpen: (isOpen: boolean) => void; setAddingWebsite: (category: Category) => void; setEditingWebsite: (website: Website) => void; handleMoveWebsite: (website: Website, direction: 'left' | 'right') => void; getHorizontalAlignmentClass: (alignment: string) => string; horizontalAlignment: string; tileSize?: string; } const getAddTileSizeClass = (size: string | undefined) => { switch (size) { case 'small': return 'w-28 h-28'; case 'medium': return 'w-32 h-32'; case 'large': return 'w-36 h-36'; default: return 'w-32 h-32'; } }; const CategoryGroup: React.FC = ({ category, isEditing, setEditingCategory, setIsCategoryModalOpen, setAddingWebsite, setEditingWebsite, handleMoveWebsite, getHorizontalAlignmentClass, horizontalAlignment, tileSize, }) => { return (

{category.name}

{isEditing && ( )}
{category.websites.map((website) => ( ))} {isEditing && ( )}
); }; export default memo(CategoryGroup);