import { Fragment, h, VNode } from "preact"; import { CheckboxOutlined } from "../components/CheckboxOutlined"; import { ExchangeXmlTos } from "../components/ExchangeToS"; import { ButtonSuccess, ButtonWarning, LinkSuccess, TermsOfService, WarningBox, WarningText, } from "../components/styled"; import { useTranslationContext } from "../context/translation"; import { TermsState } from "../utils/index"; interface Props { reviewing: boolean; reviewed: boolean; terms: TermsState; onReview?: (b: boolean) => void; onAccept: (b: boolean) => void; } export function TermsOfServiceSection({ reviewed, reviewing, terms, onAccept, onReview, }: Props): VNode { const { i18n } = useTranslationContext(); const ableToReviewTermsOfService = onReview !== undefined; if (!reviewing) { if (!reviewed) { if (!ableToReviewTermsOfService) { return ( {terms.status === "notfound" && (
Exchange doesn't have terms of service
)}
); } return ( {terms.status === "notfound" && (
Exchange doesn't have terms of service
)} {terms.status === "new" && (
onReview(true)}> Review exchange terms of service
)} {terms.status === "changed" && (
onReview(true)}> Review new version of terms of service
)}
); } return ( {ableToReviewTermsOfService && (
onReview(true)}> Show terms of service
)}
I accept the exchange terms of service } onToggle={() => { onAccept(!reviewed); if (ableToReviewTermsOfService) onReview(false); }} />
); } return ( {terms.status !== "notfound" && !terms.content && (
The exchange reply with a empty terms of service
)} {terms.status !== "accepted" && terms.content && (
{terms.content.type === "xml" && ( )} {terms.content.type === "plain" && (
{terms.content.content}
)} {terms.content.type === "html" && (