Skip to content

Commit

Permalink
Made loading progress indicator work everywhere
Browse files Browse the repository at this point in the history
  • Loading branch information
ManeraKai committed Apr 7, 2024
1 parent 1fa66b6 commit fbb76f9
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 28 deletions.
5 changes: 1 addition & 4 deletions lib/data.dart
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,7 @@ Future<void> getSharedText() async {
});

final translatedText = await simplytranslate.translate(_translationInput, 'auto', toLangVal);
setStateOverlord(() {
googleOutput = translatedText;
loading = false;
});
setStateOverlord(() => googleOutput = translatedText);
}
} catch (_) {
setStateOverlord(() => loading = false);
Expand Down
4 changes: 0 additions & 4 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -283,10 +283,6 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
preferredSize: Size(0, 60),
child: Builder(
builder: (context) => AppBar(
bottom: PreferredSize(
preferredSize: Size.fromHeight(2),
child: Container(height: 2, color: greenColor),
),
actions: [
PopupMenuButton(
icon: Icon(Icons.more_vert, color: Colors.white),
Expand Down
7 changes: 1 addition & 6 deletions lib/screens/translate/widgets/input/input.dart
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,8 @@ class _TranslationInputState extends State<GoogleTranslationInput> {
if (input == googleInCtrl.text) {
if (googleInCtrl.text.length > 0 && googleInCtrl.text.length <= 5000) {
isTranslationCanceled = false;
setStateOverlord(() => loading = true);
final translatedText = await simplytranslate.translate(googleInCtrl.text, fromLangVal, toLangVal);
if (!isTranslationCanceled)
setStateOverlord(() {
googleOutput = translatedText;
loading = false;
});
if (!isTranslationCanceled) setStateOverlord(() => googleOutput = translatedText);
}
}
});
Expand Down
12 changes: 2 additions & 10 deletions lib/screens/translate/widgets/lang_selector/lang.dart
Original file line number Diff line number Diff line change
Expand Up @@ -116,11 +116,7 @@ class _GoogleLangState extends State<GoogleLang> {
changeToTxt!(toSelLangMap[toLangVal]!);
}
final translatedText = await translate(googleInCtrl.text, fromLangVal, toLangVal);
if (!isTranslationCanceled)
setStateOverlord(() {
googleOutput = translatedText;
loading = false;
});
if (!isTranslationCanceled) setStateOverlord(() => googleOutput = translatedText);
break;
}
}
Expand Down Expand Up @@ -201,11 +197,7 @@ class _GoogleLangState extends State<GoogleLang> {
FocusScope.of(context).unfocus();
}
final translatedText = await translate(googleInCtrl.text, fromLangVal, toLangVal);
if (!isTranslationCanceled)
setStateOverlord(() {
googleOutput = translatedText;
loading = false;
});
if (!isTranslationCanceled) setStateOverlord(() => googleOutput = translatedText);
},
decoration: InputDecoration(contentPadding: const EdgeInsets.symmetric(vertical: 10, horizontal: 10), isDense: true),
controller: txtCtrl,
Expand Down
2 changes: 0 additions & 2 deletions lib/screens/translate/widgets/lang_selector/switch_lang.dart
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ class GoogleSwitchLang extends StatelessWidget {
setStateOverlord(() {});
} else if (googleInCtrl.text.length <= 5000) {
FocusScope.of(context).unfocus();
setStateOverlord(() => loading = true);
try {
final transInTmp = googleInCtrl.text;
final fromLangValTransTmp = fromLangVal;
Expand All @@ -50,7 +49,6 @@ class GoogleSwitchLang extends StatelessWidget {
translatedText2 = '';
}
setStateOverlord(() {
loading = false;
googleInCtrl.text = translatedText['text'];
googleOutput = translatedText2;
});
Expand Down
7 changes: 5 additions & 2 deletions lib/simplytranslate.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ Future<Uint8List> tts(String text, String language) async {
Future<Map<String, dynamic>> translate(String text, String from, String to) async {
if (text.isEmpty) return {};

setStateOverlord(() => loading = true);

final fromLast1 = session.read("fromLast1");
final fromLast2 = session.read("fromLast2");
final fromLast3 = session.read("fromLast3");
Expand All @@ -42,8 +44,9 @@ Future<Map<String, dynamic>> translate(String text, String from, String to) asyn
session.write("toLast2", toLast1);
session.write("toLast3", toLast2);
}

return translate_(text, from, to);
final result = await translate_(text, from, to);
setStateOverlord(() => loading = false);
return result;
}

Future<Map<String, dynamic>> translate_(String text, String from, String to) async {
Expand Down

0 comments on commit fbb76f9

Please sign in to comment.