import * as q from '../../../../../backend/src/Model' import Copy from '../../helper/Copy' import Panel from '../Panel' import React, { useMemo, useCallback } from 'react' import Topic from './Topic' import { bindActionCreators } from 'redux' import { connect } from 'react-redux' import { RecursiveTopicDeleteButton } from './RecursiveTopicDeleteButton' import { sidebarActions } from '../../../actions' import { TopicDeleteButton } from './TopicDeleteButton' const TopicPanel = (props: { node?: q.TreeNode; actions: typeof sidebarActions }) => { const { node } = props console.log(node && node.path()) const copyTopic = node ? : null const deleteTopic = useCallback((topic?: q.TreeNode, recursive: boolean = false) => { if (!topic) { return } props.actions.clearTopic(topic, recursive) }, []) return useMemo( () => ( Topic {copyTopic} ), [node, node && node.childTopicCount()] ) } const mapDispatchToProps = (dispatch: any) => { return { actions: bindActionCreators(sidebarActions, dispatch), } } export default connect( undefined, mapDispatchToProps )(TopicPanel)