searchQA method

void searchQA(
  1. String query
)

Implementation

void searchQA(final String query) async {
  try {
    if (query.isEmpty) {
      final qnaList = await getQna();
      emit(HlepUserLoadingQnaStateSuccess(qnaList));
      return;
    }

    final allQna = await getQna();
    final filteredList = allQna
        .where(
          (final qna) =>
              qna.question.toLowerCase().contains(query.toLowerCase()) ||
              qna.simAnswer.toLowerCase().contains(query.toLowerCase()) ||
              qna.fullAnswer.toLowerCase().contains(query.toLowerCase()),
        )
        .toList();

    emit(HlepUserLoadingQnaStateSuccess(filteredList));
  } catch (e) {
    emit(HelpUserErrorState(e.toString()));
  }
}