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, institutionRole }) { 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 ( Tippo de instituição: {institutionMap[user.institutiontype]} Nome da instituição: {user.institution} Vínculo institucional: {roleMap[user.role]} ); } // 950ebd56-7acc-4b45-9366-23a0f814f3f2 // 1199990987 function ValidateCode({ user }) { return (
Código de ativação: ); } async function processOnSubmit(navigation, form, instRole, setShowLog) { const response = await userActivation(form.code); 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", { code: response.data }); } 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" 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, }, });