diff options
Diffstat (limited to 'packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx')
-rw-r--r-- | packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx b/packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx deleted file mode 100644 index b60c86021..000000000 --- a/packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx +++ /dev/null @@ -1,196 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2022 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ -import { Fragment, h, VNode } from "preact"; -import { CheckboxOutlined } from "../components/CheckboxOutlined.js"; -import { ExchangeXmlTos } from "../components/ExchangeToS.js"; -import { - LinkSuccess, - TermsOfService, - WarningBox, - WarningText, -} from "../components/styled/index.js"; -import { useTranslationContext } from "../context/translation.js"; -import { Button } from "../mui/Button.js"; -import { TermsState } from "../utils/index.js"; - -export 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 ( - <Fragment> - {terms.status === "notfound" && ( - <section - style={{ justifyContent: "space-around", display: "flex" }} - > - <WarningText> - <i18n.Translate> - Exchange doesn't have terms of service - </i18n.Translate> - </WarningText> - </section> - )} - </Fragment> - ); - } - return ( - <Fragment> - {terms.status === "notfound" && ( - <section - style={{ justifyContent: "space-around", display: "flex" }} - > - <WarningText> - <i18n.Translate> - Exchange doesn't have terms of service - </i18n.Translate> - </WarningText> - </section> - )} - {terms.status === "new" && ( - <section - style={{ justifyContent: "space-around", display: "flex" }} - > - <Button - variant="contained" - color="success" - onClick={async () => onReview(true)} - > - <i18n.Translate> - Review exchange terms of service - </i18n.Translate> - </Button> - </section> - )} - {terms.status === "changed" && ( - <section - style={{ justifyContent: "space-around", display: "flex" }} - > - <Button - variant="contained" - color="success" - onClick={async () => onReview(true)} - > - <i18n.Translate> - Review new version of terms of service - </i18n.Translate> - </Button> - </section> - )} - </Fragment> - ); - } - return ( - <Fragment> - {ableToReviewTermsOfService && ( - <section style={{ justifyContent: "space-around", display: "flex" }}> - <LinkSuccess upperCased onClick={() => onReview(true)}> - <i18n.Translate>Show terms of service</i18n.Translate> - </LinkSuccess> - </section> - )} - <section style={{ justifyContent: "space-around", display: "flex" }}> - <CheckboxOutlined - name="terms" - enabled={reviewed} - label={ - <i18n.Translate> - I accept the exchange terms of service - </i18n.Translate> - } - onToggle={async () => { - onAccept(!reviewed); - if (ableToReviewTermsOfService) onReview(false); - }} - /> - </section> - </Fragment> - ); - } - return ( - <Fragment> - {terms.status !== "notfound" && !terms.content && ( - <section style={{ justifyContent: "space-around", display: "flex" }}> - <WarningBox> - <i18n.Translate> - The exchange reply with a empty terms of service - </i18n.Translate> - </WarningBox> - </section> - )} - {terms.status !== "accepted" && terms.content && ( - <section style={{ justifyContent: "space-around", display: "flex" }}> - {terms.content.type === "xml" && ( - <TermsOfService> - <ExchangeXmlTos doc={terms.content.document} /> - </TermsOfService> - )} - {terms.content.type === "plain" && ( - <div style={{ textAlign: "left" }}> - <pre>{terms.content.content}</pre> - </div> - )} - {terms.content.type === "html" && ( - <iframe src={terms.content.href.toString()} /> - )} - {terms.content.type === "pdf" && ( - <a href={terms.content.location.toString()} download="tos.pdf"> - <i18n.Translate>Download Terms of Service</i18n.Translate> - </a> - )} - </section> - )} - {reviewed && ableToReviewTermsOfService && ( - <section style={{ justifyContent: "space-around", display: "flex" }}> - <LinkSuccess upperCased onClick={() => onReview(false)}> - <i18n.Translate>Hide terms of service</i18n.Translate> - </LinkSuccess> - </section> - )} - {terms.status !== "notfound" && ( - <section style={{ justifyContent: "space-around", display: "flex" }}> - <CheckboxOutlined - name="terms" - enabled={reviewed} - label={ - <i18n.Translate> - I accept the exchange terms of service - </i18n.Translate> - } - onToggle={async () => { - onAccept(!reviewed); - if (ableToReviewTermsOfService) onReview(false); - }} - /> - </section> - )} - </Fragment> - ); -} |