From 9ce2225ca641ba453ae30a74623540d2c48ff20a Mon Sep 17 00:00:00 2001 From: Lucas Delanier Date: Tue, 21 Mar 2023 16:34:27 +0100 Subject: [PATCH 1/2] code smells clean --- .../res/drawable-v21/launch_background.xml | 6 - .../main/res/drawable/launch_background.xml | 6 - .../app/src/main/res/values/styles.xml | 9 +- .../bowlin_project/lib/config/app_router.dart | 2 - Sources/bowlin_project/lib/main.dart | 6 - .../bowlin_project/lib/model/GameDetail.dart | 23 ++-- .../lib/model/IGameManager.dart | 2 - .../bowlin_project/lib/model/IManager.dart | 3 - .../bowlin_project/lib/model/LastRound.dart | 91 ++++++++-------- Sources/bowlin_project/lib/model/Round.dart | 37 +++---- Sources/bowlin_project/lib/model/Stat.dart | 21 ++-- .../lib/model/StubManager/AuthManager.dart | 5 +- .../lib/model/StubManager/GameManager.dart | 2 - .../lib/model/StubManager/StubData.dart | 72 ++---------- .../lib/model/StubManager/UserManager.dart | 3 - .../lib/views/ingame_screen.dart | 18 +-- .../lib/views/ingame_screen2.dart | 8 +- .../lib/views/welcome_screen.dart | 4 +- .../lib/widgets/button_new_party.dart | 16 +-- .../lib/widgets/ingame_widgets.dart | 103 ++++++++++-------- 20 files changed, 160 insertions(+), 277 deletions(-) diff --git a/Sources/bowlin_project/android/app/src/main/res/drawable-v21/launch_background.xml b/Sources/bowlin_project/android/app/src/main/res/drawable-v21/launch_background.xml index 1cb7aa2..0430efb 100644 --- a/Sources/bowlin_project/android/app/src/main/res/drawable-v21/launch_background.xml +++ b/Sources/bowlin_project/android/app/src/main/res/drawable-v21/launch_background.xml @@ -3,10 +3,4 @@ - - diff --git a/Sources/bowlin_project/android/app/src/main/res/drawable/launch_background.xml b/Sources/bowlin_project/android/app/src/main/res/drawable/launch_background.xml index 8403758..8af0f98 100644 --- a/Sources/bowlin_project/android/app/src/main/res/drawable/launch_background.xml +++ b/Sources/bowlin_project/android/app/src/main/res/drawable/launch_background.xml @@ -3,10 +3,4 @@ - - diff --git a/Sources/bowlin_project/android/app/src/main/res/values/styles.xml b/Sources/bowlin_project/android/app/src/main/res/values/styles.xml index 5fac679..45578d6 100644 --- a/Sources/bowlin_project/android/app/src/main/res/values/styles.xml +++ b/Sources/bowlin_project/android/app/src/main/res/values/styles.xml @@ -1,17 +1,10 @@ - - diff --git a/Sources/bowlin_project/lib/config/app_router.dart b/Sources/bowlin_project/lib/config/app_router.dart index 1bc45be..5ac59c7 100644 --- a/Sources/bowlin_project/lib/config/app_router.dart +++ b/Sources/bowlin_project/lib/config/app_router.dart @@ -1,8 +1,6 @@ import 'package:bowl_in/model/AbstractRound.dart'; import 'package:bowl_in/model/GameDetail.dart'; -import 'package:bowl_in/model/Round.dart'; import 'package:bowl_in/views/ingame_screen2.dart'; -import 'package:bowl_in/widgets/button_new_party.dart'; import 'package:flutter/cupertino.dart'; import 'package:go_router/go_router.dart'; diff --git a/Sources/bowlin_project/lib/main.dart b/Sources/bowlin_project/lib/main.dart index 1046f67..50a8162 100644 --- a/Sources/bowlin_project/lib/main.dart +++ b/Sources/bowlin_project/lib/main.dart @@ -1,11 +1,5 @@ -import 'package:bowl_in/views/game_screen.dart'; -import 'package:bowl_in/views/ingame_screen.dart'; -import 'package:bowl_in/views/main_screen.dart'; -import 'package:bowl_in/views/rank_screen.dart'; -import 'package:bowl_in/views/welcome_screen.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:go_router/go_router.dart'; import 'package:bowl_in/config/app_router.dart'; import 'model/IManager.dart'; diff --git a/Sources/bowlin_project/lib/model/GameDetail.dart b/Sources/bowlin_project/lib/model/GameDetail.dart index 36a5389..9291a99 100644 --- a/Sources/bowlin_project/lib/model/GameDetail.dart +++ b/Sources/bowlin_project/lib/model/GameDetail.dart @@ -1,8 +1,6 @@ import 'package:bowl_in/model/AbstractRound.dart'; import 'package:bowl_in/model/Game.dart'; -import 'package:bowl_in/model/GamePlayer.dart'; import 'package:bowl_in/model/LastRound.dart'; - import 'Player.dart'; import 'Round.dart'; import 'User.dart'; @@ -29,7 +27,6 @@ class GameDetail { players.forEach((element) { this.rounds.add(LastRound(null, null, 0, element, 10, null)); }); - } // Getters and setters @@ -81,27 +78,27 @@ class GameDetail { _players = value; } - Map get points => _points; - void addGameToUsers(){ - for(var p in players){ - if(p is User){ + void addGameToUsers() { + for (var p in players) { + if (p is User) { p.games.add(Game(this.id, this.time, points[p] ?? 0, true, players)); p.stat.updateStats(this, p); } } } - void computeWinner(){ + void computeWinner() { print(getRank().entries.first.key.name); this.winner = getRank().entries.first.key; } - void computeScores(){ + void computeScores() { print("====COMPUTE POINTS===="); - for(var element in rounds){ - points[element.player] = (points[element.player] ?? 0) + (element.points ?? 0); + for (var element in rounds) { + points[element.player] = + (points[element.player] ?? 0) + (element.points ?? 0); print(element.points); } computeWinner(); @@ -109,8 +106,8 @@ class GameDetail { } Map getRank() { - var sortedByValueMap = Map.fromEntries( - points.entries.toList()..sort((e1, e2) => e2.value.compareTo(e1.value))); + var sortedByValueMap = Map.fromEntries(points.entries.toList() + ..sort((e1, e2) => e2.value.compareTo(e1.value))); return sortedByValueMap; } } diff --git a/Sources/bowlin_project/lib/model/IGameManager.dart b/Sources/bowlin_project/lib/model/IGameManager.dart index 6040d3c..2b4eff8 100644 --- a/Sources/bowlin_project/lib/model/IGameManager.dart +++ b/Sources/bowlin_project/lib/model/IGameManager.dart @@ -1,9 +1,7 @@ import 'GameDetail.dart'; import 'Player.dart'; -import 'User.dart'; abstract class IGameManager { - // Methods GameDetail getGameById(int id); List getGamesByPlayerId(int id); List getGamesByPlayer(Player user); diff --git a/Sources/bowlin_project/lib/model/IManager.dart b/Sources/bowlin_project/lib/model/IManager.dart index 00ecb8c..27ea88c 100644 --- a/Sources/bowlin_project/lib/model/IManager.dart +++ b/Sources/bowlin_project/lib/model/IManager.dart @@ -1,11 +1,8 @@ import 'package:bowl_in/model/GameDetail.dart'; import 'package:bowl_in/model/GamePlayer.dart'; - import 'User.dart'; -import 'Game.dart'; import 'IUserManager.dart'; import 'IGameManager.dart'; -import 'Game.dart'; abstract class IManager { late User _userCurrent; diff --git a/Sources/bowlin_project/lib/model/LastRound.dart b/Sources/bowlin_project/lib/model/LastRound.dart index 15ba3f4..45994e3 100644 --- a/Sources/bowlin_project/lib/model/LastRound.dart +++ b/Sources/bowlin_project/lib/model/LastRound.dart @@ -1,11 +1,10 @@ import 'package:bowl_in/model/AbstractRound.dart'; -import 'Player.dart'; - -class LastRound extends AbstractRound{ +class LastRound extends AbstractRound { int? _thirdThrow; - LastRound(super.firstThrow, super.secondThrow, super.points, super.player, super.number, this._thirdThrow); + LastRound(super.firstThrow, super.secondThrow, super.points, super.player, + super.number, this._thirdThrow); int? get thirdThrow => _thirdThrow; @@ -15,21 +14,21 @@ class LastRound extends AbstractRound{ @override bool computeNext(int val) { - if(firstThrow==null){ - firstThrow=val; - if(previousRound?.isSpare() ?? false){ + if (firstThrow == null) { + firstThrow = val; + if (previousRound?.isSpare() ?? false) { previousRound?.update(val); } return false; - }else if(secondThrow==null){ - secondThrow=val; - if ((firstThrow??0)+(secondThrow??0)<10){ + } else if (secondThrow == null) { + secondThrow = val; + if ((firstThrow ?? 0) + (secondThrow ?? 0) < 10) { computePoints(); - return true ; + return true; } return false; - }else if((firstThrow??0)+(secondThrow??0)>=10){ - thirdThrow=val; + } else if ((firstThrow ?? 0) + (secondThrow ?? 0) >= 10) { + thirdThrow = val; } computePoints(); return true; @@ -37,36 +36,36 @@ class LastRound extends AbstractRound{ @override void computePoints() { - points = (firstThrow??0)+(secondThrow??0)+(thirdThrow??0); + points = (firstThrow ?? 0) + (secondThrow ?? 0) + (thirdThrow ?? 0); print("Compute points : " + points.toString()); - if(previousRound?.isStrike()??false){ - update(points??0); + if (previousRound?.isStrike() ?? false) { + update(points ?? 0); } unsubscribePreviousRound(); } @override - bool shotIsStrike(){ - if(firstThrow==null){ + bool shotIsStrike() { + if (firstThrow == null) { return true; - }else if(secondThrow==null){ - return firstThrow==10; - }else{ - return secondThrow==10; + } else if (secondThrow == null) { + return firstThrow == 10; + } else { + return secondThrow == 10; } } @override int getNbSpares() { int nb = 0; - if(firstThrow!=10){ - if((firstThrow??0)+(secondThrow??0)==10){ - nb+=1; + if (firstThrow != 10) { + if ((firstThrow ?? 0) + (secondThrow ?? 0) == 10) { + nb += 1; } - }else{ - if((thirdThrow??0)+(secondThrow??0)==10) { - nb+=1; + } else { + if ((thirdThrow ?? 0) + (secondThrow ?? 0) == 10) { + nb += 1; } } return nb; @@ -75,17 +74,17 @@ class LastRound extends AbstractRound{ @override int getNbStrike() { int nb = 0; - if(firstThrow==10){ - nb+=1; - if(secondThrow==10){ - nb+=1; - if(thirdThrow==10) { - nb+=1; + if (firstThrow == 10) { + nb += 1; + if (secondThrow == 10) { + nb += 1; + if (thirdThrow == 10) { + nb += 1; } } - }else{ - if(thirdThrow==10) { - nb+=1; + } else { + if (thirdThrow == 10) { + nb += 1; } } return nb; @@ -93,23 +92,21 @@ class LastRound extends AbstractRound{ @override int getPinsKnockedDown() { - return (firstThrow??0)+(secondThrow??0)+(thirdThrow??0); + return (firstThrow ?? 0) + (secondThrow ?? 0) + (thirdThrow ?? 0); } - @override int getMaxPinsThisShot() { - if(firstThrow==null){ + if (firstThrow == null) { return 10; - }else if(firstThrow==10 && secondThrow==null){ + } else if (firstThrow == 10 && secondThrow == null) { return 10; - }else if(secondThrow==null){ - return 10 - (firstThrow??0); - }else if(secondThrow==10){ + } else if (secondThrow == null) { + return 10 - (firstThrow ?? 0); + } else if (secondThrow == 10) { return 10; - }else{ - return 10 - (secondThrow??0); + } else { + return 10 - (secondThrow ?? 0); } } - } diff --git a/Sources/bowlin_project/lib/model/Round.dart b/Sources/bowlin_project/lib/model/Round.dart index 0e37f70..3b50946 100644 --- a/Sources/bowlin_project/lib/model/Round.dart +++ b/Sources/bowlin_project/lib/model/Round.dart @@ -1,25 +1,24 @@ import 'package:bowl_in/model/AbstractRound.dart'; -import 'GamePlayer.dart'; -class Round extends AbstractRound{ - - Round(super.firstThrow, super.secondThrow, super.points, super.player, super.number); +class Round extends AbstractRound { + Round(super.firstThrow, super.secondThrow, super.points, super.player, + super.number); @override bool computeNext(int val) { - if(firstThrow==null){ - firstThrow=val; - if(previousRound?.isSpare() ?? false){ + if (firstThrow == null) { + firstThrow = val; + if (previousRound?.isSpare() ?? false) { previousRound?.update(val); unsubscribePreviousRound(); } - if(val==10){ + if (val == 10) { computePoints(); return true; } return false; - }else if(firstThrow!=10 && secondThrow==null){ - secondThrow=val; + } else if (firstThrow != 10 && secondThrow == null) { + secondThrow = val; } computePoints(); return true; @@ -27,20 +26,20 @@ class Round extends AbstractRound{ @override void computePoints() { - points = (firstThrow ?? 0)+(secondThrow ?? 0); - if(previousRound?.isStrike() ?? false){ + points = (firstThrow ?? 0) + (secondThrow ?? 0); + if (previousRound?.isStrike() ?? false) { previousRound?.update(points ?? 0); } } @override - bool shotIsStrike(){ - return firstThrow==null; + bool shotIsStrike() { + return firstThrow == null; } @override int getNbSpares() { - if(isSpare()){ + if (isSpare()) { return 1; } return 0; @@ -48,7 +47,7 @@ class Round extends AbstractRound{ @override int getNbStrike() { - if(isStrike()){ + if (isStrike()) { return 1; } return 0; @@ -56,14 +55,14 @@ class Round extends AbstractRound{ @override int getPinsKnockedDown() { - return (firstThrow ?? 0)+(secondThrow ?? 0); + return (firstThrow ?? 0) + (secondThrow ?? 0); } @override int getMaxPinsThisShot() { - if(firstThrow==null){ + if (firstThrow == null) { return 10; - }else{ + } else { return 10 - (firstThrow ?? 0); } } diff --git a/Sources/bowlin_project/lib/model/Stat.dart b/Sources/bowlin_project/lib/model/Stat.dart index d68fa57..435c421 100644 --- a/Sources/bowlin_project/lib/model/Stat.dart +++ b/Sources/bowlin_project/lib/model/Stat.dart @@ -1,8 +1,6 @@ import 'package:bowl_in/model/GameDetail.dart'; import 'package:bowl_in/model/Player.dart'; -import 'User.dart'; - class Stat { int _nbVictory; int _nbGames; @@ -74,26 +72,25 @@ class Stat { _avgPinsPerRound = value; } - void updateStats(GameDetail gd, Player p){ - nbGames +=1; - if(gd.winner == p){ - nbVictory +=1; + void updateStats(GameDetail gd, Player p) { + nbGames += 1; + if (gd.winner == p) { + nbVictory += 1; } - if((gd.points[p] ?? 0) > highscore){ + if ((gd.points[p] ?? 0) > highscore) { highscore = gd.points[p] ?? 0; } double totalpins = 0; - for(var r in gd.rounds){ - - if(p == r.player){ + for (var r in gd.rounds) { + if (p == r.player) { nbStrikes += r.getNbStrike(); nbSpares += r.getNbSpares(); totalpins = totalpins + r.getPinsKnockedDown(); } } - avgPinsPerRound = ((avgPinsPerRound * (nbGames-1)) + (totalpins/10))/nbGames; - + avgPinsPerRound = + ((avgPinsPerRound * (nbGames - 1)) + (totalpins / 10)) / nbGames; } } diff --git a/Sources/bowlin_project/lib/model/StubManager/AuthManager.dart b/Sources/bowlin_project/lib/model/StubManager/AuthManager.dart index fc93912..2b581dd 100644 --- a/Sources/bowlin_project/lib/model/StubManager/AuthManager.dart +++ b/Sources/bowlin_project/lib/model/StubManager/AuthManager.dart @@ -1,4 +1,5 @@ library StubLib; + import '../IAuthManager.dart'; import '../User.dart'; import 'StubData.dart'; @@ -12,10 +13,10 @@ class AuthManager extends IAuthManager { bool verifiedUser(String mail, String password) { for (var user in parent.players) { if (user is User && user.mail == mail) { - parent.userCurrent = user as User; + parent.userCurrent = user; return true; } } return false; } -} \ No newline at end of file +} diff --git a/Sources/bowlin_project/lib/model/StubManager/GameManager.dart b/Sources/bowlin_project/lib/model/StubManager/GameManager.dart index 511acaf..63c878e 100644 --- a/Sources/bowlin_project/lib/model/StubManager/GameManager.dart +++ b/Sources/bowlin_project/lib/model/StubManager/GameManager.dart @@ -1,11 +1,9 @@ library StubLib; -import '../Game.dart'; import '../IGameManager.dart'; import '../GameDetail.dart'; import '../Player.dart'; import '../User.dart'; -import '../Guest.dart'; import 'StubData.dart'; class GameManager extends IGameManager { diff --git a/Sources/bowlin_project/lib/model/StubManager/StubData.dart b/Sources/bowlin_project/lib/model/StubManager/StubData.dart index 001b928..8b0729c 100644 --- a/Sources/bowlin_project/lib/model/StubManager/StubData.dart +++ b/Sources/bowlin_project/lib/model/StubManager/StubData.dart @@ -51,15 +51,7 @@ class StubData extends IManager { Achievement("Win a game") ], [], - Stat( - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0)), + Stat(0, 0, 0, 0, 0, 0, 0, 0)), User( 9, "Dave", @@ -82,15 +74,7 @@ class StubData extends IManager { Achievement("Win a game") ], [], - Stat( - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0)), + Stat(0, 0, 0, 0, 0, 0, 0, 0)), User( 22, "Louison", @@ -102,15 +86,7 @@ class StubData extends IManager { Achievement("Win a game") ], [], - Stat( - 10, - 12, - 150, - 7, - 6, - 700, - 58.33, - 30.2)), + Stat(10, 12, 150, 7, 6, 700, 58.33, 30.2)), User( 23, "Owen", @@ -122,15 +98,7 @@ class StubData extends IManager { Achievement("Win a game") ], [], - Stat( - 10, - 12, - 10, - 7, - 6, - 700, - 58.33, - 30.2)), + Stat(10, 12, 10, 7, 6, 700, 58.33, 30.2)), User( 24, "LULU", @@ -142,15 +110,7 @@ class StubData extends IManager { Achievement("Win a game") ], [], - Stat( - 10, - 12, - 40, - 7, - 6, - 700, - 58.33, - 30.2)), + Stat(10, 12, 40, 7, 6, 700, 58.33, 30.2)), User( 25, "Raphael", @@ -162,25 +122,9 @@ class StubData extends IManager { Achievement("Win a game") ], [], - Stat( - 10, - 12, - 76, - 7, - 6, - 700, - 58.33, - 30.2)), + Stat(10, 12, 76, 7, 6, 700, 58.33, 30.2)), ], - Stat( - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0)) + Stat(0, 0, 0, 0, 0, 0, 0, 0)) ]; List _gameDetails = []; @@ -229,8 +173,6 @@ class StubData extends IManager { List get rounds => _rounds; - List _games = []; - void _initGame() { // games.add(Game( // gameDetails[0].id, diff --git a/Sources/bowlin_project/lib/model/StubManager/UserManager.dart b/Sources/bowlin_project/lib/model/StubManager/UserManager.dart index c4e7f57..fd8d9e9 100644 --- a/Sources/bowlin_project/lib/model/StubManager/UserManager.dart +++ b/Sources/bowlin_project/lib/model/StubManager/UserManager.dart @@ -1,13 +1,10 @@ library StubLib; import '../IUserManager.dart'; -import '../IAuthManager.dart'; import '../Player.dart'; import '../User.dart'; import 'AuthManager.dart'; import 'StubData.dart'; -import '../Player.dart'; -import '../Stat.dart'; class UserManager extends IUserManager { final StubData parent; diff --git a/Sources/bowlin_project/lib/views/ingame_screen.dart b/Sources/bowlin_project/lib/views/ingame_screen.dart index 6a47b3c..43935ac 100644 --- a/Sources/bowlin_project/lib/views/ingame_screen.dart +++ b/Sources/bowlin_project/lib/views/ingame_screen.dart @@ -1,17 +1,10 @@ import 'package:bowl_in/main.dart'; import 'package:bowl_in/model/GameDetail.dart'; -import 'package:bowl_in/model/GamePlayer.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:go_router/go_router.dart'; import 'package:google_fonts/google_fonts.dart'; - -import '../model/Game.dart'; -import '../model/Guest.dart'; import '../model/Player.dart'; -import '../widgets/button_new_party.dart'; import '../widgets/ingame_widgets.dart'; -import '../widgets/scores_list_widget.dart'; class InGameScreen extends StatefulWidget { const InGameScreen({Key? key}) : super(key: key); @@ -57,12 +50,7 @@ class _InGameScreenState extends State { Spacer(), ElevatedButton( onPressed: () { - GameDetail gd = GameDetail( - -1, - DateTime.now(), - null, - 0, - false, + GameDetail gd = GameDetail(-1, DateTime.now(), null, 0, false, MyApp.controller.userCurrent.id, listPlayers); MyApp.controller.gamePlayer.game = gd; @@ -81,8 +69,8 @@ class _InGameScreenState extends State { width: 7, color: Color(0xff1ABAE0), ), - onPrimary: Colors.transparent, - primary: Colors.transparent, + foregroundColor: Colors.transparent, + backgroundColor: Colors.transparent, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(55), ), diff --git a/Sources/bowlin_project/lib/views/ingame_screen2.dart b/Sources/bowlin_project/lib/views/ingame_screen2.dart index 3d11b9a..1fdbc60 100644 --- a/Sources/bowlin_project/lib/views/ingame_screen2.dart +++ b/Sources/bowlin_project/lib/views/ingame_screen2.dart @@ -3,11 +3,7 @@ import 'package:bowl_in/model/AbstractRound.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; - -import '../model/Round.dart'; -import '../widgets/button_new_party.dart'; import '../widgets/ingame_widgets.dart'; -import '../widgets/scores_list_widget.dart'; class InGameScreen2 extends StatefulWidget { final AbstractRound currentRound; @@ -93,8 +89,8 @@ class _InGameScreen2State extends State { width: 7, color: Color(0xff1ABAE0), ), - onPrimary: Colors.transparent, - primary: Colors.transparent, + foregroundColor: Colors.transparent, + backgroundColor: Colors.transparent, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(55), ), diff --git a/Sources/bowlin_project/lib/views/welcome_screen.dart b/Sources/bowlin_project/lib/views/welcome_screen.dart index 4ee80bf..b09bf14 100644 --- a/Sources/bowlin_project/lib/views/welcome_screen.dart +++ b/Sources/bowlin_project/lib/views/welcome_screen.dart @@ -66,8 +66,8 @@ class ButtonConnexion extends StatelessWidget { width: 7, color: Color(0xffFF419B), ), - onPrimary: Colors.white, - primary: Color(0xffF40375), + backgroundColor: Colors.white, + foregroundColor: Color(0xffF40375), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(35), ), diff --git a/Sources/bowlin_project/lib/widgets/button_new_party.dart b/Sources/bowlin_project/lib/widgets/button_new_party.dart index e31275e..3709cdb 100644 --- a/Sources/bowlin_project/lib/widgets/button_new_party.dart +++ b/Sources/bowlin_project/lib/widgets/button_new_party.dart @@ -3,11 +3,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:go_router/go_router.dart'; import 'package:google_fonts/google_fonts.dart'; - -import '../main.dart'; import '../model/GameDetail.dart'; -import '../model/Player.dart'; -import '../model/User.dart'; import 'ingame_widgets.dart'; class ButtonNewParty extends StatelessWidget { @@ -21,8 +17,8 @@ class ButtonNewParty extends StatelessWidget { width: 4, color: Color(0xffFF419B), ), - onPrimary: Colors.white, - primary: Color(0xffF40375), + backgroundColor: Colors.white, + foregroundColor: Color(0xffF40375), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(35), ), @@ -127,8 +123,8 @@ class NewGameModal extends StatelessWidget { fontWeight: FontWeight.bold, fontSize: 18), ), style: ElevatedButton.styleFrom( - onPrimary: Colors.white, - primary: Color(0xffF40375), + backgroundColor: Colors.white, + foregroundColor: Color(0xffF40375), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10), ), @@ -229,8 +225,8 @@ class ButtonJoinParty extends StatelessWidget { width: 4, color: Color(0xff6B6588), ), - onPrimary: Colors.white, - primary: Color(0xff45405D), + backgroundColor: Colors.white, + foregroundColor: Color(0xff45405D), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(35), ), diff --git a/Sources/bowlin_project/lib/widgets/ingame_widgets.dart b/Sources/bowlin_project/lib/widgets/ingame_widgets.dart index 8b9cf57..781f548 100644 --- a/Sources/bowlin_project/lib/widgets/ingame_widgets.dart +++ b/Sources/bowlin_project/lib/widgets/ingame_widgets.dart @@ -1,13 +1,9 @@ import 'dart:ui'; - import 'package:bowl_in/main.dart'; -import 'package:bowl_in/widgets/profil_listpodium_widget.dart'; -import 'package:bowl_in/widgets/scores_list_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:google_fonts/google_fonts.dart'; - import '../model/AbstractRound.dart'; import '../model/GameDetail.dart'; import '../model/Guest.dart'; @@ -170,8 +166,8 @@ class _FinalScoreBoardState extends State { width: 7, color: Color(0xff1ABAE0), ), - onPrimary: Colors.transparent, - primary: Colors.transparent, + backgroundColor: Colors.transparent, + foregroundColor: Colors.transparent, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(55), ), @@ -252,7 +248,8 @@ class PodiumGameOverWidget extends StatelessWidget { class InGameCardConfig extends StatefulWidget { final List listPlayer; - const InGameCardConfig({Key? key, required this.listPlayer}) : super(key: key); + const InGameCardConfig({Key? key, required this.listPlayer}) + : super(key: key); @override State createState() => _InGameCardConfigState(); @@ -264,16 +261,14 @@ class _InGameCardConfigState extends State { super.initState(); } - void onDelete(Player p){ + void onDelete(Player p) { setState(() { - widget.listPlayer.remove(p); }); } - void onReorder(int oldIndex, int newIndex){ + void onReorder(int oldIndex, int newIndex) { setState(() { - if (oldIndex < newIndex) { newIndex -= 1; } @@ -325,7 +320,11 @@ class _InGameCardConfigState extends State { ], ), )), - ListUserInGame(listPlayer: widget.listPlayer, onDelete: onDelete, onReorder: onReorder,), + ListUserInGame( + listPlayer: widget.listPlayer, + onDelete: onDelete, + onReorder: onReorder, + ), Spacer(), Image( image: AssetImage("assets/images/start_sentence.png"), @@ -350,7 +349,7 @@ class _InGameCardConfigState extends State { style: ElevatedButton.styleFrom( elevation: 5, shadowColor: Color(0xffB70056), - primary: Color(0xffF40375), + foregroundColor: Color(0xffF40375), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10), ), @@ -367,14 +366,18 @@ class ListUserInGame extends StatefulWidget { final List listPlayer; final Function(Player) onDelete; final Function(int, int) onReorder; - const ListUserInGame({Key? key, required this.listPlayer, required this.onDelete, required this.onReorder}) : super(key: key); + const ListUserInGame( + {Key? key, + required this.listPlayer, + required this.onDelete, + required this.onReorder}) + : super(key: key); @override State createState() => _ListUserInGameState(); } class _ListUserInGameState extends State { - @override Widget build(BuildContext context) { return Padding( @@ -388,10 +391,14 @@ class _ListUserInGameState extends State { ), child: ReorderableListView.builder( itemCount: widget.listPlayer.length, - itemBuilder: (context, index) { - return UserInGame(key:ValueKey(widget.listPlayer[index]) ,player: widget.listPlayer[index], onDelete: widget.onDelete, index: index); - }, - onReorder: widget.onReorder, + itemBuilder: (context, index) { + return UserInGame( + key: ValueKey(widget.listPlayer[index]), + player: widget.listPlayer[index], + onDelete: widget.onDelete, + index: index); + }, + onReorder: widget.onReorder, ), ), RichText( @@ -418,7 +425,12 @@ class UserInGame extends StatefulWidget { final Player player; final Function(Player) onDelete; final int index; - const UserInGame({Key? key, required this.player, required this.onDelete, required this.index}) : super(key: key); + const UserInGame( + {Key? key, + required this.player, + required this.onDelete, + required this.index}) + : super(key: key); @override State createState() => _UserInGameState(); @@ -442,17 +454,17 @@ class _UserInGameState extends State { child: Row( children: [ ReorderableDragStartListener( - index: widget.index, - child : Container( - width: 30, - height: 30, - decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(70)), - image: DecorationImage( - image: AssetImage(widget.player.image), fit: BoxFit.cover), + index: widget.index, + child: Container( + width: 30, + height: 30, + decoration: BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(70)), + image: DecorationImage( + image: AssetImage(widget.player.image), fit: BoxFit.cover), + ), ), ), - ), SizedBox( width: 10, ), @@ -472,29 +484,26 @@ class _UserInGameState extends State { ), cursorColor: Colors.purple, textAlign: TextAlign.left, - onChanged: (str)=> widget.player.name=str - , + onChanged: (str) => widget.player.name = str, ), ), ) : SizedBox( width: 220, - child: Text( - widget.player.name, - style: GoogleFonts.roboto( - fontSize: 18, - decoration: TextDecoration.none, - color: Color(0xff241E40)) - ), + child: Text(widget.player.name, + style: GoogleFonts.roboto( + fontSize: 18, + decoration: TextDecoration.none, + color: Color(0xff241E40))), ), - (widget.player is User && (widget.player as User).id == MyApp.controller.userCurrent.id) ? - Icon(Icons.lock, color: Colors.amber) : - GestureDetector( - onTap: () { - widget.onDelete(widget.player); - }, - child: Icon(Icons.close) - ), + (widget.player is User && + (widget.player as User).id == MyApp.controller.userCurrent.id) + ? Icon(Icons.lock, color: Colors.amber) + : GestureDetector( + onTap: () { + widget.onDelete(widget.player); + }, + child: Icon(Icons.close)), Spacer() ], ), @@ -518,8 +527,6 @@ class InGameCardThrow extends StatefulWidget { } class _InGameCardThrowState extends State { - GlobalKey<_NumberPadState> _numberPadKey = GlobalKey(); - void initState() { super.initState(); } From 8855a61c6e2d1a09dc0f9c032dc08b91ab4b894b Mon Sep 17 00:00:00 2001 From: Lucas Delanier Date: Tue, 21 Mar 2023 16:46:08 +0100 Subject: [PATCH 2/2] code smells clean --- .../lib/model/StubManager/StubData.dart | 1 - .../lib/widgets/profil_listpodium_widget.dart | 2 -- .../lib/widgets/scores_list_widget.dart | 1 - Sources/bowlin_project/test/manager_test.dart | 14 +++++--------- 4 files changed, 5 insertions(+), 13 deletions(-) diff --git a/Sources/bowlin_project/lib/model/StubManager/StubData.dart b/Sources/bowlin_project/lib/model/StubManager/StubData.dart index 8b0729c..95b7a21 100644 --- a/Sources/bowlin_project/lib/model/StubManager/StubData.dart +++ b/Sources/bowlin_project/lib/model/StubManager/StubData.dart @@ -2,7 +2,6 @@ library StubLib; import '../Guest.dart'; import '../IManager.dart'; -import '../Game.dart'; import '../IUserManager.dart'; import '../IGameManager.dart'; import '../Player.dart'; diff --git a/Sources/bowlin_project/lib/widgets/profil_listpodium_widget.dart b/Sources/bowlin_project/lib/widgets/profil_listpodium_widget.dart index a4c1a90..62f7e0a 100644 --- a/Sources/bowlin_project/lib/widgets/profil_listpodium_widget.dart +++ b/Sources/bowlin_project/lib/widgets/profil_listpodium_widget.dart @@ -2,9 +2,7 @@ import 'package:bowl_in/widgets/scores_list_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; - import '../main.dart'; -import '../model/Player.dart'; import '../model/User.dart'; class ProfilPodiumWidget extends StatelessWidget { diff --git a/Sources/bowlin_project/lib/widgets/scores_list_widget.dart b/Sources/bowlin_project/lib/widgets/scores_list_widget.dart index c66c665..a9716a9 100644 --- a/Sources/bowlin_project/lib/widgets/scores_list_widget.dart +++ b/Sources/bowlin_project/lib/widgets/scores_list_widget.dart @@ -2,7 +2,6 @@ import 'package:bowl_in/main.dart'; import 'package:bowl_in/widgets/button_new_party.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:go_router/go_router.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:intl/date_symbol_data_local.dart'; import 'package:intl/intl.dart'; diff --git a/Sources/bowlin_project/test/manager_test.dart b/Sources/bowlin_project/test/manager_test.dart index 39e1318..cf3ca24 100644 --- a/Sources/bowlin_project/test/manager_test.dart +++ b/Sources/bowlin_project/test/manager_test.dart @@ -1,4 +1,3 @@ -import 'package:bowl_in/model/AbstractRound.dart'; import 'package:bowl_in/model/GameDetail.dart'; import 'package:bowl_in/model/Guest.dart'; import 'package:bowl_in/model/IManager.dart'; @@ -6,15 +5,14 @@ import 'package:bowl_in/model/Player.dart'; import 'package:bowl_in/model/StubManager/StubData.dart'; import 'package:flutter_test/flutter_test.dart'; - -void testManager(IManager mgr){ - test("Just strikes", (){ - +void testManager(IManager mgr) { + test("Just strikes", () { expect(mgr.userCurrent, mgr.userMgr.getUsersByName("Dave").first); expect(mgr.userCurrent, mgr.userMgr.getUserById(mgr.userCurrent.id)); List players = [mgr.userCurrent, Guest("Emre")]; - GameDetail gd = GameDetail(mgr.gameMgr.getNextId(), DateTime.now(), null, 135, true, 5, players); + GameDetail gd = GameDetail( + mgr.gameMgr.getNextId(), DateTime.now(), null, 135, true, 5, players); mgr.gameMgr.addGame(gd); @@ -27,11 +25,9 @@ void testManager(IManager mgr){ expect(players, mgr.gameMgr.getPlayersByIdGame(gd.id)); expect(gd, mgr.gameMgr.getGamesByPlayers(players).first); - - }); } void main() { testManager(StubData()); -} \ No newline at end of file +}