diff options
Diffstat (limited to 'packages/merchant-backend-ui/src/context')
6 files changed, 0 insertions, 283 deletions
diff --git a/packages/merchant-backend-ui/src/context/backend.ts b/packages/merchant-backend-ui/src/context/backend.ts deleted file mode 100644 index a920d6ffc..000000000 --- a/packages/merchant-backend-ui/src/context/backend.ts +++ /dev/null @@ -1,82 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 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/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { createContext, h, VNode } from 'preact' -import { useCallback, useContext, useState } from 'preact/hooks' -import { useBackendDefaultToken, useBackendURL } from '../hooks'; - -interface BackendContextType { - url: string; - token?: string; - triedToLog: boolean; - resetBackend: () => void; - clearAllTokens: () => void; - addTokenCleaner: (c: () => void) => void; - updateLoginStatus: (url: string, token?: string) => void; -} - -const BackendContext = createContext<BackendContextType>({ - url: '', - token: undefined, - triedToLog: false, - resetBackend: () => null, - clearAllTokens: () => null, - addTokenCleaner: () => null, - updateLoginStatus: () => null, -}) - -function useBackendContextState(defaultUrl?: string): BackendContextType { - const [url, triedToLog, changeBackend, resetBackend] = useBackendURL(defaultUrl); - const [token, _updateToken] = useBackendDefaultToken(); - const updateToken = (t?: string) => { - _updateToken(t) - } - - const tokenCleaner = useCallback(() => { updateToken(undefined) }, []) - const [cleaners, setCleaners] = useState([tokenCleaner]) - const addTokenCleaner = (c: () => void) => setCleaners(cs => [...cs, c]) - const addTokenCleanerMemo = useCallback((c: () => void) => { addTokenCleaner(c) }, [tokenCleaner]) - - const clearAllTokens = () => { - cleaners.forEach(c => c()) - for (let i = 0; i < localStorage.length; i++) { - const k = localStorage.key(i) - if (k && /^backend-token/.test(k)) localStorage.removeItem(k) - } - resetBackend() - } - - const updateLoginStatus = (url: string, token?: string) => { - changeBackend(url); - if (token) updateToken(token); - }; - - - return { url, token, triedToLog, updateLoginStatus, resetBackend, clearAllTokens, addTokenCleaner: addTokenCleanerMemo } -} - -export const BackendContextProvider = ({ children, defaultUrl }: { children: any, defaultUrl?: string }): VNode => { - const value = useBackendContextState(defaultUrl) - - return h(BackendContext.Provider, { value, children }); -} - -export const useBackendContext = (): BackendContextType => useContext(BackendContext); diff --git a/packages/merchant-backend-ui/src/context/config.ts b/packages/merchant-backend-ui/src/context/config.ts deleted file mode 100644 index 5cd772380..000000000 --- a/packages/merchant-backend-ui/src/context/config.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 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/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { createContext } from 'preact' -import { useContext } from 'preact/hooks' - -interface Type { - currency: string; - version: string; -} -const Context = createContext<Type>(null!) - -export const ConfigContextProvider = Context.Provider -export const useConfigContext = (): Type => useContext(Context); diff --git a/packages/merchant-backend-ui/src/context/fetch.ts b/packages/merchant-backend-ui/src/context/fetch.ts deleted file mode 100644 index 52a4f9c8d..000000000 --- a/packages/merchant-backend-ui/src/context/fetch.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 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/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { h, createContext, VNode, ComponentChildren } from 'preact' -import { useContext } from 'preact/hooks' -import useSWR, { trigger, useSWRInfinite, cache, mutate } from 'swr'; - -interface Type { - useSWR: typeof useSWR, - useSWRInfinite: typeof useSWRInfinite, -} - -const Context = createContext<Type>({} as any) - -export const useFetchContext = (): Type => useContext(Context); -export const FetchContextProvider = ({ children }: { children: ComponentChildren }): VNode => { - return h(Context.Provider, { value: { useSWR, useSWRInfinite }, children }); -} - -export const FetchContextProviderTesting = ({ children, data }: { children: ComponentChildren, data:any }): VNode => { - return h(Context.Provider, { value: { useSWR: () => data, useSWRInfinite }, children }); -} diff --git a/packages/merchant-backend-ui/src/context/instance.ts b/packages/merchant-backend-ui/src/context/instance.ts deleted file mode 100644 index fecf36426..000000000 --- a/packages/merchant-backend-ui/src/context/instance.ts +++ /dev/null @@ -1,35 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 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/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { createContext } from 'preact' -import { useContext } from 'preact/hooks' - -interface Type { - id: string; - token?: string; - admin?: boolean; - changeToken: (t?:string) => void; -} - -const Context = createContext<Type>({} as any) - -export const InstanceContextProvider = Context.Provider -export const useInstanceContext = (): Type => useContext(Context); diff --git a/packages/merchant-backend-ui/src/context/listener.ts b/packages/merchant-backend-ui/src/context/listener.ts deleted file mode 100644 index 659db0a03..000000000 --- a/packages/merchant-backend-ui/src/context/listener.ts +++ /dev/null @@ -1,35 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 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/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { createContext } from 'preact' -import { useContext } from 'preact/hooks' - -interface Type { - id: string; - token?: string; - admin?: boolean; - changeToken: (t?:string) => void; -} - -const Context = createContext<Type>({} as any) - -export const ListenerContextProvider = Context.Provider -export const useListenerContext = (): Type => useContext(Context); diff --git a/packages/merchant-backend-ui/src/context/translation.ts b/packages/merchant-backend-ui/src/context/translation.ts deleted file mode 100644 index 952a1e325..000000000 --- a/packages/merchant-backend-ui/src/context/translation.ts +++ /dev/null @@ -1,59 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 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/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -import { createContext, h, VNode } from 'preact' -import { useContext, useEffect } from 'preact/hooks' -import { useLang } from '../hooks' -import * as jedLib from "jed"; -import { strings } from "../i18n/strings"; - -interface Type { - lang: string; - handler: any; - changeLanguage: (l: string) => void; -} -const initial = { - lang: 'en', - handler: null, - changeLanguage: () => { - // do not change anything - } -} -const Context = createContext<Type>(initial) - -interface Props { - initial?: string, - children: any, - forceLang?: string -} - -export const TranslationProvider = ({ initial, children, forceLang }: Props): VNode => { - const [lang, changeLanguage] = useLang(initial) - useEffect(() => { - if (forceLang) { - changeLanguage(forceLang) - } - }) - const handler = new jedLib.Jed(strings[lang]); - return h(Context.Provider, { value: { lang, handler, changeLanguage }, children }); -} - -export const useTranslationContext = (): Type => useContext(Context);
\ No newline at end of file |