![]() |
+
+
{tStr(encrypt ? "popoverDescriptionEncrypt" : "popoverDescription")}
+ +
+
{tStr("description")}
+ + {/* If Sentry error reporting is enabled, add a message saying the error + * was automatically reported. */} + {errorReporting && ( +{tStr("sentryNote")}
+ )} + >} + />; +} diff --git a/src/global/ForcedAuth.tsx b/src/global/ForcedAuth.tsx new file mode 100644 index 0000000..9c76f58 --- /dev/null +++ b/src/global/ForcedAuth.tsx @@ -0,0 +1,38 @@ +// Copyright (c) 2020-2021 Drew Lemmy +// This file is part of TenebraWeb 2 under AGPL-3.0. +// Full details: https://github.com/tmpim/TenebraWeb2/blob/master/LICENSE.txt +import { message } from "antd"; +import { useTranslation, TFunction } from "react-i18next"; + +import { authMasterPassword, useMasterPassword } from "@wallets"; + +import { useMountEffect } from "@utils/hooks"; +import { criticalError } from "@utils"; + +async function forceAuth(t: TFunction, salt: string, tester: string): PromiseYour browser is missing features required by TenebraWeb.
+
Please upgrade your web browser.
+ Missing feature{failedChecks.length > 1 && <>s>}:
+ {failedChecks.map((c, i, a) => (
+
+ {c.url
+ ?
+
Please upgrade to the latest version of one of these recommended browsers:
+ + {/* Browser choices */} + + >; +} + +export function openCompatCheckModal(failedChecks: CompatCheck[]): void { + Modal.error({ + title: "Unsupported browser", + + width: 640, + className: "compat-check-modal", + + okButtonProps: { style: { display: "none" }}, + closable: false, + + content:{t("sidebar.updateDescription")}
+ + +{tStr("tenebrawebDesc3")}
+{t("credits.supportersDescription")}
+ + {/* Supporter list */} +{t("credits.translatorsDescription")}
+ + {/* Language list */} +
+
+