From 34fb8614c13b991fde70a2a0abe814d9b57ddd7c Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Thu, 16 Oct 2025 11:34:13 -0400 Subject: [PATCH] chore: on no courses found for language, log error (#4434) --- lib/pangea/common/config/environment.dart | 8 +++++--- .../course_creation/course_search_provider.dart | 17 ++++++++++++++++- .../course_plans/courses/course_filter.dart | 8 ++++++++ 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/lib/pangea/common/config/environment.dart b/lib/pangea/common/config/environment.dart index 68961e31c..30318bcbf 100644 --- a/lib/pangea/common/config/environment.dart +++ b/lib/pangea/common/config/environment.dart @@ -1,10 +1,12 @@ import 'dart:convert'; +import 'package:flutter/services.dart'; + +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:get_storage/get_storage.dart'; + import 'package:fluffychat/pangea/common/constants/local.key.dart'; import 'package:fluffychat/pangea/common/utils/error_handler.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_dotenv/flutter_dotenv.dart'; -import 'package:get_storage/get_storage.dart'; class Environment { static bool get itIsTime => diff --git a/lib/pangea/course_creation/course_search_provider.dart b/lib/pangea/course_creation/course_search_provider.dart index 0d688d751..fafbe59f5 100644 --- a/lib/pangea/course_creation/course_search_provider.dart +++ b/lib/pangea/course_creation/course_search_provider.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:fluffychat/pangea/common/utils/error_handler.dart'; import 'package:fluffychat/pangea/course_plans/courses/course_filter.dart'; import 'package:fluffychat/pangea/course_plans/courses/course_plan_model.dart'; import 'package:fluffychat/pangea/course_plans/courses/course_plans_repo.dart'; @@ -40,8 +41,22 @@ mixin CourseSearchProvider on State { }); final resp = await CoursePlansRepo.searchByFilter(filter: _filter); courses = resp.coursePlans; + if (courses.isEmpty) { + ErrorHandler.logError( + e: "No courses found", + data: { + 'filter': _filter.toJson(), + }, + ); + } } catch (e, s) { - debugPrint("Failed to load courses: $e\n$s"); + ErrorHandler.logError( + e: e, + s: s, + data: { + 'filter': _filter.toJson(), + }, + ); error = e; } finally { if (mounted) setState(() => loading = false); diff --git a/lib/pangea/course_plans/courses/course_filter.dart b/lib/pangea/course_plans/courses/course_filter.dart index e05445186..a43fc59d7 100644 --- a/lib/pangea/course_plans/courses/course_filter.dart +++ b/lib/pangea/course_plans/courses/course_filter.dart @@ -60,6 +60,14 @@ class CourseFilter { return where; } + Map toJson() { + return { + "targetLanguage": targetLanguage?.toJson(), + "languageOfInstructions": languageOfInstructions?.toJson(), + "cefrLevel": cefrLevel?.string, + }; + } + @override bool operator ==(Object other) { if (identical(this, other)) return true;