1
0
mirror of https://github.com/flutter/samples.git synced 2026-04-03 18:22:45 +00:00

slide_puzzle: use pkg:provider

This commit is contained in:
Kevin Moore
2019-05-23 18:05:12 -07:00
parent 051f5bec29
commit 0e50bbd6c9
10 changed files with 206 additions and 214 deletions

View File

@@ -14,7 +14,7 @@ class ThemePlaster extends SharedTheme {
@override
String get name => 'Plaster';
ThemePlaster(AppState baseTheme) : super(baseTheme);
const ThemePlaster();
@override
Color get puzzleThemeBackground => _chocolate;
@@ -26,7 +26,7 @@ class ThemePlaster extends SharedTheme {
Color get puzzleAccentColor => _orangeIsh;
@override
RoundedRectangleBorder get puzzleBorder => RoundedRectangleBorder(
RoundedRectangleBorder puzzleBorder(bool small) => RoundedRectangleBorder(
side: const BorderSide(
color: Color.fromARGB(255, 103, 103, 105),
width: 8,
@@ -37,14 +37,14 @@ class ThemePlaster extends SharedTheme {
);
@override
Widget tileButton(int i) {
final correctColumn = i % puzzle.width;
final correctRow = i ~/ puzzle.width;
Widget tileButton(int i, AppState appState, bool small) {
final correctColumn = i % appState.puzzle.width;
final correctRow = i ~/ appState.puzzle.width;
final primary = (correctColumn + correctRow).isEven;
if (i == puzzle.tileCount) {
assert(puzzle.solved);
if (i == appState.puzzle.tileCount) {
assert(appState.puzzle.solved);
return Center(
child: Icon(
Icons.thumb_up,
@@ -64,6 +64,8 @@ class ThemePlaster extends SharedTheme {
);
return createButton(
appState,
small,
i,
content,
color: primary ? _orangeIsh : _yellowIsh,