1
resposta

Segue minha Resolução!

Apenas alterei o setupListeners() da seguinte forma:

  setupListeners() {
    listener = firestore
        .collection("listins")
        .doc(widget.listin.id)
        .collection("produtos")
        .orderBy(ordem.name, descending: isDecrescent)
        .snapshots()
        .listen((snapshot) {
      if (snapshot.metadata.isFromCache) {
        // Se os dados vêm do cache, não mostrar SnackBars
        // ou tratar de forma diferenciada.
      } else {
        for (var change in snapshot.docChanges) {
          //  Adição real
          if (change.type == DocumentChangeType.added &&
              change.oldIndex == -1) {
            ScaffoldMessenger.of(context).showSnackBar(SnackBar(
              content: Text(
                "Produto adicionado: ${change.doc.data()?['name']}",
                style:
                    const TextStyle(fontWeight: FontWeight.bold, color: Colors.black),
              ),
              backgroundColor: Colors.greenAccent,
            ));
          } else if (change.type == DocumentChangeType.modified) {
            ScaffoldMessenger.of(context).showSnackBar(SnackBar(
                content: Text("Produto alterado: ${change.doc.data()?['name']}",
                    style: const TextStyle(
                        fontWeight: FontWeight.bold, color: Colors.black)),
                backgroundColor: Colors.deepOrangeAccent));
          } else if (change.type == DocumentChangeType.removed) {
            ScaffoldMessenger.of(context).showSnackBar(SnackBar(
                content: Text("Produto removido: ${change.doc.data()?['name']}",
                    style: const TextStyle(
                        fontWeight: FontWeight.bold, color: Colors.black)),
                backgroundColor: Colors.redAccent));
          }
        }
      }

      refresh(snapshot: snapshot);
    });
  }
1 resposta

Olá Bruno, tudo bem com você?

Obrigado por compartilhar seu modo de resolução com a comunidade Alura. Continue praticando e explorando diferentes códigos para fortalecer seu entendimento.

Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software