fga-eps-mds / 2017.2-MerendaMais

Aplicação mobile para auxiliar conselheiros na fiscalização da merenda escolar das escolas de sua região, desde planejar uma visita até a consolidação dos dados.
GNU General Public License v3.0
8 stars 6 forks source link

Criar componente de mostrar email de agente #207

Closed andre-filho closed 5 years ago

andre-filho commented 5 years ago

O seguinte código está duplicado e poderia ser arrumado com a criação de um novo componente

  showAgentEmail() {
    if (this.state.visit.agentEmail !== '') {
      return (
        <View>
          <Text style={styles.TopListText}>Agente Convidado</Text>
          <View style={styles.InputFieldStyle}>
            <Text>{this.state.visit.agentEmail}</Text>
          </View>
        </View>
      );
    }
    return (
      <View>
        <Text style={styles.TopListText}>Agente Convidado</Text>
        <View style={styles.InputFieldStyle}>
          <Text style={styles.NoInvitedAgent}>Nenhum agente convidado</Text>
        </View>
      </View>
    );
  }
andre-filho commented 5 years ago

solved in commit c32c021:

New function

showAgentEmail() {
   return (
      <ShowEmail
        agentEmail={this.state.agentEmail}
      />
}

Component:

import React from 'react';
import PropTypes from 'prop-types';
import { View, Text } from 'react-native-animatable';
import styles from '../Styles/SchedulingVisitStyles';

// stateless component declaration according to the convention
const ShowEmail = ({ agentEmail }) => {
  return (
    <View>
      <Text style={styles.TopListText}>
        Agente Convidado
      </Text>
      <View style={styles.InputFieldStyle}>
        <Text
          style={agentEmail !== '' ? '' : styles.NoInvitedAgent}
        >
          {agentEmail !== '' ? agentEmail : 'Nenhum agente convidado'}
        </Text>
      </View>
    </View>
  );
};

ShowEmail.propTypes = {
  agentEmail: PropTypes.string.isRequired,
};

export default ShowEmail;