Improved error messages
This commit is contained in:
@@ -4,9 +4,9 @@
|
||||
/// To regenerate, run: `dart run slang`
|
||||
///
|
||||
/// Locales: 2
|
||||
/// Strings: 208 (104 per locale)
|
||||
/// Strings: 212 (106 per locale)
|
||||
///
|
||||
/// Built on 2024-02-24 at 00:45 UTC
|
||||
/// Built on 2024-02-24 at 00:56 UTC
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: type=lint
|
||||
@@ -212,6 +212,8 @@ class _StringsBookmarksEn {
|
||||
|
||||
// Translations
|
||||
String get bookmarks => 'Bookmarks';
|
||||
String get noBookmarksAdded => 'No bookmarks added';
|
||||
String get cannotLoadBookmarks => 'Cannot load the bookmarks';
|
||||
late final _StringsBookmarksDatesEn dates = _StringsBookmarksDatesEn._(_root);
|
||||
late final _StringsBookmarksAddBookmarkEn addBookmark = _StringsBookmarksAddBookmarkEn._(_root);
|
||||
}
|
||||
@@ -462,6 +464,8 @@ class _StringsBookmarksEs implements _StringsBookmarksEn {
|
||||
|
||||
// Translations
|
||||
@override String get bookmarks => 'Marcadores';
|
||||
@override String get noBookmarksAdded => 'No hay marcadores añadidos';
|
||||
@override String get cannotLoadBookmarks => 'No se pueden cargar los marcadores';
|
||||
@override late final _StringsBookmarksDatesEs dates = _StringsBookmarksDatesEs._(_root);
|
||||
@override late final _StringsBookmarksAddBookmarkEs addBookmark = _StringsBookmarksAddBookmarkEs._(_root);
|
||||
}
|
||||
@@ -660,6 +664,8 @@ extension on Translations {
|
||||
case 'onboarding.cannotConnectToServer': return 'Cannot connect to the server.';
|
||||
case 'onboarding.invalidToken': return 'Invalid token.';
|
||||
case 'bookmarks.bookmarks': return 'Bookmarks';
|
||||
case 'bookmarks.noBookmarksAdded': return 'No bookmarks added';
|
||||
case 'bookmarks.cannotLoadBookmarks': return 'Cannot load the bookmarks';
|
||||
case 'bookmarks.dates.todayAt': return ({required Object time}) => 'Today, ${time}';
|
||||
case 'bookmarks.dates.yesterdayAt': return ({required Object time}) => 'Yesterday, ${time}';
|
||||
case 'bookmarks.addBookmark.addBookmark': return 'Add new bookmark';
|
||||
@@ -772,6 +778,8 @@ extension on _StringsEs {
|
||||
case 'onboarding.cannotConnectToServer': return 'No se puede conectar con el servidor.';
|
||||
case 'onboarding.invalidToken': return 'Token no válido.';
|
||||
case 'bookmarks.bookmarks': return 'Marcadores';
|
||||
case 'bookmarks.noBookmarksAdded': return 'No hay marcadores añadidos';
|
||||
case 'bookmarks.cannotLoadBookmarks': return 'No se pueden cargar los marcadores';
|
||||
case 'bookmarks.dates.todayAt': return ({required Object time}) => 'Hoy, ${time}';
|
||||
case 'bookmarks.dates.yesterdayAt': return ({required Object time}) => 'Ayer, ${time}';
|
||||
case 'bookmarks.addBookmark.addBookmark': return 'Añadir nuevo marcador';
|
||||
|
||||
@@ -34,6 +34,8 @@
|
||||
},
|
||||
"bookmarks": {
|
||||
"bookmarks": "Bookmarks",
|
||||
"noBookmarksAdded": "No bookmarks added",
|
||||
"cannotLoadBookmarks": "Cannot load the bookmarks",
|
||||
"dates": {
|
||||
"todayAt": "Today, $time",
|
||||
"yesterdayAt": "Yesterday, $time"
|
||||
|
||||
@@ -34,6 +34,8 @@
|
||||
},
|
||||
"bookmarks": {
|
||||
"bookmarks": "Marcadores",
|
||||
"noBookmarksAdded": "No hay marcadores añadidos",
|
||||
"cannotLoadBookmarks": "No se pueden cargar los marcadores",
|
||||
"dates": {
|
||||
"todayAt": "Hoy, $time",
|
||||
"yesterdayAt": "Ayer, $time"
|
||||
|
||||
@@ -6,6 +6,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:linkdy/screens/bookmarks/provider/bookmarks.provider.dart';
|
||||
import 'package:linkdy/screens/bookmarks/ui/bookmark_item.dart';
|
||||
import 'package:linkdy/screens/bookmarks/ui/add_bookmark_modal.dart';
|
||||
import 'package:linkdy/widgets/error_screen.dart';
|
||||
import 'package:linkdy/widgets/no_data_screen.dart';
|
||||
|
||||
import 'package:linkdy/i18n/strings.g.dart';
|
||||
|
||||
@@ -65,17 +67,17 @@ class BookmarksScreen extends ConsumerWidget {
|
||||
child: Center(child: CircularProgressIndicator()),
|
||||
),
|
||||
if (bookmarks.value != null && bookmarks.value!.successful == false)
|
||||
const SliverFillRemaining(
|
||||
child: Center(
|
||||
child: Icon(Icons.error),
|
||||
SliverFillRemaining(
|
||||
child: ErrorScreen(
|
||||
error: t.bookmarks.cannotLoadBookmarks,
|
||||
),
|
||||
),
|
||||
if (bookmarks.value != null &&
|
||||
bookmarks.value!.successful == true &&
|
||||
bookmarks.value!.content!.results!.isEmpty)
|
||||
const SliverFillRemaining(
|
||||
child: Center(
|
||||
child: Text("No bookmarks"),
|
||||
SliverFillRemaining(
|
||||
child: NoDataScreen(
|
||||
message: t.bookmarks.noBookmarksAdded,
|
||||
),
|
||||
),
|
||||
if (bookmarks.value != null &&
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:linkdy/i18n/strings.g.dart';
|
||||
|
||||
import 'package:linkdy/screens/search/ui/error_search_list.dart';
|
||||
import 'package:linkdy/screens/search/ui/input_search_term.dart';
|
||||
import 'package:linkdy/screens/bookmarks/ui/bookmark_item.dart';
|
||||
import 'package:linkdy/screens/search/provider/search.provider.dart';
|
||||
import 'package:linkdy/screens/search/ui/search_no_data.dart';
|
||||
import 'package:linkdy/widgets/error_screen.dart';
|
||||
import 'package:linkdy/widgets/no_data_screen.dart';
|
||||
import 'package:linkdy/widgets/sliver_tab_body.dart';
|
||||
|
||||
class BookmarksSearchList extends ConsumerWidget {
|
||||
@@ -26,17 +27,19 @@ class BookmarksSearchList extends ConsumerWidget {
|
||||
return bookmarksSearch.when(
|
||||
data: (data) {
|
||||
if (data!.successful == false) {
|
||||
return const SliverTabBody(
|
||||
return SliverTabBody(
|
||||
child: SliverFillRemaining(
|
||||
child: Center(
|
||||
child: Icon(Icons.error_rounded),
|
||||
child: ErrorScreen(
|
||||
error: t.search.cannotSearchError,
|
||||
),
|
||||
),
|
||||
);
|
||||
} else if (data.content!.results!.isEmpty) {
|
||||
return const SliverTabBody(
|
||||
return SliverTabBody(
|
||||
child: SliverFillRemaining(
|
||||
child: SearchNoData(),
|
||||
child: NoDataScreen(
|
||||
message: t.search.inputtedSearchTermNoResults,
|
||||
),
|
||||
),
|
||||
);
|
||||
} else {
|
||||
@@ -51,10 +54,10 @@ class BookmarksSearchList extends ConsumerWidget {
|
||||
);
|
||||
}
|
||||
},
|
||||
error: (error, stackTrace) => const SliverTabBody(
|
||||
error: (error, stackTrace) => SliverTabBody(
|
||||
child: SliverFillRemaining(
|
||||
child: Center(
|
||||
child: ErrorSearchList(),
|
||||
child: ErrorScreen(
|
||||
error: t.search.cannotSearchError,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -2,9 +2,9 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:linkdy/screens/search/provider/search.provider.dart';
|
||||
import 'package:linkdy/screens/search/ui/error_search_list.dart';
|
||||
import 'package:linkdy/screens/search/ui/input_search_term.dart';
|
||||
import 'package:linkdy/screens/search/ui/search_no_data.dart';
|
||||
import 'package:linkdy/widgets/error_screen.dart';
|
||||
import 'package:linkdy/widgets/no_data_screen.dart';
|
||||
import 'package:linkdy/widgets/sliver_tab_body.dart';
|
||||
|
||||
import 'package:linkdy/i18n/strings.g.dart';
|
||||
@@ -28,17 +28,23 @@ class TagsSearchList extends ConsumerWidget {
|
||||
return bookmarksSearch.when(
|
||||
data: (data) {
|
||||
if (data!.successful == false) {
|
||||
return const SliverTabBody(
|
||||
return SliverTabBody(
|
||||
child: SliverFillRemaining(
|
||||
child: Center(
|
||||
child: Icon(Icons.error_rounded),
|
||||
child: SliverTabBody(
|
||||
child: SliverFillRemaining(
|
||||
child: ErrorScreen(
|
||||
error: t.search.cannotSearchError,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
} else if (data.content!.results!.isEmpty) {
|
||||
return const SliverTabBody(
|
||||
return SliverTabBody(
|
||||
child: SliverFillRemaining(
|
||||
child: SearchNoData(),
|
||||
child: NoDataScreen(
|
||||
message: t.search.inputtedSearchTermNoResults,
|
||||
),
|
||||
),
|
||||
);
|
||||
} else {
|
||||
@@ -65,10 +71,14 @@ class TagsSearchList extends ConsumerWidget {
|
||||
);
|
||||
}
|
||||
},
|
||||
error: (error, stackTrace) => const SliverTabBody(
|
||||
error: (error, stackTrace) => SliverTabBody(
|
||||
child: SliverFillRemaining(
|
||||
child: Center(
|
||||
child: ErrorSearchList(),
|
||||
child: SliverTabBody(
|
||||
child: SliverFillRemaining(
|
||||
child: ErrorScreen(
|
||||
error: t.search.cannotSearchError,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:linkdy/i18n/strings.g.dart';
|
||||
class ErrorScreen extends StatelessWidget {
|
||||
final String error;
|
||||
|
||||
class ErrorSearchList extends StatelessWidget {
|
||||
const ErrorSearchList({Key? key}) : super(key: key);
|
||||
const ErrorScreen({
|
||||
Key? key,
|
||||
required this.error,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -19,7 +22,7 @@ class ErrorSearchList extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(height: 30),
|
||||
Text(
|
||||
t.search.cannotSearchError,
|
||||
error,
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 24,
|
||||
@@ -1,9 +1,12 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:linkdy/i18n/strings.g.dart';
|
||||
class NoDataScreen extends StatelessWidget {
|
||||
final String message;
|
||||
|
||||
class SearchNoData extends StatelessWidget {
|
||||
const SearchNoData({Key? key}) : super(key: key);
|
||||
const NoDataScreen({
|
||||
Key? key,
|
||||
required this.message,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -19,7 +22,7 @@ class SearchNoData extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(height: 30),
|
||||
Text(
|
||||
t.search.inputtedSearchTermNoResults,
|
||||
message,
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 24,
|
||||
Reference in New Issue
Block a user