diff --git a/assets/images/achievements/0point_locked.png b/assets/images/achievements/0point_locked.png new file mode 100644 index 0000000..3dbafdd Binary files /dev/null and b/assets/images/achievements/0point_locked.png differ diff --git a/assets/images/achievements/0point_unlocked.png b/assets/images/achievements/0point_unlocked.png new file mode 100644 index 0000000..135faed Binary files /dev/null and b/assets/images/achievements/0point_unlocked.png differ diff --git a/assets/images/achievements/10spares_locked.png b/assets/images/achievements/10spares_locked.png new file mode 100644 index 0000000..cbfd10b Binary files /dev/null and b/assets/images/achievements/10spares_locked.png differ diff --git a/assets/images/achievements/10spares_unlocked.png b/assets/images/achievements/10spares_unlocked.png new file mode 100644 index 0000000..99858c8 Binary files /dev/null and b/assets/images/achievements/10spares_unlocked.png differ diff --git a/assets/images/achievements/10strikes_locked.png b/assets/images/achievements/10strikes_locked.png new file mode 100644 index 0000000..c5726b5 Binary files /dev/null and b/assets/images/achievements/10strikes_locked.png differ diff --git a/assets/images/achievements/10strikes_unlocked.png b/assets/images/achievements/10strikes_unlocked.png new file mode 100644 index 0000000..b70f361 Binary files /dev/null and b/assets/images/achievements/10strikes_unlocked.png differ diff --git a/assets/images/achievements/10x9spins_locked.png b/assets/images/achievements/10x9spins_locked.png new file mode 100644 index 0000000..e2e77ae Binary files /dev/null and b/assets/images/achievements/10x9spins_locked.png differ diff --git a/assets/images/achievements/10x9spins_unlocked.png b/assets/images/achievements/10x9spins_unlocked.png new file mode 100644 index 0000000..08ed51f Binary files /dev/null and b/assets/images/achievements/10x9spins_unlocked.png differ diff --git a/assets/images/achievements/150points_locked.png b/assets/images/achievements/150points_locked.png new file mode 100644 index 0000000..c488b1f Binary files /dev/null and b/assets/images/achievements/150points_locked.png differ diff --git a/assets/images/achievements/150points_unlocked.png b/assets/images/achievements/150points_unlocked.png new file mode 100644 index 0000000..5c77f16 Binary files /dev/null and b/assets/images/achievements/150points_unlocked.png differ diff --git a/assets/images/achievements/2strikeinarow_locked.png b/assets/images/achievements/2strikeinarow_locked.png new file mode 100644 index 0000000..99e8c57 Binary files /dev/null and b/assets/images/achievements/2strikeinarow_locked.png differ diff --git a/assets/images/achievements/2strikeinarow_unlocked.png b/assets/images/achievements/2strikeinarow_unlocked.png new file mode 100644 index 0000000..1d14f56 Binary files /dev/null and b/assets/images/achievements/2strikeinarow_unlocked.png differ diff --git a/assets/images/achievements/5friends_locked.png b/assets/images/achievements/5friends_locked.png new file mode 100644 index 0000000..716808c Binary files /dev/null and b/assets/images/achievements/5friends_locked.png differ diff --git a/assets/images/achievements/5friends_unlocked.png b/assets/images/achievements/5friends_unlocked.png new file mode 100644 index 0000000..ec6ea90 Binary files /dev/null and b/assets/images/achievements/5friends_unlocked.png differ diff --git a/assets/images/achievements/5games_locked.png b/assets/images/achievements/5games_locked.png new file mode 100644 index 0000000..5742c64 Binary files /dev/null and b/assets/images/achievements/5games_locked.png differ diff --git a/assets/images/achievements/5games_unlocked.png b/assets/images/achievements/5games_unlocked.png new file mode 100644 index 0000000..8aa3240 Binary files /dev/null and b/assets/images/achievements/5games_unlocked.png differ diff --git a/assets/images/achievements/win_locked.png b/assets/images/achievements/win_locked.png new file mode 100644 index 0000000..ede2fae Binary files /dev/null and b/assets/images/achievements/win_locked.png differ diff --git a/assets/images/achievements/win_unlocked.png b/assets/images/achievements/win_unlocked.png new file mode 100644 index 0000000..aaa2750 Binary files /dev/null and b/assets/images/achievements/win_unlocked.png differ diff --git a/assets/images/image_achievement_card.png b/assets/images/image_achievement_card.png index 9078af5..716808c 100644 Binary files a/assets/images/image_achievement_card.png and b/assets/images/image_achievement_card.png differ diff --git a/assets/images/ingame_cardgame.png b/assets/images/ingame_cardgame.png new file mode 100644 index 0000000..6e187a1 Binary files /dev/null and b/assets/images/ingame_cardgame.png differ diff --git a/assets/images/start_sentence.png b/assets/images/start_sentence.png new file mode 100644 index 0000000..07ae951 Binary files /dev/null and b/assets/images/start_sentence.png differ diff --git a/lib/config/app_router.dart b/lib/config/app_router.dart new file mode 100644 index 0000000..4b60aee --- /dev/null +++ b/lib/config/app_router.dart @@ -0,0 +1,45 @@ +import 'package:flutter/cupertino.dart'; +import 'package:go_router/go_router.dart'; + +import '../views/game_screen.dart'; +import '../views/ingame_screen.dart'; +import '../views/main_screen.dart'; +import '../views/rank_screen.dart'; +import '../views/welcome_screen.dart'; + +final GoRouter router = GoRouter( + routes: [ + GoRoute( + path: '/', + builder: (BuildContext context, GoRouterState state) { + return const MainScreen(); + }, + routes: [ + GoRoute( + path: 'games', + builder: (BuildContext context, GoRouterState state) { + return const GameScreen(); + }, + ), + GoRoute( + path: 'ranking', + builder: (BuildContext context, GoRouterState state) { + return const RankScreen(); + }, + ), + GoRoute( + path: 'splash', + builder: (BuildContext context, GoRouterState state) { + return const WelcomeScreen(); + }, + ), + GoRoute( + path: 'in-game', + builder: (BuildContext context, GoRouterState state) { + return const InGameScreen(); + }, + ), + ], + ), + ], +); diff --git a/lib/main.dart b/lib/main.dart index ab17985..eb7f158 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,73 +1,31 @@ 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'; void main() { runApp(const MyApp()); } -final GoRouter _router = GoRouter( - routes: [ - GoRoute( - path: '/', - builder: (BuildContext context, GoRouterState state) { - return const MainScreen(); - }, - routes: [ - GoRoute( - path: 'games', - builder: (BuildContext context, GoRouterState state) { - return const GameScreen(); - }, - ), - GoRoute( - path: 'ranking', - builder: (BuildContext context, GoRouterState state) { - return const RankScreen(); - }, - ), - GoRoute( - path: 'splash', - builder: (BuildContext context, GoRouterState state) { - return const WelcomeScreen(); - }, - ), - ], - ), - ], -); - class MyApp extends StatelessWidget { const MyApp({super.key}); - - // This widget is the root of your application. @override Widget build(BuildContext context) { SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky); SystemChrome.setSystemUIOverlayStyle( const SystemUiOverlayStyle(statusBarColor: Colors.transparent)); - return MaterialApp( + return MaterialApp.router( debugShowCheckedModeBanner: false, - title: 'Flutter Demo', - theme: ThemeData( - // This is the theme of your application. - // - // Try running your application with "flutter run". You'll see the - // application has a blue toolbar. Then, without quitting the app, try - // changing the primarySwatch below to Colors.green and then invoke - // "hot reload" (press "r" in the console where you ran "flutter run", - // or simply save your changes to "hot reload" in a Flutter IDE). - // Notice that the counter didn't reset back to zero; the application - // is not restarted. - primarySwatch: Colors.blue, - ), - home: const MainScreen(), + routerConfig: router, ); } + + // This widget is the root of your application. } class MyHomePage extends StatefulWidget { diff --git a/lib/views/ingame_screen.dart b/lib/views/ingame_screen.dart new file mode 100644 index 0000000..7078746 --- /dev/null +++ b/lib/views/ingame_screen.dart @@ -0,0 +1,70 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:google_fonts/google_fonts.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); + + @override + State createState() => _InGameScreenState(); +} + +class _InGameScreenState extends State { + @override + Widget build(BuildContext context) { + return Stack( + children: [ + Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + decoration: const BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + Color(0xff19BDE0), + Color(0xff4A17DC), + ], + )), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox( + height: 120, + ), + InGameCardConfig(), + Spacer(), + ElevatedButton( + onPressed: () {}, + child: Text( + "PLAY", + style: GoogleFonts.roboto( + fontWeight: FontWeight.bold, + fontSize: 40, + color: Color(0xff1ABAE0)), + ), + style: ElevatedButton.styleFrom( + side: BorderSide( + width: 7, + color: Color(0xff1ABAE0), + ), + onPrimary: Colors.transparent, + primary: Colors.transparent, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(55), + ), + minimumSize: Size(200, 80), + ), + ), + Spacer(), + ], + ) + ], + ); + } +} diff --git a/lib/widgets/achievements_list_widget.dart b/lib/widgets/achievements_list_widget.dart index 528ec99..32cd4a3 100644 --- a/lib/widgets/achievements_list_widget.dart +++ b/lib/widgets/achievements_list_widget.dart @@ -74,57 +74,61 @@ class ListAchievementWidget extends StatelessWidget { ), ), AchievementWidget( - imagePath: 'assets/images/image_achievement_card.png', + imagePath: 'assets/images/achievements/5friends_locked.png', imagePathUnlocked: - 'assets/images/image_achievement_unlocked.png', + 'assets/images/achievements/5friends_unlocked.png', isUnlocked: 0, ), AchievementWidget( - imagePath: 'assets/images/image_achievement_card.png', + imagePath: 'assets/images/achievements/win_locked.png', imagePathUnlocked: - 'assets/images/image_achievement_unlocked.png', + 'assets/images/achievements/win_unlocked.png', isUnlocked: 1, ), AchievementWidget( - imagePath: 'assets/images/image_achievement_card.png', + imagePath: + 'assets/images/achievements/10strikes_locked.png', imagePathUnlocked: - 'assets/images/image_achievement_unlocked.png', + 'assets/images/achievements/10strikes_unlocked.png', isUnlocked: 0, ), AchievementWidget( - imagePath: 'assets/images/image_achievement_card.png', + imagePath: + 'assets/images/achievements/150points_locked.png', imagePathUnlocked: - 'assets/images/image_achievement_unlocked.png', + 'assets/images/achievements/150points_unlocked.png', isUnlocked: 0, ), AchievementWidget( - imagePath: 'assets/images/image_achievement_card.png', + imagePath: + 'assets/images/achievements/2strikeinarow_locked.png', imagePathUnlocked: - 'assets/images/image_achievement_unlocked.png', + 'assets/images/achievements/2strikeinarow_unlocked.png', isUnlocked: 1, ), AchievementWidget( - imagePath: 'assets/images/image_achievement_card.png', + imagePath: 'assets/images/achievements/5games_locked.png', imagePathUnlocked: - 'assets/images/image_achievement_unlocked.png', + 'assets/images/achievements/5games_unlocked.png', isUnlocked: 1, ), AchievementWidget( - imagePath: 'assets/images/image_achievement_card.png', + imagePath: 'assets/images/achievements/10spares_locked.png', imagePathUnlocked: - 'assets/images/image_achievement_unlocked.png', + 'assets/images/achievements/10spares_unlocked.png', isUnlocked: 1, ), AchievementWidget( - imagePath: 'assets/images/image_achievement_card.png', + imagePath: + 'assets/images/achievements/10x9spins_locked.png', imagePathUnlocked: - 'assets/images/image_achievement_unlocked.png', + 'assets/images/achievements/10x9spins_unlocked.png', isUnlocked: 0, ), AchievementWidget( - imagePath: 'assets/images/image_achievement_card.png', + imagePath: 'assets/images/achievements/0point_locked.png', imagePathUnlocked: - 'assets/images/image_achievement_unlocked.png', + 'assets/images/achievements/0point_unlocked.png', isUnlocked: 0, ), ], diff --git a/lib/widgets/ingame_widgets.dart b/lib/widgets/ingame_widgets.dart new file mode 100644 index 0000000..8fcbd95 --- /dev/null +++ b/lib/widgets/ingame_widgets.dart @@ -0,0 +1,233 @@ +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'; + +class InGameCardConfig extends StatefulWidget { + const InGameCardConfig({Key? key}) : super(key: key); + + @override + State createState() => _InGameCardConfigState(); +} + +class _InGameCardConfigState extends State { + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.fromLTRB(35, 0, 30, 35), + width: MediaQuery.of(context).size.width, + height: 470, + decoration: BoxDecoration( + image: DecorationImage( + image: AssetImage("assets/images/ingame_cardgame.png"), + fit: BoxFit.fill), + boxShadow: [ + BoxShadow( + color: CupertinoColors.black.withOpacity(0.15), + blurRadius: 10.0, + spreadRadius: 5.0, + ), + ]), + child: Column( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Padding( + padding: EdgeInsets.fromLTRB(0, 5, 15, 0), + child: RichText( + text: TextSpan( + style: DefaultTextStyle.of(context).style, + children: [ + TextSpan( + text: 'Party code : ', + style: GoogleFonts.roboto( + fontSize: 15, + color: CupertinoColors.black, + fontWeight: FontWeight.w400, + decoration: TextDecoration.none)), + TextSpan( + text: '#172 520', + style: GoogleFonts.roboto( + fontSize: 18, + color: Color(0xffF40375), + fontWeight: FontWeight.bold, + decoration: TextDecoration.none)), + ], + ), + )), + ListUserInGame(), + Spacer(), + Image( + image: AssetImage("assets/images/start_sentence.png"), + ), + Padding( + padding: EdgeInsets.fromLTRB(15, 20, 15, 15), + child: ElevatedButton( + onPressed: () {}, + child: Text( + "+ Add a player", + style: GoogleFonts.roboto( + fontWeight: FontWeight.bold, + fontSize: 18, + color: Colors.white), + ), + style: ElevatedButton.styleFrom( + elevation: 5, + shadowColor: Color(0xffB70056), + primary: Color(0xffF40375), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + minimumSize: Size(double.infinity, 50), + ), + )), + ], + ), + ); + } +} + +class ListUserInGame extends StatefulWidget { + const ListUserInGame({Key? key}) : super(key: key); + + @override + State createState() => _ListUserInGameState(); +} + +class _ListUserInGameState extends State { + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(20, 25, 20, 0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + ConstrainedBox( + constraints: new BoxConstraints( + maxHeight: 170, + ), + child: ListView(children: [ + UserInGame(), + UserInGame(), + UserInGame(), + UserInGame(), + UserInGame(), + ])), + Text( + "3 player(s)", + style: GoogleFonts.roboto( + fontWeight: FontWeight.w500, + fontSize: 15, + color: CupertinoColors.black, + decoration: TextDecoration.none), + ) + ], + )); + } +} + +class UserInGame extends StatefulWidget { + const UserInGame({Key? key}) : super(key: key); + + @override + State createState() => _UserInGameState(); +} + +class _UserInGameState extends State { + @override + Widget build(BuildContext context) { + return Container( + padding: EdgeInsets.fromLTRB(10, 0, 10, 0), + margin: EdgeInsets.fromLTRB(0, 0, 0, 5), + height: 45, + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.all( + Radius.circular(10), + ), + color: Color(0xffF2F2F2), + ), + child: Row( + children: [ + Container( + width: 30, + height: 30, + decoration: BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(70)), + image: DecorationImage( + image: AssetImage("assets/images/image_user_cyan.png"), + fit: BoxFit.cover), + ), + ), + SizedBox( + width: 10, + ), + Text( + "Emre", + style: GoogleFonts.roboto( + fontSize: 18, + decoration: TextDecoration.none, + color: Color(0xff241E40)), + ), + Spacer(), + ], + ), + ); + } +} + +class InGameCardThrow extends StatefulWidget { + const InGameCardThrow({Key? key}) : super(key: key); + + @override + State createState() => _InGameCardThrowState(); +} + +class _InGameCardThrowState extends State { + @override + Widget build(BuildContext context) { + return Container( + margin: EdgeInsets.fromLTRB(35, 0, 30, 35), + width: MediaQuery.of(context).size.width, + height: 470, + decoration: BoxDecoration( + image: DecorationImage( + image: AssetImage("assets/images/ingame_cardgame.png"), + fit: BoxFit.fill), + boxShadow: [ + BoxShadow( + color: CupertinoColors.black.withOpacity(0.15), + blurRadius: 10.0, + spreadRadius: 5.0, + ), + ]), + child: Column( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Padding( + padding: EdgeInsets.fromLTRB(0, 5, 15, 0), + child: RichText( + text: TextSpan( + style: DefaultTextStyle.of(context).style, + children: [ + TextSpan( + text: 'Party code : ', + style: GoogleFonts.roboto( + fontSize: 15, + color: CupertinoColors.black, + fontWeight: FontWeight.w400, + decoration: TextDecoration.none)), + TextSpan( + text: '#172 520', + style: GoogleFonts.roboto( + fontSize: 18, + color: Color(0xffF40375), + fontWeight: FontWeight.bold, + decoration: TextDecoration.none)), + ], + ), + )), + ], + ), + ); + } +} diff --git a/lib/widgets/scores_list_widget.dart b/lib/widgets/scores_list_widget.dart index 2562745..b763489 100644 --- a/lib/widgets/scores_list_widget.dart +++ b/lib/widgets/scores_list_widget.dart @@ -1,5 +1,6 @@ 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:simple_gradient_text/simple_gradient_text.dart'; @@ -9,126 +10,129 @@ class CardGame extends StatelessWidget { Widget build(BuildContext context) { return Padding( padding: EdgeInsets.fromLTRB(41, 0, 41, 10), - child: Stack( - alignment: AlignmentDirectional.centerEnd, - children: [ - Container( - height: 100, - width: 300, - decoration: BoxDecoration( - borderRadius: BorderRadius.only( - topLeft: Radius.circular(8), - topRight: Radius.circular(8), - bottomRight: Radius.circular(15), - bottomLeft: Radius.circular(15)), - image: DecorationImage( - image: AssetImage("assets/images/card_game.png"), + child: GestureDetector( + child: Stack( + alignment: AlignmentDirectional.centerEnd, + children: [ + Container( + height: 100, + width: 300, + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(8), + topRight: Radius.circular(8), + bottomRight: Radius.circular(15), + bottomLeft: Radius.circular(15)), + image: DecorationImage( + image: AssetImage("assets/images/card_game.png"), + ), ), - ), - child: Padding( - padding: EdgeInsets.fromLTRB(130, 3, 0, 0), - child: ClipRect( - clipBehavior: Clip.hardEdge, - child: Opacity( - opacity: 0.1, - child: Stack( - children: [ - GradientText( - "125", - style: GoogleFonts.karla( - fontSize: 105.0, - fontWeight: FontWeight.w900, - fontStyle: FontStyle.italic, - foreground: Paint() - ..style = PaintingStyle.stroke - ..strokeWidth = 1 - ..color = Color(0xff6100FF), + child: Padding( + padding: EdgeInsets.fromLTRB(130, 3, 0, 0), + child: ClipRect( + clipBehavior: Clip.hardEdge, + child: Opacity( + opacity: 0.1, + child: Stack( + children: [ + GradientText( + "125", + style: GoogleFonts.karla( + fontSize: 105.0, + fontWeight: FontWeight.w900, + fontStyle: FontStyle.italic, + foreground: Paint() + ..style = PaintingStyle.stroke + ..strokeWidth = 1 + ..color = Color(0xff6100FF), + ), + gradientType: GradientType.linear, + gradientDirection: GradientDirection.rtl, + radius: 2.5, + colors: [ + Color(0xff5500E0), + Color(0xff2C2C2C).withOpacity(0), + ], ), - gradientType: GradientType.linear, - gradientDirection: GradientDirection.rtl, - radius: 2.5, - colors: [ - Color(0xff5500E0), - Color(0xff2C2C2C).withOpacity(0), - ], - ), - GradientText( + GradientText( + "125", + style: GoogleFonts.karla( + fontSize: 105.0, + fontWeight: FontWeight.w900, + fontStyle: FontStyle.italic, + ), + gradientType: GradientType.linear, + gradientDirection: GradientDirection.rtl, + radius: 2.5, + colors: [ + Color(0xff5500E0), + Color(0xff2C2C2C).withOpacity(0), + ], + ), + ], + ))), + )), + Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Toast(), + Toast(), + ], + ), + Stack( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Padding( + padding: EdgeInsets.fromLTRB(25, 15, 0, 0), + child: SizedBox( + width: 130, + child: Wrap( + spacing: 5, + runSpacing: 5, + children: [ + ProfilPicture(), + ProfilPicture(), + ProfilPicture(), + ProfilPicture(), + ProfilPicture(), + ProfilPicture(), + ], + ), + )), + Spacer(), + Padding( + padding: EdgeInsets.fromLTRB(0, 30, 15, 0), + child: GradientText( "125", - style: GoogleFonts.karla( - fontSize: 105.0, + style: TextStyle( + fontSize: 40.0, fontWeight: FontWeight.w900, fontStyle: FontStyle.italic, ), gradientType: GradientType.linear, - gradientDirection: GradientDirection.rtl, + gradientDirection: GradientDirection.ttb, radius: 2.5, colors: [ - Color(0xff5500E0), - Color(0xff2C2C2C).withOpacity(0), - ], - ), - ], - ))), - )), - Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - Toast(), - Toast(), - ], - ), - Stack( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.end, - children: [ - Padding( - padding: EdgeInsets.fromLTRB(25, 15, 0, 0), - child: SizedBox( - width: 130, - child: Wrap( - spacing: 5, - runSpacing: 5, - children: [ - ProfilPicture(), - ProfilPicture(), - ProfilPicture(), - ProfilPicture(), - ProfilPicture(), - ProfilPicture(), + Color(0xff181818), + Color(0xff626262), ], - ), - )), - Spacer(), - Padding( - padding: EdgeInsets.fromLTRB(0, 30, 15, 0), - child: GradientText( - "125", - style: TextStyle( - fontSize: 40.0, - fontWeight: FontWeight.w900, - fontStyle: FontStyle.italic, - ), - gradientType: GradientType.linear, - gradientDirection: GradientDirection.ttb, - radius: 2.5, - colors: [ - Color(0xff181818), - Color(0xff626262), - ], - )), - ], - ), - ], - ), - ], - ), - ], + )), + ], + ), + ], + ), + ], + ), + ], + ), + onTap: () => context.go('/in-game'), )); } } diff --git a/pubspec.yaml b/pubspec.yaml index 35ff822..365f457 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -73,6 +73,7 @@ flutter: assets: - assets/images/ - assets/fonts/ + - assets/images/achievements/ # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/assets-and-images/#resolution-aware