/* eslint-disable @typescript-eslint/camelcase */ import { h, VNode } from "preact"; import { useAnastasisContext } from "../../context/anastasis"; import { AnastasisClientFrame } from "./index"; export function ReviewPoliciesScreen(): VNode { const reducer = useAnastasisContext() if (!reducer) { return
no reducer in context
} if (!reducer.currentReducerState || reducer.currentReducerState.backup_state === undefined) { return
invalid state
} const authMethods = reducer.currentReducerState.authentication_methods ?? []; const policies = reducer.currentReducerState.policies ?? []; return ( {policies.map((p, policy_index) => { const methods = p.methods .map(x => authMethods[x.authentication_method] && ({ ...authMethods[x.authentication_method], provider: x.provider })) .filter(x => !!x) const policyName = methods.map(x => x.type).join(" + "); return (

Policy #{policy_index + 1}: {policyName}

Required Authentications: {!methods.length &&

No auth method found

}
); })}
); }