import { TransactionButton } from "@joincivil/components"; import { Civil, TwoStepEthTransaction } from "@joincivil/core"; import { CivilErrors, NewsroomRoles } from "@joincivil/utils"; import { BigNumber } from "@joincivil/typescript-types"; import { List } from "immutable"; import * as React from "react"; import { Link } from "react-router-dom"; import { formatRoute } from "react-router-named-routes"; import RichTextEditor from "react-rte"; import { Subscription } from "rxjs"; import { routes } from "../../constants"; import { CivilHelper, CivilHelperContext } from "../../apis/CivilHelper"; import { PageView, ViewModule } from "../utility/ViewModules"; import NewsroomDetail from "./NewsroomDetail"; export interface NewsroomManagementState { newsroom: any; multisigAddr: string; multisigBalance: BigNumber; error: string; editorAddress: string; articleURL: string; numTokens: string; proposedArticleIds: List; compositeSubscription: Subscription; value: any; descValue: string; } export interface NewsroomManagementProps { match: any; history: any; initialValue: any; } class NewsroomManagement extends React.Component { public static contextType: React.Context = CivilHelperContext; public context: CivilHelper; constructor(props: NewsroomManagementProps) { super(props); this.state = { newsroom: null, multisigAddr: "", multisigBalance: new BigNumber(0), error: "", editorAddress: "", articleURL: "", numTokens: "", proposedArticleIds: List(), compositeSubscription: new Subscription(), value: RichTextEditor.createEmptyValue(), descValue: "", }; } public handleValueChange = (value: any) => { this.setState({ value }); }; public onDescChange = (event: any) => { this.setState({ descValue: event.target.value }); }; public async componentDidMount(): Promise { return this.initNewsroom(); } public componentWillUnmount(): void { this.state.compositeSubscription.unsubscribe(); } public render(): JSX.Element { return ( {this.state.error} {this.state.error &&
} ProposedArticleIds:
    {this.state.proposedArticleIds.map(id => { const articleAddress = "/article/" + this.props.match.params.newsroomAddress + "/" + id; return (
  • Article {id}
  • ); })}

Add Editor
Submit Article
{this.state.multisigAddr && ( <> Send CVL to Multisig
)} Short Description: