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) => (
))}
);
};
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"}
{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"
}
};