import React, { FC } from "react"; import { MembersForm, SchemesForm, DAOConfigForm } from "@dorgtech/daocreator-lib"; import LineGraphic from "../LineGraphic"; import { MDBIcon, MDBRow, MDBCol } from "mdbreact"; import { SimpleOption, getSimpleOptions } from "../../utils"; import './styles.css' export const ConfigPreview: FC<{ form: DAOConfigForm }> = ({ form }) => ( Name: {form.$.daoName.value} Symbol: {form.$.tokenSymbol.value} ); export const SchemesPreview: FC<{ form: SchemesForm }> = ({ form }) => { const simpleOptions: SimpleOption[] = getSimpleOptions(form); return (

Recommended

{simpleOptions.map(({ text, checked }: SimpleOption, index: number) => (

{text}

))}
); }; export const MembersPreview: FC<{ form: MembersForm }> = ({ form }) => { const reputationConfig = { showPercentage: false, height: "0.5rem", symbol: "REP", dataKey: "reputation", nameKey: "address" }; const tokenConfig = { showPercentage: false, height: "0.5rem", symbol: form.getDAOTokenSymbol(), dataKey: "tokens", nameKey: "address" }; let totalReputationAmount = 0; let totalTokenAmount = 0; form.toState().map(({ reputation, tokens }: any) => { totalReputationAmount += reputation; totalTokenAmount += tokens; return null; }); const numberOfMembers = form.$.length; return (

{numberOfMembers} Member{numberOfMembers > 1 && "s"}

Reputation Distribution

{totalTokenAmount > 0 && (

{form.getDAOTokenSymbol()} Token Distribution

)}
); }; const styles = { configPreview: { marginTop: 33, marginRight: "auto", marginLeft: "1.5rem", whiteSpace: "nowrap" }, schemePreview: { marginTop: 33, }, membersPreview: { marginTop: 33, paddingRight: "8rem" }, lineGraphic: { padding: "unset" } };