You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.4 KiB
Dart
47 lines
1.4 KiB
Dart
import 'package:flutter/cupertino.dart';
|
|
|
|
import 'package:fluffychat/pangea/choreographer/controllers/choreographer.dart';
|
|
import 'package:fluffychat/pangea/constants/language_constants.dart';
|
|
import 'package:fluffychat/pangea/models/language_model.dart';
|
|
import 'package:fluffychat/pangea/utils/firebase_analytics.dart';
|
|
|
|
class MessageOptions {
|
|
Choreographer choreographer;
|
|
LanguageModel? _selectedDisplayLang;
|
|
|
|
MessageOptions(this.choreographer);
|
|
|
|
LanguageModel? get selectedDisplayLang {
|
|
if (_selectedDisplayLang != null &&
|
|
_selectedDisplayLang!.langCode != LanguageKeys.unknownLanguage) {
|
|
return _selectedDisplayLang;
|
|
}
|
|
_selectedDisplayLang = choreographer.l2Lang;
|
|
return _selectedDisplayLang;
|
|
}
|
|
|
|
bool get isTranslationOn =>
|
|
_selectedDisplayLang?.langCode != choreographer.l2LangCode;
|
|
|
|
// void setSelectedDisplayLang(LanguageModel? newLang) {
|
|
// _selectedDisplayLang = newLang;
|
|
// choreographer.setState();
|
|
// }
|
|
|
|
void toggleSelectedDisplayLang() {
|
|
if (_selectedDisplayLang?.langCode == choreographer.l2LangCode) {
|
|
_selectedDisplayLang = choreographer.l1Lang;
|
|
} else {
|
|
_selectedDisplayLang = choreographer.l2Lang;
|
|
}
|
|
debugPrint('toggleSelectedDisplayLang: ${_selectedDisplayLang?.langCode}');
|
|
choreographer.setState();
|
|
GoogleAnalytics.messageTranslate();
|
|
}
|
|
|
|
void resetSelectedDisplayLang() {
|
|
_selectedDisplayLang = choreographer.l2Lang;
|
|
choreographer.setState();
|
|
}
|
|
}
|