setSelectedCategory(category.title)
+ : /* For deeper categories, scroll the subcategory header into view. */
+ () => {
+ document.getElementById(category.anchorKey)?.scrollIntoView(true);
+ }
+ }
+ >
+
+
{category.title}
+ {depth === 0 && (
+ /** Show recipe counts on top-level categories. */
+
+ ({Object.entries(category.descendants).length})
+
+ )}
+
+ {depth < maxDepth &&
+ Object.entries(category.subcategories).length > 0 &&
+ selectedCategory === category.title && (
+
+ {sortBy(Object.values(category.subcategories), [
+ (category: Category) => category.title,
+ ]).map((subcategory) => (
+
+ ))}
+
+ )}
+
+ );
+};
+
+type CategoryViewProps