refactor: changes from pr

pull/51/head
RuiAlonso 4 years ago
parent 7c787e59a5
commit 768e226080

@ -31,7 +31,7 @@ class GameOverDialog extends StatelessWidget {
onPressed: () => Navigator.of(context).push<void>( onPressed: () => Navigator.of(context).push<void>(
LeaderboardPage.route(theme: theme), LeaderboardPage.route(theme: theme),
), ),
child: Text(l10n.leadersBoard), child: Text(l10n.leadersboard),
), ),
], ],
), ),

@ -28,8 +28,8 @@
"@gameOver": { "@gameOver": {
"description": "Text displayed on the ending dialog when game finishes" "description": "Text displayed on the ending dialog when game finishes"
}, },
"leadersBoard": "Leaders Board", "leadersboard": "Leaders Board",
"@leadersBoard": { "@leadersboard": {
"description": "Text displayed on the ending dialog leaders board button" "description": "Text displayed on the ending dialog leaders board button"
}, },
"rank": "Rank", "rank": "Rank",

@ -49,7 +49,7 @@ class LeaderboardView extends StatelessWidget {
children: [ children: [
const SizedBox(height: 80), const SizedBox(height: 80),
Text( Text(
l10n.leadersBoard, l10n.leadersboard,
style: Theme.of(context).textTheme.headline3, style: Theme.of(context).textTheme.headline3,
), ),
const SizedBox(height: 80), const SizedBox(height: 80),
@ -82,7 +82,7 @@ class _LeaderboardRanking extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
_LeaderboardHeaders(theme: theme), _LeaderboardHeaders(theme: theme),
const _LeaderboardList(), _LeaderboardList(theme: theme),
], ],
), ),
); );
@ -137,7 +137,9 @@ class _LeaderboardHeaderItem extends StatelessWidget {
} }
class _LeaderboardList extends StatelessWidget { class _LeaderboardList extends StatelessWidget {
const _LeaderboardList({Key? key}) : super(key: key); const _LeaderboardList({Key? key, required this.theme}) : super(key: key);
final CharacterTheme theme;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -152,6 +154,7 @@ class _LeaderboardList extends StatelessWidget {
score: 0, score: 0,
), ),
), ),
theme: theme,
), ),
itemCount: 10, itemCount: 10,
); );
@ -159,8 +162,13 @@ class _LeaderboardList extends StatelessWidget {
} }
class _LeaderBoardCompetitor extends StatelessWidget { class _LeaderBoardCompetitor extends StatelessWidget {
const _LeaderBoardCompetitor({Key? key, required this.competitor}) const _LeaderBoardCompetitor({
: super(key: key); Key? key,
required this.competitor,
required this.theme,
}) : super(key: key);
final CharacterTheme theme;
final Competitor competitor; final Competitor competitor;
@ -169,20 +177,35 @@ class _LeaderBoardCompetitor extends StatelessWidget {
return Row( return Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
_LeaderboardCompetitorField(text: competitor.rank), _LeaderboardCompetitorField(
text: competitor.rank,
theme: theme,
),
_LeaderboardCompetitorCharacter( _LeaderboardCompetitorCharacter(
characterTheme: competitor.entry.character.theme, characterTheme: competitor.entry.character.theme,
theme: theme,
),
_LeaderboardCompetitorField(
text: competitor.entry.playerInitials,
theme: theme,
),
_LeaderboardCompetitorField(
text: competitor.entry.score.toString(),
theme: theme,
), ),
_LeaderboardCompetitorField(text: competitor.entry.playerInitials),
_LeaderboardCompetitorField(text: competitor.entry.score.toString()),
], ],
); );
} }
} }
class _LeaderboardCompetitorField extends StatelessWidget { class _LeaderboardCompetitorField extends StatelessWidget {
const _LeaderboardCompetitorField({Key? key, required this.text}) const _LeaderboardCompetitorField({
: super(key: key); Key? key,
required this.text,
required this.theme,
}) : super(key: key);
final CharacterTheme theme;
final String text; final String text;
@override @override
@ -191,8 +214,7 @@ class _LeaderboardCompetitorField extends StatelessWidget {
child: DecoratedBox( child: DecoratedBox(
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border.all( border: Border.all(
color: color: theme.ballColor,
context.read<ThemeCubit>().state.theme.characterTheme.ballColor,
width: 2, width: 2,
), ),
), ),
@ -209,7 +231,10 @@ class _LeaderboardCompetitorCharacter extends StatelessWidget {
const _LeaderboardCompetitorCharacter({ const _LeaderboardCompetitorCharacter({
Key? key, Key? key,
required this.characterTheme, required this.characterTheme,
required this.theme,
}) : super(key: key); }) : super(key: key);
final CharacterTheme theme;
final CharacterTheme characterTheme; final CharacterTheme characterTheme;
@override @override
@ -218,8 +243,7 @@ class _LeaderboardCompetitorCharacter extends StatelessWidget {
child: DecoratedBox( child: DecoratedBox(
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border.all( border: Border.all(
color: color: theme.ballColor,
context.read<ThemeCubit>().state.theme.characterTheme.ballColor,
width: 2, width: 2,
), ),
), ),

@ -20,7 +20,7 @@ void main() {
); );
expect(find.text(l10n.gameOver), findsOneWidget); expect(find.text(l10n.gameOver), findsOneWidget);
expect(find.text(l10n.leadersBoard), findsOneWidget); expect(find.text(l10n.leadersboard), findsOneWidget);
}); });
testWidgets('tapping on leaderboard button navigates to LeaderBoardPage', testWidgets('tapping on leaderboard button navigates to LeaderBoardPage',
@ -36,7 +36,7 @@ void main() {
navigator: navigator, navigator: navigator,
); );
await tester.tap(find.widgetWithText(TextButton, l10n.leadersBoard)); await tester.tap(find.widgetWithText(TextButton, l10n.leadersboard));
verify(() => navigator.push<void>(any())).called(1); verify(() => navigator.push<void>(any())).called(1);
}); });

@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'helpers.dart'; import 'helpers.dart';
Future<void> expectNavigatesTo<Type>( Future<void> expectNavigatesToRoute<Type>(
WidgetTester tester, WidgetTester tester,
Route route, { Route route, {
bool hasFlameGameInside = false, bool hasFlameGameInside = false,

@ -23,7 +23,7 @@ void main() {
}); });
testWidgets('route returns a valid navigation route', (tester) async { testWidgets('route returns a valid navigation route', (tester) async {
await expectNavigatesTo<LeaderboardPage>( await expectNavigatesToRoute<LeaderboardPage>(
tester, tester,
LeaderboardPage.route( LeaderboardPage.route(
theme: DashTheme(), theme: DashTheme(),
@ -41,7 +41,7 @@ void main() {
), ),
); );
expect(find.text(l10n.leadersBoard), findsOneWidget); expect(find.text(l10n.leadersboard), findsOneWidget);
expect(find.text(l10n.retry), findsOneWidget); expect(find.text(l10n.retry), findsOneWidget);
}); });

Loading…
Cancel
Save