Activity search message/loading edits (#3768)
* Use ErrorIndicator for activity search messages * Maintain loading cards for at least 5 seconds * Fix message not showing for partial activity return
This commit is contained in:
parent
d8a9b6acd0
commit
b4cb8f6edc
2 changed files with 6 additions and 9 deletions
|
|
@ -39,7 +39,7 @@ extension ActivitySearchExtension on ActivitySearchEnum {
|
|||
String message(L10n l10n) {
|
||||
switch (this) {
|
||||
case ActivitySearchEnum.waiting:
|
||||
l10n.activitySuggestionTimeoutMessage;
|
||||
return l10n.activitySuggestionTimeoutMessage;
|
||||
case ActivitySearchEnum.timeout:
|
||||
return l10n.generatingNewActivities;
|
||||
case ActivitySearchEnum.error:
|
||||
|
|
@ -47,6 +47,5 @@ extension ActivitySearchExtension on ActivitySearchEnum {
|
|||
default:
|
||||
return '';
|
||||
}
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -135,7 +135,9 @@ class ActivitySuggestionsAreaState extends State<ActivitySuggestionsArea> {
|
|||
_status = _status.fromCode(resp.statusCode);
|
||||
if (_status != ActivitySearchEnum.error) {
|
||||
if (_activityItems.isEmpty) {
|
||||
if (mounted) setState(() => _status = ActivitySearchEnum.timeout);
|
||||
if (mounted && retries != 0) {
|
||||
setState(() => _status = ActivitySearchEnum.timeout);
|
||||
}
|
||||
|
||||
Future.delayed(const Duration(seconds: 5), () {
|
||||
if (mounted) _setActivityItems(retries: retries + 1);
|
||||
|
|
@ -229,12 +231,8 @@ class ActivitySuggestionsAreaState extends State<ActivitySuggestionsArea> {
|
|||
spacing: 16.0,
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
ConstrainedBox(
|
||||
constraints: const BoxConstraints(maxWidth: 300),
|
||||
child: Text(
|
||||
_status.message(L10n.of(context)),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
ErrorIndicator(
|
||||
message: _status.message(L10n.of(context)),
|
||||
),
|
||||
if (_loading && _status == ActivitySearchEnum.timeout)
|
||||
const CircularProgressIndicator(),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue