import React from "react" import { Button } from "antd" import { Icons, createIconRender } from "components/Icons" import PostCreator from "./creators/post" import PlaylistCreator from "./creators/playlist" import VideoCreator from "./creators/video" import "./index.less" const CreatorsTypes = { post: { label: "Text Post", icon: "FileText", component: PostCreator }, playlist: { label: "Playlist", icon: "Music", component: PlaylistCreator }, video: { label: "Video", icon: "Video", component: VideoCreator, disabled: true } } export default class Creator extends React.Component { state = { type: null } handleCreatorType = (type) => { this.setState({ type }) } renderCreator = (...props) => { if (!this.state.type) { return
{Object.keys(CreatorsTypes).map((type) => { const { label, icon = "PlusCircle" } = CreatorsTypes[type] return })}
} if (!CreatorsTypes[this.state.type]) { return

Creator not found

} return React.createElement(CreatorsTypes[this.state.type].component, this.props) } render() { return

Creator

{!this.state.type ?

Select an type to start creating...

:
}
{this.renderCreator()}
} }