/* eslint-disable @typescript-eslint/camelcase */ import { BackupStates, RecoveryStates, ReducerState } from 'anastasis-core'; import { FunctionalComponent, h, VNode } from 'preact'; import { AnastasisProvider } from '../context/anastasis'; export function createExample(Component: FunctionalComponent, currentReducerState?: ReducerState, props?: Partial): { (args: Props): VNode } { const r = (args: Props): VNode => { return { null }, dismissError: () => { null }, reset: () => { null }, runTransaction: () => { null }, startBackup: () => { null }, startRecover: () => { null }, transition: () => { null }, }}> } r.args = props return r } const base = { continents: [ { name: "Europe" }, { name: "India" }, { name: "Asia" }, { name: "North America" }, { name: "Testcontinent" } ], countries: [ { code: "xx", name: "Testland", continent: "Testcontinent", continent_i18n: { de_DE: "Testkontinent" }, name_i18n: { de_DE: "Testlandt", de_CH: "Testlandi", fr_FR: "Testpais", en_UK: "Testland" }, currency: "TESTKUDOS", call_code: "+00" }, { code: "xy", name: "Demoland", continent: "Testcontinent", continent_i18n: { de_DE: "Testkontinent" }, name_i18n: { de_DE: "Demolandt", de_CH: "Demolandi", fr_FR: "Demopais", en_UK: "Demoland" }, currency: "KUDOS", call_code: "+01" } ], authentication_providers: { "http://localhost:8086/": { http_status: 200, annual_fee: "COL:0", business_name: "ana", currency: "COL", liability_limit: "COL:10", methods: [ { type: "question", usage_fee: "COL:0" } ], salt: "WBMDD76BR1E90YQ5AHBMKPH7GW", storage_limit_in_megabytes: 16, truth_upload_fee: "COL:0" }, "http://localhost:8087/": { code: 8414, hint: "request to provider failed" }, "http://localhost:8088/": { code: 8414, hint: "request to provider failed" }, "http://localhost:8089/": { code: 8414, hint: "request to provider failed" } }, // expiration: { // d_ms: 1792525051855 // check t_ms // }, } as Partial export const reducerStatesExample = { initial: undefined, recoverySelectCountry: {...base, recovery_state: RecoveryStates.CountrySelecting } as ReducerState, backupSelectCountry: {...base, backup_state: BackupStates.CountrySelecting } as ReducerState, recoverySelectContinent: {...base, recovery_state: RecoveryStates.ContinentSelecting, } as ReducerState, backupSelectContinent: {...base, backup_state: BackupStates.ContinentSelecting, } as ReducerState, secretSelection: {...base, recovery_state: RecoveryStates.SecretSelecting, } as ReducerState, recoveryFinished: {...base, recovery_state: RecoveryStates.RecoveryFinished, } as ReducerState, challengeSelecting: {...base, recovery_state: RecoveryStates.ChallengeSelecting, } as ReducerState, challengeSolving: {...base, recovery_state: RecoveryStates.ChallengeSolving, } as ReducerState, secretEdition: {...base, backup_state: BackupStates.SecretEditing, } as ReducerState, policyReview: {...base, backup_state: BackupStates.PoliciesReviewing, } as ReducerState, policyPay: {...base, backup_state: BackupStates.PoliciesPaying, } as ReducerState, backupFinished: {...base, backup_state: BackupStates.BackupFinished, } as ReducerState, authEditing: {...base, backup_state: BackupStates.AuthenticationsEditing } as ReducerState, attributeEditing: {...base, backup_state: BackupStates.UserAttributesCollecting } as ReducerState, truthsPaying: {...base, backup_state: BackupStates.TruthsPaying } as ReducerState, }