diff options
author | Sebastian <sebasjm@gmail.com> | 2024-04-21 14:57:13 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2024-04-22 08:52:56 -0300 |
commit | d046653246d4b397bf81cfadbdfe2d91b46c7e7f (patch) | |
tree | 3cfb8e53eff69b17752767574e0b718fdfd2c974 /packages/challenger-ui/src/context/settings.ts | |
parent | 94b2530f2f9ea0e0efdf6e933f6160105265a2c6 (diff) | |
download | wallet-core-d046653246d4b397bf81cfadbdfe2d91b46c7e7f.tar.gz wallet-core-d046653246d4b397bf81cfadbdfe2d91b46c7e7f.tar.bz2 wallet-core-d046653246d4b397bf81cfadbdfe2d91b46c7e7f.zip |
challenger spa
Diffstat (limited to 'packages/challenger-ui/src/context/settings.ts')
-rw-r--r-- | packages/challenger-ui/src/context/settings.ts | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/packages/challenger-ui/src/context/settings.ts b/packages/challenger-ui/src/context/settings.ts new file mode 100644 index 000000000..679359200 --- /dev/null +++ b/packages/challenger-ui/src/context/settings.ts @@ -0,0 +1,44 @@ +/* + This file is part of GNU Taler + (C) 2022-2024 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 { ComponentChildren, createContext, h, VNode } from "preact"; +import { useContext } from "preact/hooks"; +import { ChallengerUiSettings } from "../settings.js"; + +/** + * + * @author Sebastian Javier Marchano (sebasjm) + */ + +export type Type = ChallengerUiSettings; + +const initial: ChallengerUiSettings = {}; +const Context = createContext<Type>(initial); + +export const useSettingsContext = (): Type => useContext(Context); + +export const SettingsProvider = ({ + children, + value, +}: { + value: ChallengerUiSettings; + children: ComponentChildren; +}): VNode => { + return h(Context.Provider, { + value, + children, + }); +}; |