{"version":3,"file":"reducer.mjs","sources":["../../../../../../../../web/src/ui/b2c/reducer.ts"],"sourcesContent":["import { AppScreens, AppState, CryptoState, OTPState, PasswordState } from './GlobalContextProvider';\n\nexport type Action =\n  | { type: 'transition'; screen: AppScreens }\n  | { type: 'set_magic_link_email'; email: string }\n  | { type: 'update_otp_state'; otpState: OTPState }\n  | { type: 'update_crypto_state'; cryptoState: CryptoState }\n  | { type: 'update_password_state'; passwordState: PasswordState };\n\nexport const reducer = (state: AppState, action: Action): AppState => {\n  switch (action.type) {\n    case 'transition':\n      return {\n        ...state,\n        screen: action.screen,\n      };\n    case 'set_magic_link_email': {\n      return {\n        ...state,\n        formState: {\n          ...state.formState,\n          magicLinkState: { email: action.email },\n        },\n      };\n    }\n    case 'update_otp_state': {\n      return {\n        ...state,\n        formState: {\n          ...state.formState,\n          otpState: action.otpState,\n        },\n      };\n    }\n    case 'update_crypto_state': {\n      return {\n        ...state,\n        formState: {\n          ...state.formState,\n          cryptoState: action.cryptoState,\n        },\n      };\n    }\n    case 'update_password_state': {\n      return {\n        ...state,\n        formState: {\n          ...state.formState,\n          passwordState: action.passwordState,\n        },\n      };\n    }\n\n    default:\n      throw new Error();\n  }\n};\n"],"names":["reducer","state","action","type","screen","formState","magicLinkState","email","otpState","cryptoState","passwordState","Error"],"mappings":"AASO,MAAMA,OAAAA,GAAU,CAACC,KAAAA,EAAiBC,MAAAA,GAAAA;AACvC,IAAA,OAAQA,OAAOC,IAAI;QACjB,KAAK,YAAA;YACH,OAAO;AACL,gBAAA,GAAGF,KAAK;AACRG,gBAAAA,MAAAA,EAAQF,OAAOE;AACjB,aAAA;QACF,KAAK,sBAAA;AAAwB,YAAA;gBAC3B,OAAO;AACL,oBAAA,GAAGH,KAAK;oBACRI,SAAAA,EAAW;AACT,wBAAA,GAAGJ,MAAMI,SAAS;wBAClBC,cAAAA,EAAgB;AAAEC,4BAAAA,KAAAA,EAAOL,OAAOK;AAAM;AACxC;AACF,iBAAA;AACF,YAAA;QACA,KAAK,kBAAA;AAAoB,YAAA;gBACvB,OAAO;AACL,oBAAA,GAAGN,KAAK;oBACRI,SAAAA,EAAW;AACT,wBAAA,GAAGJ,MAAMI,SAAS;AAClBG,wBAAAA,QAAAA,EAAUN,OAAOM;AACnB;AACF,iBAAA;AACF,YAAA;QACA,KAAK,qBAAA;AAAuB,YAAA;gBAC1B,OAAO;AACL,oBAAA,GAAGP,KAAK;oBACRI,SAAAA,EAAW;AACT,wBAAA,GAAGJ,MAAMI,SAAS;AAClBI,wBAAAA,WAAAA,EAAaP,OAAOO;AACtB;AACF,iBAAA;AACF,YAAA;QACA,KAAK,uBAAA;AAAyB,YAAA;gBAC5B,OAAO;AACL,oBAAA,GAAGR,KAAK;oBACRI,SAAAA,EAAW;AACT,wBAAA,GAAGJ,MAAMI,SAAS;AAClBK,wBAAAA,aAAAA,EAAeR,OAAOQ;AACxB;AACF,iBAAA;AACF,YAAA;AAEA,QAAA;AACE,YAAA,MAAM,IAAIC,KAAAA,EAAAA;AACd;AACF;;;;"}