The-Bugger-Ducks / owl-partners-mobile

Mobile do projeto "Owl Partners" (5º DSM - 2023, FATEC Profº Jessen Vidal - SJC)
1 stars 0 forks source link

[#0306] Listar comentários de uma parceria #6

Closed gioliveirass closed 1 year ago

gioliveirass commented 1 year ago

Descrição da atividade

DoR

DoD

MariaGabrielaReis commented 1 year ago

Documentação

Foi criado uma classe para agrupar as requisições que envolvem as anotações de parceria (AnnotationsController), onde existe uma função para listagem das anotações. Essa listagem foi feita consumindo a rota do backend através dessa função e gerando os cards referentes a cada comentário,

Tecnologias: React Native, Expo, Axios, Styled Components

https://user-images.githubusercontent.com/69374340/229375518-671c4510-9034-4f37-83c0-b7765003ab73.mp4

Requisição

 async getAnnotations(id: string) {
    try {
      const { data } = await api.get(ANNOTATION_ENDPOINTS.LIST + id);
      return data as IComment[];
    } catch (error) {
      console.error(error);
    }
  }

Carregamento dos dados (na tela da parceria específica)

 async function getData() {
    const comments = await AnnotationController.getAnnotations(
      "baadc558-2791-4f9a-8d1e-e01a0a92b432", // id fixo para entrega da tarefa
    );
    setAnnotations(comments);
    setIsLoading(false);
  }

  useEffect(() => {
    getData();
  }, []);

Listagem

 {isLoading ? (
        <LoadingContainer>
          <Loading />
        </LoadingContainer>
      ) : (
        data?.map(card => {
          return (
            <Card
              key={card.id}
              id={card.id}
              type={card.title ? "annotation" : "update"}
              date={formatDate(card.createdAt)}
              time={formatTime(card.createdAt)}
              description={card.comment}
              author={`${card.User.name} ${card.User.lastName}`}
              title={card.title}
            />
          );
        })
      )}