diff options
Diffstat (limited to 'packages/anastasis-webui/src/pages/home/CountrySelectionScreen.tsx')
-rw-r--r-- | packages/anastasis-webui/src/pages/home/CountrySelectionScreen.tsx | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/packages/anastasis-webui/src/pages/home/CountrySelectionScreen.tsx b/packages/anastasis-webui/src/pages/home/CountrySelectionScreen.tsx index dbe4b7616..555622c1d 100644 --- a/packages/anastasis-webui/src/pages/home/CountrySelectionScreen.tsx +++ b/packages/anastasis-webui/src/pages/home/CountrySelectionScreen.tsx @@ -1,19 +1,23 @@ /* eslint-disable @typescript-eslint/camelcase */ import { h, VNode } from "preact"; -import { CommonReducerProps, AnastasisClientFrame, withProcessLabel } from "./index"; +import { useAnastasisContext } from "../../context/anastasis"; +import { AnastasisClientFrame, withProcessLabel } from "./index"; -export function CountrySelectionScreen(props: CommonReducerProps): VNode { - const { reducer, reducerState } = props; +export function CountrySelectionScreen(): VNode { + const reducer = useAnastasisContext() + if (!reducer) { + return <div>no reducer in context</div> + } + if (!reducer.currentReducerState || !("countries" in reducer.currentReducerState)) { + return <div>invalid state</div> + } const sel = (x: any): void => reducer.transition("select_country", { country_code: x.code, currencies: [x.currency], }); return ( - <AnastasisClientFrame - hideNext - title={withProcessLabel(reducer, "Select Country")} - > - {reducerState.countries.map((x: any) => ( + <AnastasisClientFrame hideNext title={withProcessLabel(reducer, "Select Country")} > + {reducer.currentReducerState.countries.map((x: any) => ( <button onClick={() => sel(x)} key={x.name}> {x.name} ({x.currency}) </button> |