diff --git a/l10n.yaml b/l10n.yaml index f5730dc..f7805c8 100644 --- a/l10n.yaml +++ b/l10n.yaml @@ -1,4 +1,5 @@ arb-dir: lib/l10n/arb template-arb-file: app_en.arb output-localization-file: app_localizations.dart -output-dir: lib/l10n/generated \ No newline at end of file +output-dir: lib/l10n/generated +nullable-getter: false \ No newline at end of file diff --git a/lib/core/enums.dart b/lib/core/enums.dart index fc1ac91..74ae023 100644 --- a/lib/core/enums.dart +++ b/lib/core/enums.dart @@ -37,12 +37,12 @@ enum Ruleset { singleWinner, singleLoser, mostPoints, leastPoints } String translateRulesetToString(Ruleset ruleset, BuildContext context) { switch (ruleset) { case Ruleset.singleWinner: - return AppLocalizations.of(context)!.single_winner; + return AppLocalizations.of(context).single_winner; case Ruleset.singleLoser: - return AppLocalizations.of(context)!.single_loser; + return AppLocalizations.of(context).single_loser; case Ruleset.mostPoints: - return AppLocalizations.of(context)!.most_points; + return AppLocalizations.of(context).most_points; case Ruleset.leastPoints: - return AppLocalizations.of(context)!.least_points; + return AppLocalizations.of(context).least_points; } } diff --git a/lib/l10n/generated/app_localizations.dart b/lib/l10n/generated/app_localizations.dart index 5152962..e3acecb 100644 --- a/lib/l10n/generated/app_localizations.dart +++ b/lib/l10n/generated/app_localizations.dart @@ -67,8 +67,8 @@ abstract class AppLocalizations { final String localeName; - static AppLocalizations? of(BuildContext context) { - return Localizations.of(context, AppLocalizations); + static AppLocalizations of(BuildContext context) { + return Localizations.of(context, AppLocalizations)!; } static const LocalizationsDelegate delegate = diff --git a/lib/presentation/views/main_menu/custom_navigation_bar.dart b/lib/presentation/views/main_menu/custom_navigation_bar.dart index 980bf1a..2faef8b 100644 --- a/lib/presentation/views/main_menu/custom_navigation_bar.dart +++ b/lib/presentation/views/main_menu/custom_navigation_bar.dart @@ -90,28 +90,28 @@ class _CustomNavigationBarState extends State index: 0, isSelected: currentIndex == 0, icon: Icons.home_rounded, - label: AppLocalizations.of(context)!.home, + label: AppLocalizations.of(context).home, onTabTapped: onTabTapped, ), NavbarItem( index: 1, isSelected: currentIndex == 1, icon: Icons.gamepad_rounded, - label: AppLocalizations.of(context)!.matches, + label: AppLocalizations.of(context).matches, onTabTapped: onTabTapped, ), NavbarItem( index: 2, isSelected: currentIndex == 2, icon: Icons.group_rounded, - label: AppLocalizations.of(context)!.groups, + label: AppLocalizations.of(context).groups, onTabTapped: onTabTapped, ), NavbarItem( index: 3, isSelected: currentIndex == 3, icon: Icons.bar_chart_rounded, - label: AppLocalizations.of(context)!.statistics, + label: AppLocalizations.of(context).statistics, onTabTapped: onTabTapped, ), ], @@ -132,13 +132,13 @@ class _CustomNavigationBarState extends State String _currentTabTitle() { switch (currentIndex) { case 0: - return AppLocalizations.of(context)!.home; + return AppLocalizations.of(context).home; case 1: - return AppLocalizations.of(context)!.matches; + return AppLocalizations.of(context).matches; case 2: - return AppLocalizations.of(context)!.groups; + return AppLocalizations.of(context).groups; case 3: - return AppLocalizations.of(context)!.statistics; + return AppLocalizations.of(context).statistics; default: return ''; } diff --git a/lib/presentation/views/main_menu/group_view/create_group_view.dart b/lib/presentation/views/main_menu/group_view/create_group_view.dart index e9e5fe1..eddcf6d 100644 --- a/lib/presentation/views/main_menu/group_view/create_group_view.dart +++ b/lib/presentation/views/main_menu/group_view/create_group_view.dart @@ -45,7 +45,7 @@ class _CreateGroupViewState extends State { backgroundColor: CustomTheme.backgroundColor, scrolledUnderElevation: 0, title: Text( - AppLocalizations.of(context)!.create_new_group, + AppLocalizations.of(context).create_new_group, style: const TextStyle(fontSize: 20, fontWeight: FontWeight.bold), ), centerTitle: true, @@ -58,7 +58,7 @@ class _CreateGroupViewState extends State { margin: const EdgeInsets.symmetric(horizontal: 12, vertical: 10), child: TextInputField( controller: _groupNameController, - hintText: AppLocalizations.of(context)!.group_name, + hintText: AppLocalizations.of(context).group_name, onChanged: (value) { setState(() {}); }, @@ -74,7 +74,7 @@ class _CreateGroupViewState extends State { ), ), CustomWidthButton( - text: AppLocalizations.of(context)!.create_group, + text: AppLocalizations.of(context).create_group, sizeRelativeToWidth: 0.95, buttonType: ButtonType.primary, onPressed: diff --git a/lib/presentation/views/main_menu/group_view/groups_view.dart b/lib/presentation/views/main_menu/group_view/groups_view.dart index 0e9ddbb..4d42417 100644 --- a/lib/presentation/views/main_menu/group_view/groups_view.dart +++ b/lib/presentation/views/main_menu/group_view/groups_view.dart @@ -53,8 +53,8 @@ class _GroupsViewState extends State { replacement: Center( child: TopCenteredMessage( icon: Icons.info, - title: AppLocalizations.of(context)!.info, - message: AppLocalizations.of(context)!.no_groups_created_yet, + title: AppLocalizations.of(context).info, + message: AppLocalizations.of(context).no_groups_created_yet, ), ), child: ListView.builder( @@ -74,7 +74,7 @@ class _GroupsViewState extends State { Positioned( bottom: MediaQuery.paddingOf(context).bottom, child: CustomWidthButton( - text: AppLocalizations.of(context)!.create_group, + text: AppLocalizations.of(context).create_group, sizeRelativeToWidth: 0.90, onPressed: () async { await Navigator.push( diff --git a/lib/presentation/views/main_menu/home_view.dart b/lib/presentation/views/main_menu/home_view.dart index 3fe85fd..e1dd9f8 100644 --- a/lib/presentation/views/main_menu/home_view.dart +++ b/lib/presentation/views/main_menu/home_view.dart @@ -87,7 +87,7 @@ class _HomeViewState extends State { QuickInfoTile( width: constraints.maxWidth * 0.45, height: constraints.maxHeight * 0.15, - title: AppLocalizations.of(context)!.matches, + title: AppLocalizations.of(context).matches, icon: Icons.groups_rounded, value: matchCount, ), @@ -95,7 +95,7 @@ class _HomeViewState extends State { QuickInfoTile( width: constraints.maxWidth * 0.45, height: constraints.maxHeight * 0.15, - title: AppLocalizations.of(context)!.groups, + title: AppLocalizations.of(context).groups, icon: Icons.groups_rounded, value: groupCount, ), @@ -105,7 +105,7 @@ class _HomeViewState extends State { padding: const EdgeInsets.symmetric(vertical: 16.0), child: InfoTile( width: constraints.maxWidth * 0.95, - title: AppLocalizations.of(context)!.recent_matches, + title: AppLocalizations.of(context).recent_matches, icon: Icons.timer, content: Padding( padding: const EdgeInsets.symmetric(horizontal: 40.0), @@ -125,7 +125,7 @@ class _HomeViewState extends State { children: [ MatchSummaryTile( matchTitle: recentMatches[0].name, - game: AppLocalizations.of(context)!.winner_label, + game: AppLocalizations.of(context).winner_label, ruleset: AppLocalizations.of( context, )!.ruleset_label, @@ -175,7 +175,7 @@ class _HomeViewState extends State { ), InfoTile( width: constraints.maxWidth * 0.95, - title: AppLocalizations.of(context)!.quick_create, + title: AppLocalizations.of(context).quick_create, icon: Icons.add_box_rounded, content: Column( children: [ @@ -232,7 +232,7 @@ class _HomeViewState extends State { String _getPlayerText(Match game) { if (game.group == null) { final playerCount = game.players?.length ?? 0; - return AppLocalizations.of(context)!.players_count(playerCount); + return AppLocalizations.of(context).players_count(playerCount); } if (game.players == null || game.players!.isEmpty) { return game.group!.name; diff --git a/lib/presentation/views/main_menu/match_view/create_match/choose_game_view.dart b/lib/presentation/views/main_menu/match_view/create_match/choose_game_view.dart index 6a75ae1..8e40ab8 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/choose_game_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/choose_game_view.dart @@ -43,7 +43,7 @@ class _ChooseGameViewState extends State { }, ), title: Text( - AppLocalizations.of(context)!.choose_game, + AppLocalizations.of(context).choose_game, style: const TextStyle(fontSize: 20, fontWeight: FontWeight.bold), ), centerTitle: true, @@ -54,7 +54,7 @@ class _ChooseGameViewState extends State { padding: const EdgeInsets.symmetric(horizontal: 10), child: CustomSearchBar( controller: searchBarController, - hintText: AppLocalizations.of(context)!.game_name, + hintText: AppLocalizations.of(context).game_name, ), ), const SizedBox(height: 5), diff --git a/lib/presentation/views/main_menu/match_view/create_match/choose_group_view.dart b/lib/presentation/views/main_menu/match_view/create_match/choose_group_view.dart index bfc0fed..83997e7 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/choose_group_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/choose_group_view.dart @@ -52,7 +52,7 @@ class _ChooseGroupViewState extends State { }, ), title: Text( - AppLocalizations.of(context)!.choose_group, + AppLocalizations.of(context).choose_group, style: const TextStyle(fontSize: 20, fontWeight: FontWeight.bold), ), centerTitle: true, @@ -63,7 +63,7 @@ class _ChooseGroupViewState extends State { padding: const EdgeInsets.symmetric(horizontal: 10), child: CustomSearchBar( controller: controller, - hintText: AppLocalizations.of(context)!.search_for_groups, + hintText: AppLocalizations.of(context).search_for_groups, onChanged: (value) { setState(() { filterGroups(value); @@ -78,12 +78,12 @@ class _ChooseGroupViewState extends State { visible: widget.groups.isNotEmpty, replacement: TopCenteredMessage( icon: Icons.info, - title: AppLocalizations.of(context)!.info, - message: AppLocalizations.of(context)!.no_groups_created_yet, + title: AppLocalizations.of(context).info, + message: AppLocalizations.of(context).no_groups_created_yet, ), child: TopCenteredMessage( icon: Icons.info, - title: AppLocalizations.of(context)!.info, + title: AppLocalizations.of(context).info, message: AppLocalizations.of( context, )!.there_is_no_group_matching_your_search, diff --git a/lib/presentation/views/main_menu/match_view/create_match/choose_ruleset_view.dart b/lib/presentation/views/main_menu/match_view/create_match/choose_ruleset_view.dart index a6129cc..9383be2 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/choose_ruleset_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/choose_ruleset_view.dart @@ -48,7 +48,7 @@ class _ChooseRulesetViewState extends State { }, ), title: Text( - AppLocalizations.of(context)!.choose_ruleset, + AppLocalizations.of(context).choose_ruleset, style: const TextStyle(fontSize: 20, fontWeight: FontWeight.bold), ), centerTitle: true, diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index 63da16d..03aa6c0 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -91,19 +91,19 @@ class _CreateMatchViewState extends State { return [ ( Ruleset.singleWinner, - AppLocalizations.of(context)!.ruleset_single_winner_desc, + AppLocalizations.of(context).ruleset_single_winner_desc, ), ( Ruleset.singleLoser, - AppLocalizations.of(context)!.ruleset_single_loser_desc, + AppLocalizations.of(context).ruleset_single_loser_desc, ), ( Ruleset.mostPoints, - AppLocalizations.of(context)!.ruleset_most_points_desc, + AppLocalizations.of(context).ruleset_most_points_desc, ), ( Ruleset.leastPoints, - AppLocalizations.of(context)!.ruleset_least_points_desc, + AppLocalizations.of(context).ruleset_least_points_desc, ), ]; } @@ -122,7 +122,7 @@ class _CreateMatchViewState extends State { backgroundColor: CustomTheme.backgroundColor, scrolledUnderElevation: 0, title: Text( - AppLocalizations.of(context)!.create_new_match, + AppLocalizations.of(context).create_new_match, style: const TextStyle(fontSize: 20, fontWeight: FontWeight.bold), ), centerTitle: true, @@ -139,9 +139,9 @@ class _CreateMatchViewState extends State { ), ), ChooseTile( - title: AppLocalizations.of(context)!.game, + title: AppLocalizations.of(context).game, trailingText: selectedGameIndex == -1 - ? AppLocalizations.of(context)!.none + ? AppLocalizations.of(context).none : games[selectedGameIndex].$1, onPressed: () async { selectedGameIndex = await Navigator.of(context).push( @@ -167,9 +167,9 @@ class _CreateMatchViewState extends State { }, ), ChooseTile( - title: AppLocalizations.of(context)!.ruleset, + title: AppLocalizations.of(context).ruleset, trailingText: selectedRuleset == null - ? AppLocalizations.of(context)!.none + ? AppLocalizations.of(context).none : translateRulesetToString(selectedRuleset!, context), onPressed: () async { final rulesets = _getRulesets(context); @@ -190,9 +190,9 @@ class _CreateMatchViewState extends State { }, ), ChooseTile( - title: AppLocalizations.of(context)!.group, + title: AppLocalizations.of(context).group, trailingText: selectedGroup == null - ? AppLocalizations.of(context)!.none_group + ? AppLocalizations.of(context).none_group : selectedGroup!.name, onPressed: () async { selectedGroup = await Navigator.of(context).push( @@ -229,7 +229,7 @@ class _CreateMatchViewState extends State { ), ), CustomWidthButton( - text: AppLocalizations.of(context)!.create_match, + text: AppLocalizations.of(context).create_match, sizeRelativeToWidth: 0.95, buttonType: ButtonType.primary, onPressed: _enableCreateGameButton() diff --git a/lib/presentation/views/main_menu/match_view/match_result_view.dart b/lib/presentation/views/main_menu/match_view/match_result_view.dart index f13ef87..e99ce85 100644 --- a/lib/presentation/views/main_menu/match_view/match_result_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_result_view.dart @@ -81,7 +81,7 @@ class _MatchResultViewState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - AppLocalizations.of(context)!.select_winner, + AppLocalizations.of(context).select_winner, style: const TextStyle( fontSize: 18, fontWeight: FontWeight.bold, diff --git a/lib/presentation/views/main_menu/match_view/match_view.dart b/lib/presentation/views/main_menu/match_view/match_view.dart index 30804de..2b1b110 100644 --- a/lib/presentation/views/main_menu/match_view/match_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_view.dart @@ -62,8 +62,8 @@ class _MatchViewState extends State { replacement: Center( child: TopCenteredMessage( icon: Icons.report, - title: AppLocalizations.of(context)!.info, - message: AppLocalizations.of(context)!.no_matches_created_yet, + title: AppLocalizations.of(context).info, + message: AppLocalizations.of(context).no_matches_created_yet, ), ), child: ListView.builder( @@ -97,7 +97,7 @@ class _MatchViewState extends State { Positioned( bottom: MediaQuery.paddingOf(context).bottom, child: CustomWidthButton( - text: AppLocalizations.of(context)!.create_match, + text: AppLocalizations.of(context).create_match, sizeRelativeToWidth: 0.90, onPressed: () async { Navigator.push( diff --git a/lib/presentation/views/main_menu/settings_view.dart b/lib/presentation/views/main_menu/settings_view.dart index 8899e40..3ab401f 100644 --- a/lib/presentation/views/main_menu/settings_view.dart +++ b/lib/presentation/views/main_menu/settings_view.dart @@ -29,7 +29,7 @@ class _SettingsViewState extends State { padding: const EdgeInsets.fromLTRB(24, 0, 24, 10), child: Text( textAlign: TextAlign.start, - AppLocalizations.of(context)!.menu, + AppLocalizations.of(context).menu, style: const TextStyle( fontSize: 28, fontWeight: FontWeight.bold, @@ -43,7 +43,7 @@ class _SettingsViewState extends State { ), child: Text( textAlign: TextAlign.start, - AppLocalizations.of(context)!.settings, + AppLocalizations.of(context).settings, style: const TextStyle( fontSize: 22, fontWeight: FontWeight.bold, @@ -51,7 +51,7 @@ class _SettingsViewState extends State { ), ), SettingsListTile( - title: AppLocalizations.of(context)!.export_data, + title: AppLocalizations.of(context).export_data, icon: Icons.upload_outlined, suffixWidget: const Icon(Icons.arrow_forward_ios, size: 16), onPressed: () async { @@ -66,7 +66,7 @@ class _SettingsViewState extends State { }, ), SettingsListTile( - title: AppLocalizations.of(context)!.import_data, + title: AppLocalizations.of(context).import_data, icon: Icons.download_outlined, suffixWidget: const Icon(Icons.arrow_forward_ios, size: 16), onPressed: () async { @@ -78,7 +78,7 @@ class _SettingsViewState extends State { }, ), SettingsListTile( - title: AppLocalizations.of(context)!.delete_all_data, + title: AppLocalizations.of(context).delete_all_data, icon: Icons.download_outlined, suffixWidget: const Icon(Icons.arrow_forward_ios, size: 16), onPressed: () { @@ -86,19 +86,19 @@ class _SettingsViewState extends State { context: context, builder: (context) => AlertDialog( title: Text( - AppLocalizations.of(context)!.delete_all_data, + AppLocalizations.of(context).delete_all_data, ), content: Text( - AppLocalizations.of(context)!.this_cannot_be_undone, + AppLocalizations.of(context).this_cannot_be_undone, ), actions: [ TextButton( onPressed: () => Navigator.of(context).pop(false), - child: Text(AppLocalizations.of(context)!.cancel), + child: Text(AppLocalizations.of(context).cancel), ), TextButton( onPressed: () => Navigator.of(context).pop(true), - child: Text(AppLocalizations.of(context)!.delete), + child: Text(AppLocalizations.of(context).delete), ), ], ), @@ -134,32 +134,32 @@ class _SettingsViewState extends State { case ImportResult.success: showSnackbar( context: context, - message: AppLocalizations.of(context)!.data_successfully_imported, + message: AppLocalizations.of(context).data_successfully_imported, ); case ImportResult.invalidSchema: showSnackbar( context: context, - message: AppLocalizations.of(context)!.invalid_schema, + message: AppLocalizations.of(context).invalid_schema, ); case ImportResult.fileReadError: showSnackbar( context: context, - message: AppLocalizations.of(context)!.error_reading_file, + message: AppLocalizations.of(context).error_reading_file, ); case ImportResult.canceled: showSnackbar( context: context, - message: AppLocalizations.of(context)!.import_canceled, + message: AppLocalizations.of(context).import_canceled, ); case ImportResult.formatException: showSnackbar( context: context, - message: AppLocalizations.of(context)!.format_exception, + message: AppLocalizations.of(context).format_exception, ); case ImportResult.unknownException: showSnackbar( context: context, - message: AppLocalizations.of(context)!.unknown_exception, + message: AppLocalizations.of(context).unknown_exception, ); } } @@ -176,17 +176,17 @@ class _SettingsViewState extends State { case ExportResult.success: showSnackbar( context: context, - message: AppLocalizations.of(context)!.data_successfully_exported, + message: AppLocalizations.of(context).data_successfully_exported, ); case ExportResult.canceled: showSnackbar( context: context, - message: AppLocalizations.of(context)!.export_canceled, + message: AppLocalizations.of(context).export_canceled, ); case ExportResult.unknownException: showSnackbar( context: context, - message: AppLocalizations.of(context)!.unknown_exception, + message: AppLocalizations.of(context).unknown_exception, ); } } @@ -212,7 +212,7 @@ class _SettingsViewState extends State { duration: duration, action: action != null ? SnackBarAction( - label: AppLocalizations.of(context)!.undo, + label: AppLocalizations.of(context).undo, onPressed: action, ) : null, diff --git a/lib/presentation/views/main_menu/statistics_view.dart b/lib/presentation/views/main_menu/statistics_view.dart index ed90a84..d752119 100644 --- a/lib/presentation/views/main_menu/statistics_view.dart +++ b/lib/presentation/views/main_menu/statistics_view.dart @@ -69,7 +69,7 @@ class _StatisticsViewState extends State { children: [ StatisticsTile( icon: Icons.sports_score, - title: AppLocalizations.of(context)!.wins, + title: AppLocalizations.of(context).wins, width: constraints.maxWidth * 0.95, values: winCounts, itemCount: 3, @@ -78,7 +78,7 @@ class _StatisticsViewState extends State { SizedBox(height: constraints.maxHeight * 0.02), StatisticsTile( icon: Icons.percent, - title: AppLocalizations.of(context)!.winrate, + title: AppLocalizations.of(context).winrate, width: constraints.maxWidth * 0.95, values: winRates, itemCount: 5, @@ -99,7 +99,7 @@ class _StatisticsViewState extends State { ), child: TopCenteredMessage( icon: Icons.info, - title: AppLocalizations.of(context)!.info, + title: AppLocalizations.of(context).info, message: AppLocalizations.of( context, )!.no_statistics_available, @@ -154,7 +154,7 @@ class _StatisticsViewState extends State { (p) => p.id == playerId, orElse: () => Player( id: playerId, - name: AppLocalizations.of(context)!.not_available, + name: AppLocalizations.of(context).not_available, ), ); winCounts[i] = (player.name, winCounts[i].$2); @@ -219,7 +219,7 @@ class _StatisticsViewState extends State { (p) => p.id == playerId, orElse: () => Player( id: playerId, - name: AppLocalizations.of(context)!.not_available, + name: AppLocalizations.of(context).not_available, ), ); matchCounts[i] = (player.name, matchCounts[i].$2); diff --git a/lib/presentation/widgets/player_selection.dart b/lib/presentation/widgets/player_selection.dart index dc8731c..d33d83e 100644 --- a/lib/presentation/widgets/player_selection.dart +++ b/lib/presentation/widgets/player_selection.dart @@ -97,7 +97,7 @@ class _PlayerSelectionState extends State { CustomSearchBar( controller: _searchBarController, constraints: const BoxConstraints(maxHeight: 45, minHeight: 45), - hintText: AppLocalizations.of(context)!.search_for_players, + hintText: AppLocalizations.of(context).search_for_players, trailingButtonShown: true, trailingButtonicon: Icons.add_circle, trailingButtonEnabled: _searchBarController.text.trim().isNotEmpty, @@ -141,7 +141,7 @@ class _PlayerSelectionState extends State { child: selectedPlayers.isEmpty ? Center( child: Text( - AppLocalizations.of(context)!.no_players_selected, + AppLocalizations.of(context).no_players_selected, ), ) : SingleChildScrollView( @@ -185,7 +185,7 @@ class _PlayerSelectionState extends State { ), const SizedBox(height: 10), Text( - AppLocalizations.of(context)!.all_players, + AppLocalizations.of(context).all_players, style: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold), ), const SizedBox(height: 10), @@ -199,11 +199,11 @@ class _PlayerSelectionState extends State { visible: suggestedPlayers.isNotEmpty, replacement: TopCenteredMessage( icon: Icons.info, - title: AppLocalizations.of(context)!.info, + title: AppLocalizations.of(context).info, message: allPlayers.isEmpty - ? AppLocalizations.of(context)!.no_players_created_yet + ? AppLocalizations.of(context).no_players_created_yet : (selectedPlayers.length == allPlayers.length) - ? AppLocalizations.of(context)!.all_players_selected + ? AppLocalizations.of(context).all_players_selected : AppLocalizations.of( context, )!.no_players_found_with_that_name, @@ -276,7 +276,7 @@ class _PlayerSelectionState extends State { backgroundColor: CustomTheme.boxColor, content: Center( child: Text( - AppLocalizations.of(context)!.could_not_add_player(playerName), + AppLocalizations.of(context).could_not_add_player(playerName), style: const TextStyle(color: Colors.white), ), ), diff --git a/lib/presentation/widgets/tiles/match_tile.dart b/lib/presentation/widgets/tiles/match_tile.dart index 9eedec6..93e6f32 100644 --- a/lib/presentation/widgets/tiles/match_tile.dart +++ b/lib/presentation/widgets/tiles/match_tile.dart @@ -98,7 +98,7 @@ class _MatchTileState extends State { const SizedBox(width: 8), Expanded( child: Text( - AppLocalizations.of(context)!.winner(winner.name), + AppLocalizations.of(context).winner(winner.name), style: const TextStyle( fontSize: 14, fontWeight: FontWeight.w600, @@ -115,7 +115,7 @@ class _MatchTileState extends State { if (allPlayers.isNotEmpty) ...[ Text( - AppLocalizations.of(context)!.players, + AppLocalizations.of(context).players, style: const TextStyle( fontSize: 13, color: Colors.grey, @@ -150,7 +150,7 @@ class _MatchTileState extends State { context, )!.yesterday_at(DateFormat('HH:mm').format(dateTime)); } else if (difference.inDays < 7) { - return AppLocalizations.of(context)!.days_ago(difference.inDays); + return AppLocalizations.of(context).days_ago(difference.inDays); } else { return DateFormat('MMM d, yyyy').format(dateTime); } diff --git a/lib/presentation/widgets/tiles/statistics_tile.dart b/lib/presentation/widgets/tiles/statistics_tile.dart index e783ab4..8d81270 100644 --- a/lib/presentation/widgets/tiles/statistics_tile.dart +++ b/lib/presentation/widgets/tiles/statistics_tile.dart @@ -36,7 +36,7 @@ class StatisticsTile extends StatelessWidget { visible: values.isNotEmpty, replacement: Center( heightFactor: 4, - child: Text(AppLocalizations.of(context)!.no_data_available), + child: Text(AppLocalizations.of(context).no_data_available), ), child: Column( children: List.generate(min(values.length, itemCount), (index) {