import React, { useState, useContext } from "react"; import { View, Text, StyleSheet } from "react-native"; import { dimensions } from "../config/dimensions"; import colors from "../config/colors"; import Button from "../components/Button"; import { MaterialCommunityIcons } from "@expo/vector-icons"; import { AuthContext } from "../auth/context"; import authStorage from "../auth/storage"; import { Form, SubmitButton, FormField, ErrorMessage, } from "../components/forms"; import { KeyboardAwareScrollView } from "react-native-keyboard-aware-scroll-view"; import ConfirmationModal from "../components/ConfirmationModal"; import { userActivation } from "../api/auth"; function Header() { return ( Ativar instituição ); } function Institution({ user }) { const institutionMap = { E: "Escola", D: "Defesa Civil", N: "Não governamental", O: "Outra", N: "Nenhuma", }; const roleMap = { ROLE_CLIENT: "Não responsável", ROLE_INSTITUTION: "Responsável", } return ( Tipo de instituição: {user.institutiontype ? institutionMap[user.institutiontype] : "Não informado"} Nome da instituição: {user.institution ? user.institution : "Não informado"} Vínculo institucional: {roleMap[user?.roles[0]]} ); } function ValidateCode({ user }) { return (
Código de ativação: ); } async function processOnSubmit(navigation, form, instRole, setShowLog) { const response = await userActivation(form.code); console.log("==============================================================================") console.log(response) if (instRole == "Não responsável") { if (response.ok) { setShowLog({ show: true, message: true }); } else { setShowLog({ show: true, message: false }); } } else if (response.ok) { navigation.navigate("ActivateInstitutionShowCode"); } else { setShowLog({ show: true, message: false }); } // navigation.navigate("ActivateInstitutionShowCode", { code: form.code }); } export default function ActivateInstitutionCode({ navigation }) { const { user, _ } = useContext(AuthContext); // FIXME: wpdAuth has errors while giving /me data for ROLE_INSTITUTION // user.role = "ROLE_CLIENT" // console.log(user) const initialState = { show: false, message: true }; const [showLog, setShowLog] = useState(initialState); return (
{ console.log("Forms values: \n" + JSON.stringify(form)); processOnSubmit(navigation, form, user.role, setShowLog); }} > setShowLog(initialState)} onDecline={() => setShowLog(initialState)} /> ); } const styles = StyleSheet.create({ label: { fontSize: dimensions.text.secondary, marginBottom: 12, fontWeight: "bold", textAlign: "left", color: colors.secondary, }, subText: { color: colors.subText, fontSize: 16, alignSelf: "center", fontWeight: "500", paddingLeft: 16, }, title: { fontSize: 18, fontWeight: "bold", textAlign: "center", color: colors.primary, }, labelStyle: { fontSize: dimensions.text.secondary, fontWeight: "bold", textAlign: "left", color: colors.secondary, marginBottom: 12, marginTop: 48, }, iconField: { justifyContent: "center", alignItems: "center", flexDirection: "row", marginBottom: 24, }, });