diff --git a/lib/pages/chat_details/chat_details.dart b/lib/pages/chat_details/chat_details.dart index df5fa727f..4263aab5c 100644 --- a/lib/pages/chat_details/chat_details.dart +++ b/lib/pages/chat_details/chat_details.dart @@ -1,3 +1,5 @@ +import 'dart:async'; + import 'package:flutter/material.dart'; import 'package:collection/collection.dart'; @@ -55,11 +57,22 @@ class ChatDetailsController extends State bool loadingActivities = true; bool loadingCourseSummary = true; + // listen to language updates to refresh course info + StreamSubscription? _languageSubscription; + @override void initState() { super.initState(); _loadCourseInfo(); _loadSummaries(); + + _languageSubscription = MatrixState + .pangeaController.userController.languageStream.stream + .listen((update) { + if (update.prevBaseLang != update.baseLang) { + _loadCourseInfo(); + } + }); } @override @@ -71,6 +84,12 @@ class ChatDetailsController extends State } } + @override + void dispose() { + _languageSubscription?.cancel(); + super.dispose(); + } + // Pangea# bool displaySettings = false;