aboutsummaryrefslogtreecommitdiff
path: root/packages/demobank-ui/src/context
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2022-12-09 11:58:39 -0300
committerSebastian <sebasjm@gmail.com>2022-12-09 11:58:39 -0300
commitf2b319921c53010446e05ac4f24eef9995f65836 (patch)
tree43d0293b872673855534dbff7158dd94cb67cc3a /packages/demobank-ui/src/context
parentd14eedd2843f1dcbe3fea25214dbda2299378ece (diff)
downloadwallet-core-f2b319921c53010446e05ac4f24eef9995f65836.tar.xz
use translation from commons
Diffstat (limited to 'packages/demobank-ui/src/context')
-rw-r--r--packages/demobank-ui/src/context/pageState.ts4
-rw-r--r--packages/demobank-ui/src/context/translation.ts88
2 files changed, 2 insertions, 90 deletions
diff --git a/packages/demobank-ui/src/context/pageState.ts b/packages/demobank-ui/src/context/pageState.ts
index 0537a913a..fd7a6c90c 100644
--- a/packages/demobank-ui/src/context/pageState.ts
+++ b/packages/demobank-ui/src/context/pageState.ts
@@ -14,7 +14,7 @@
GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
*/
-import { hooks } from "@gnu-taler/web-util/lib/index.browser";
+import { useNotNullLocalStorage } from "@gnu-taler/web-util/lib/index.browser";
import { ComponentChildren, createContext, h, VNode } from "preact";
import { StateUpdater, useContext } from "preact/hooks";
@@ -62,7 +62,7 @@ function usePageState(
withdrawalInProgress: false,
},
): [PageStateType, StateUpdater<PageStateType>] {
- const ret = hooks.useNotNullLocalStorage("page-state", JSON.stringify(state));
+ const ret = useNotNullLocalStorage("page-state", JSON.stringify(state));
const retObj: PageStateType = JSON.parse(ret[0]);
const retSetter: StateUpdater<PageStateType> = function (val) {
diff --git a/packages/demobank-ui/src/context/translation.ts b/packages/demobank-ui/src/context/translation.ts
deleted file mode 100644
index 4d24d3f5a..000000000
--- a/packages/demobank-ui/src/context/translation.ts
+++ /dev/null
@@ -1,88 +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 { i18n, setupI18n } from "@gnu-taler/taler-util";
-import { ComponentChildren, createContext, h, VNode } from "preact";
-import { useContext, useEffect } from "preact/hooks";
-import { hooks } from "@gnu-taler/web-util/lib/index.browser";
-import { strings } from "../i18n/strings.js";
-
-
-export type InternationalizationAPI = typeof i18n
-
-interface Type {
- lang: string;
- supportedLang: { [id in keyof typeof supportedLang]: string };
- changeLanguage: (l: string) => void;
- i18n: InternationalizationAPI;
- isSaved: boolean;
-}
-
-const supportedLang = {
- es: "Espanol [es]",
- en: "English [en]",
- fr: "Francais [fr]",
- de: "Deutsch [de]",
- sv: "Svenska [sv]",
- it: "Italiane [it]",
- navigator: "Defined by navigator",
-};
-
-const initial = {
- lang: "en",
- supportedLang,
- changeLanguage: () => {
- // do not change anything
- },
- i18n,
- isSaved: false,
-};
-const Context = createContext<Type>(initial);
-
-interface Props {
- initial?: string;
- children: ComponentChildren;
- forceLang?: string;
-}
-
-// Outmost UI wrapper.
-export const TranslationProvider = ({
- initial,
- children,
- forceLang,
-}: Props): VNode => {
- const [lang, changeLanguage, isSaved] = hooks.useLang(initial);
- useEffect(() => {
- if (forceLang) {
- changeLanguage(forceLang);
- }
- });
- useEffect(() => {
- setupI18n(lang, strings);
- }, [lang]);
- if (forceLang) {
- setupI18n(forceLang, strings);
- } else {
- setupI18n(lang, strings);
- }
-
- return h(Context.Provider, {
- value: { lang, changeLanguage, supportedLang, i18n, isSaved },
- children,
- });
-};
-
-export const useTranslationContext = (): Type => useContext(Context);