import { useMemo, useState } from 'react'; import TreeSelect from 'antd/es/tree-select'; import Input from 'antd/es/input'; import Button from 'antd/es/button'; import Divider from 'antd/es/divider'; import message from 'antd/es/message'; import { Category, createCategory, fetchAdminCategories } from '../api'; import { buildCategoryTree, CategoryNode } from '../filters'; interface CategoryTreeOption { value: number; title: string; children?: CategoryTreeOption[]; } function toTreeData(nodes: CategoryNode[]): CategoryTreeOption[] { return nodes.map((node) => ({ value: node.id, title: node.name, children: node.children.length ? toTreeData(node.children) : undefined })); } interface Props { // Supplied by antd's Form.Item. `id` has to be forwarded or the field loses // its association with the rendered