diff --git a/assets/images/quiz.jpg b/assets/images/quiz.jpg new file mode 100644 index 0000000..1cad405 Binary files /dev/null and b/assets/images/quiz.jpg differ diff --git a/lib/main.dart b/lib/main.dart index e252017..0061904 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -7,7 +7,7 @@ import 'package:learn/pages/modules/atoz.dart'; import 'package:learn/pages/modules/birds.dart'; import 'package:learn/pages/modules/animals.dart'; import 'package:learn/pages/fruits.dart'; -import 'package:learn/pages/explore/explore.dart'; +import 'package:learn/pages/explore.dart'; import 'package:learn/pages/favorite.dart'; import 'package:learn/pages/modules/occupation.dart'; import 'package:learn/pages/modules/parts.dart'; @@ -72,8 +72,8 @@ class MyApp extends StatelessWidget { AllRoutes.flowerRoute: (context) => const FlowerPage(), AllRoutes.exploreRoute: (context) => const ExplorePage(), AllRoutes.favoriteRoute: (context) => const FavoritePage(), - AllRoutes.quizRoute: (context) => QuizPage(), - AllRoutes.seasonRoute: (context) => SeasonsPage(), + AllRoutes.quizRoute: (context) => const QuizPage(), + AllRoutes.seasonRoute: (context) => const SeasonsPage(), AllRoutes.occupationRoute: (context) => OccupationPage(), AllRoutes.fruitRoute: (context) => FruitsPage(), }, diff --git a/lib/pages/about.dart b/lib/pages/about.dart index 567cc83..19e85ab 100644 --- a/lib/pages/about.dart +++ b/lib/pages/about.dart @@ -1,3 +1,5 @@ +// ignore_for_file: deprecated_member_use + import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:learn/utils/constants.dart'; diff --git a/lib/pages/explore.dart b/lib/pages/explore.dart index beca601..6d398be 100644 --- a/lib/pages/explore.dart +++ b/lib/pages/explore.dart @@ -1,7 +1,5 @@ import 'dart:ui'; - import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; import 'package:learn/utils/constants.dart'; // Explore Page @@ -112,39 +110,39 @@ class ExplorePage extends StatelessWidget { childCount: AppConstants.modules.length, ), ), - GestureDetector( - onTap: () { - Navigator.pushNamed(context, '/quiz'); - }, - child: Container( - margin: const EdgeInsets.all(5.0), - padding: const EdgeInsets.all(8.0), - decoration: BoxDecoration( - border: Border.all(color: Colors.black, width: 1.0), - borderRadius: BorderRadius.circular(8.0), - color: Colors.blueAccent, - ), - child: Row( - children: [ - SizedBox( - width: 50, - height: 50, - child: SvgPicture.asset('assets/explore/notebook.svg'), - ), - const SizedBox(width: 28.0), - const Text( - 'Quiz', - style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 30.0, - fontFamily: 'Comic', - color: Colors.white, - ), - ), - ], - ), - ), - ), + // GestureDetector( + // onTap: () { + // Navigator.pushNamed(context, '/quiz'); + // }, + // child: Container( + // margin: const EdgeInsets.all(5.0), + // padding: const EdgeInsets.all(8.0), + // decoration: BoxDecoration( + // border: Border.all(color: Colors.black, width: 1.0), + // borderRadius: BorderRadius.circular(8.0), + // color: Colors.blueAccent, + // ), + // child: Row( + // children: [ + // SizedBox( + // width: 50, + // height: 50, + // child: SvgPicture.asset('assets/explore/notebook.svg'), + // ), + // const SizedBox(width: 28.0), + // const Text( + // 'Quiz', + // style: TextStyle( + // fontWeight: FontWeight.bold, + // fontSize: 30.0, + // fontFamily: 'Comic', + // color: Colors.white, + // ), + // ), + // ], + // ), + // ), + // ), ], )); } diff --git a/lib/pages/explore/quiz.dart b/lib/pages/explore/quiz.dart index be0516d..2af36f2 100644 --- a/lib/pages/explore/quiz.dart +++ b/lib/pages/explore/quiz.dart @@ -1,5 +1,6 @@ +// ignore_for_file: library_private_types_in_public_api + import 'package:flutter/material.dart'; -import 'dart:math'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:learn/utils/constants.dart'; diff --git a/lib/pages/favorite.dart b/lib/pages/favorite.dart index bebd58d..092b179 100644 --- a/lib/pages/favorite.dart +++ b/lib/pages/favorite.dart @@ -5,12 +5,12 @@ class FavoritePage extends StatelessWidget { // Favorite Page // All the favorited modules by the user will be placed here - // TODO: Implement the Favorite Page + // todo: Implement the Favorite Page @override Widget build(BuildContext context) { - return Center( + return const Center( child: Text("Favorited Items here"), ); } -} \ No newline at end of file +} diff --git a/lib/pages/home.dart b/lib/pages/home.dart index e9a8a88..07d01d9 100644 --- a/lib/pages/home.dart +++ b/lib/pages/home.dart @@ -15,11 +15,7 @@ class MyHomePage extends StatefulWidget { } class _MyHomePageState extends State { - bool _isImageClicked1 = false; - bool _isImageClicked2 = false; - bool _isImageClicked3 = false; - bool _isImageClicked4 = false; - bool _isImageClicked5 = false; + final List _isImageClicked = List.generate(7, (index) => false); bool _isDarkTheme = false; Future _onBackPressed() { @@ -73,276 +69,75 @@ class _MyHomePageState extends State { padding: const EdgeInsets.all(38.0), child: Column( children: [ - GestureDetector( - onTap: () { - setState(() { - _isImageClicked1 = !_isImageClicked1; - }); - Future.delayed(const Duration(milliseconds: 300), () { - Navigator.pushNamed(context, AllRoutes.atozRoute); - }); - }, - child: AnimatedContainer( - duration: const Duration(milliseconds: 300), - curve: Curves.easeInOut, - height: _isImageClicked1 ? 325 : 350, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(12), - border: Border.all(color: Colors.black, width: 2), - boxShadow: [ - BoxShadow( - color: Colors.black.withOpacity(0.2), - spreadRadius: 2, - blurRadius: 5, - offset: const Offset(0, 3), - ), - ], - image: DecorationImage( - image: AssetImage(AssetsPath.getAlphabetImage(Alphabets.alphabets)), - fit: BoxFit.cover, - ), - ), - ), + categoryCard( + context: context, + title: "ALPHABETS", + image: AssetsPath.getAlphabetImage(Alphabets.alphabets), + shortDescription: + "Learn A to Z with pronunciation and an example", + route: AllRoutes.atozRoute, + index: 0, ), - const SizedBox(height: 20), - const Text( - 'ALPHABETS', - style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold), - ), - const Text("Learn A to Z with pronunciation and an example"), const SizedBox( height: 20, ), - GestureDetector( - onTap: () { - setState(() { - _isImageClicked2 = !_isImageClicked2; - }); - Future.delayed(const Duration(milliseconds: 300), () { - Navigator.pushNamed(context, AllRoutes.animalRoute); - }); - }, - child: AnimatedContainer( - duration: const Duration(milliseconds: 300), - curve: Curves.easeInOut, - height: _isImageClicked2 ? 325 : 350, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(12), - border: Border.all(color: Colors.black, width: 2), - boxShadow: [ - BoxShadow( - color: Colors.black.withOpacity(0.2), - spreadRadius: 2, - blurRadius: 5, - offset: const Offset(0, 3), - ), - ], - image: DecorationImage( - image: AssetImage(AssetsPath.getAnimalImage(Animals.animals)), - fit: BoxFit.cover, - ), - ), - ), - ), - const SizedBox(height: 20), - const Text( - 'ANIMALS', - style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold), + categoryCard( + context: context, + title: "ANIMALS", + image: AssetsPath.getAnimalImage(Animals.animals), + shortDescription: "Learn about animals and their voices", + route: AllRoutes.animalRoute, + index: 1, ), - const Text("Learn about animals and their voices"), const SizedBox( height: 20, ), - GestureDetector( - onTap: () { - setState(() { - _isImageClicked3 = !_isImageClicked3; - }); - Future.delayed(const Duration(milliseconds: 300), () { - Navigator.pushNamed(context, AllRoutes.partsRoute); - }); - }, - child: AnimatedContainer( - duration: const Duration(milliseconds: 300), - curve: Curves.easeInOut, - height: _isImageClicked3 ? 325 : 350, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(12), - border: Border.all(color: Colors.black, width: 2), - boxShadow: [ - BoxShadow( - color: Colors.black.withOpacity(0.2), - spreadRadius: 2, - blurRadius: 5, - offset: const Offset(0, 3), - ), - ], - image: DecorationImage( - image: AssetImage(AssetsPath.getBodyImage(Body.body)), - fit: BoxFit.cover, - ), - ), - ), - ), - const SizedBox(height: 20), - const Text( - 'BODY PARTS', - style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold), - ), - const Text("Know about body parts and their pronunciation."), - const SizedBox(height: 20), - GestureDetector( - onTap: () { - setState(() { - _isImageClicked4 = !_isImageClicked4; - }); - Future.delayed(const Duration(milliseconds: 300), () { - Navigator.pushNamed(context, AllRoutes.birdsRoute); - }); - }, - child: AnimatedContainer( - duration: const Duration(milliseconds: 300), - curve: Curves.easeInOut, - height: _isImageClicked4 ? 325 : 350, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(12), - border: Border.all(color: Colors.black, width: 2), - boxShadow: [ - BoxShadow( - color: Colors.black.withOpacity(0.2), - spreadRadius: 2, - blurRadius: 5, - offset: const Offset(0, 3), - ), - ], - image: DecorationImage( - image: AssetImage(AssetsPath.getBirdImage(Birds.birds)), - fit: BoxFit.cover, - ), - ), - ), - ), - const SizedBox(height: 20), - const Text( - 'BIRDS', - style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold), - ), - const Text("Look out for Birds with their sounds."), - const SizedBox(height: 20), - GestureDetector( - onTap: () { - setState(() { - _isImageClicked4 = !_isImageClicked4; - }); - Future.delayed(const Duration(milliseconds: 300), () { - Navigator.pushNamed(context, AllRoutes.colourRoute); - }); - }, - child: AnimatedContainer( - duration: const Duration(milliseconds: 300), - curve: Curves.easeInOut, - height: _isImageClicked4 ? 325 : 350, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(12), - border: Border.all(color: Colors.black, width: 2), - boxShadow: [ - BoxShadow( - color: Colors.black.withOpacity(0.2), - spreadRadius: 2, - blurRadius: 5, - offset: const Offset(0, 3), - ), - ], - image: DecorationImage( - image: AssetImage( - AssetsPath.getColoursImage(ColorImages.colorsCover)), - fit: BoxFit.cover, - ), - ), - ), - ), - const SizedBox(height: 20), - const Text( - 'COLOURS', - style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold), + categoryCard( + context: context, + title: "BODY PARTS", + image: AssetsPath.getBodyImage(Body.body), + shortDescription: + "Know about body parts and their pronunciation.", + route: AllRoutes.partsRoute, + index: 2, ), - const Text("Explore and learn about the colours!"), const SizedBox(height: 20), - GestureDetector( - onTap: () { - setState(() { - _isImageClicked5 = !_isImageClicked5; - }); - Future.delayed(const Duration(milliseconds: 300), () { - Navigator.pushNamed(context, AllRoutes.flowerRoute); - }); - }, - child: AnimatedContainer( - duration: const Duration(milliseconds: 300), - curve: Curves.easeInOut, - height: _isImageClicked5 ? 325 : 350, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(12), - border: Border.all(color: Colors.black, width: 2), - boxShadow: [ - BoxShadow( - color: Colors.black.withOpacity(0.2), - spreadRadius: 2, - blurRadius: 5, - offset: const Offset(0, 3), - ), - ], - image: DecorationImage( - image: AssetImage(AssetsPath.getFlowerImage(Flowers.flowerBanner)), - fit: BoxFit.cover, - ), - ), - ), + categoryCard( + context: context, + title: "BIRDS", + image: AssetsPath.getBirdImage(Birds.birds), + shortDescription: "Look out for Birds with their sounds.", + route: AllRoutes.birdsRoute, + index: 3, ), const SizedBox(height: 20), - const Text( - 'FLOWERS', - style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold), + categoryCard( + context: context, + title: "COLOURS", + image: AssetsPath.getColoursImage(ColorImages.colorsCover), + shortDescription: "Explore and learn about the colours!", + route: AllRoutes.colourRoute, + index: 4, ), - const Text("Explore beauty of nature flowers."), const SizedBox(height: 20), - GestureDetector( - onTap: () { - setState(() { - _isImageClicked4 = !_isImageClicked4; - }); - Future.delayed(const Duration(milliseconds: 300), () { - Navigator.pushNamed(context, AllRoutes.fruitRoute); - }); - }, - child: AnimatedContainer( - duration: const Duration(milliseconds: 300), - curve: Curves.easeInOut, - height: _isImageClicked4 ? 325 : 350, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(12), - border: Border.all(color: Colors.black, width: 2), - boxShadow: [ - BoxShadow( - color: Colors.black.withOpacity(0.2), - spreadRadius: 2, - blurRadius: 5, - offset: const Offset(0, 3), - ), - ], - image: const DecorationImage( - image: AssetImage('assets/fruitsVeges/cover.jpg'), - fit: BoxFit.cover, - ), - ), - ), + categoryCard( + context: context, + title: "FLOWERS", + image: AssetsPath.getFlowerImage(Flowers.flowerBanner), + shortDescription: "Explore beauty of nature flowers.", + route: AllRoutes.flowerRoute, + index: 5, ), const SizedBox(height: 20), - const Text( - 'Fruits & Vegetables', - style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold), + categoryCard( + context: context, + title: "FRUITS & VEGETABLES", + image: 'assets/fruitsVeges/cover.jpg', + shortDescription: + "Explore and learn about Fruits and Vegetables!", + route: AllRoutes.fruitRoute, + index: 6, ), - const Text("Explore and learn about Fruits and Vegetables!"), ], ), ), @@ -351,4 +146,55 @@ class _MyHomePageState extends State { ), ); } + + Column categoryCard({ + required BuildContext context, + required String title, + required String image, + required String shortDescription, + required String route, + required int index, + }) { + return Column( + children: [ + GestureDetector( + onTap: () { + setState(() { + _isImageClicked[index] = !_isImageClicked[index]; + }); + Future.delayed(const Duration(milliseconds: 300), () { + Navigator.pushNamed(context, route); + }); + }, + child: AnimatedContainer( + duration: const Duration(milliseconds: 300), + curve: Curves.easeInOut, + height: _isImageClicked[index] ? 325 : 350, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(12), + border: Border.all(color: Colors.black, width: 2), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.2), + spreadRadius: 2, + blurRadius: 5, + offset: const Offset(0, 3), + ), + ], + image: DecorationImage( + image: AssetImage(image), + fit: BoxFit.cover, + ), + ), + ), + ), + const SizedBox(height: 20), + Text( + title, + style: const TextStyle(fontSize: 24, fontWeight: FontWeight.bold), + ), + Text(shortDescription), + ], + ); + } } diff --git a/lib/pages/modules/colours.dart b/lib/pages/modules/colours.dart index 7558e6c..d7078ae 100644 --- a/lib/pages/modules/colours.dart +++ b/lib/pages/modules/colours.dart @@ -1,3 +1,5 @@ +// ignore_for_file: library_private_types_in_public_api + import 'package:flutter/material.dart'; import 'package:flutter_tts/flutter_tts.dart'; import 'package:flutter_svg/flutter_svg.dart'; @@ -131,7 +133,7 @@ class _ColoursPageState extends State { children: [ GestureDetector( onTap: _navigateToNextColour, - child: Container( + child: SizedBox( width: double.infinity, height: 300, child: SvgPicture.asset( @@ -188,5 +190,4 @@ class _ColoursPageState extends State { ), ); } - } diff --git a/lib/pages/modules/flowers.dart b/lib/pages/modules/flowers.dart index 61f4a92..35721f3 100644 --- a/lib/pages/modules/flowers.dart +++ b/lib/pages/modules/flowers.dart @@ -116,7 +116,7 @@ class _FlowerPageState extends State { children: [ GestureDetector( onTap: _navigateToNextFlower, - child: Container( + child: SizedBox( width: double.infinity, height: 300, child: SvgPicture.asset( diff --git a/lib/pages/modules/parts.dart b/lib/pages/modules/parts.dart index 34a6708..aa28642 100644 --- a/lib/pages/modules/parts.dart +++ b/lib/pages/modules/parts.dart @@ -1,6 +1,4 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:flutter_card_swiper/flutter_card_swiper.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_tts/flutter_tts.dart'; @@ -71,56 +69,57 @@ class _PartsPagePageState extends State { child: Column( children: [ Expanded( - child: ResponsiveScreenProvider.isMobileScreen(context)?CardSwiper( - controller: controller, - cardsCount: cards.length, - onSwipe: (prevIndex, currentIndex, direction) { - setState(() { - previousIndices.add(topCardIndex); - topCardIndex = currentIndex ?? 0; - }); - return true; - }, - onUndo: _onUndo, - numberOfCardsDisplayed: 3, - backCardOffset: const Offset(40, 40), - padding: const EdgeInsets.all(24.0), - cardBuilder: ( - context, - index, - horizontalThresholdPercentage, - verticalThresholdPercentage, - ) => - cards[index], - ) : - Center( - child: SizedBox( - height: MediaQuery.of(context).size.height * 0.4, - width: MediaQuery.of(context).size.height * 0.6, - child: CardSwiper( - controller: controller, - cardsCount: cards.length, - onSwipe: (prevIndex, currentIndex, direction) { - setState(() { - previousIndices.add(topCardIndex); - topCardIndex = currentIndex ?? 0; - }); - return true; - }, - onUndo: _onUndo, - numberOfCardsDisplayed: 3, - backCardOffset: const Offset(40, 40), - padding: const EdgeInsets.all(24.0), - cardBuilder: ( - context, - index, - horizontalThresholdPercentage, - verticalThresholdPercentage, - ) => - cards[index], - ), - ), - ), + child: ResponsiveScreenProvider.isMobileScreen(context) + ? CardSwiper( + controller: controller, + cardsCount: cards.length, + onSwipe: (prevIndex, currentIndex, direction) { + setState(() { + previousIndices.add(topCardIndex); + topCardIndex = currentIndex ?? 0; + }); + return true; + }, + onUndo: _onUndo, + numberOfCardsDisplayed: 3, + backCardOffset: const Offset(40, 40), + padding: const EdgeInsets.all(24.0), + cardBuilder: ( + context, + index, + horizontalThresholdPercentage, + verticalThresholdPercentage, + ) => + cards[index], + ) + : Center( + child: SizedBox( + height: MediaQuery.of(context).size.height * 0.4, + width: MediaQuery.of(context).size.height * 0.6, + child: CardSwiper( + controller: controller, + cardsCount: cards.length, + onSwipe: (prevIndex, currentIndex, direction) { + setState(() { + previousIndices.add(topCardIndex); + topCardIndex = currentIndex ?? 0; + }); + return true; + }, + onUndo: _onUndo, + numberOfCardsDisplayed: 3, + backCardOffset: const Offset(40, 40), + padding: const EdgeInsets.all(24.0), + cardBuilder: ( + context, + index, + horizontalThresholdPercentage, + verticalThresholdPercentage, + ) => + cards[index], + ), + ), + ), ), Expanded( child: Padding( diff --git a/lib/pages/modules/planets.dart b/lib/pages/modules/planets.dart index 0ec51a7..074179c 100644 --- a/lib/pages/modules/planets.dart +++ b/lib/pages/modules/planets.dart @@ -1,3 +1,5 @@ +// ignore_for_file: library_private_types_in_public_api + import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_tts/flutter_tts.dart'; diff --git a/lib/pages/modules/seasons.dart b/lib/pages/modules/seasons.dart index 3164c01..94ca8c3 100644 --- a/lib/pages/modules/seasons.dart +++ b/lib/pages/modules/seasons.dart @@ -1,10 +1,12 @@ +// ignore_for_file: library_private_types_in_public_api + import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:learn/models/season_model.dart'; import 'package:learn/utils/constants.dart'; class SeasonsPage extends StatelessWidget { - SeasonsPage({Key? key}) : super(key: key); + const SeasonsPage({Key? key}) : super(key: key); @override Widget build(BuildContext context) { @@ -73,7 +75,8 @@ class SeasonPopup extends StatefulWidget { final int currentIndex; final List seasons; - SeasonPopup({ + const SeasonPopup({ + super.key, required this.currentIndex, required this.seasons, }); diff --git a/lib/utils/constants.dart b/lib/utils/constants.dart index c4c3062..253e5bf 100644 --- a/lib/utils/constants.dart +++ b/lib/utils/constants.dart @@ -1,25 +1,13 @@ -import 'dart:ui'; +// ignore_for_file: non_constant_identifier_names, constant_identifier_names import 'package:learn/models/animal_model.dart'; import 'package:learn/models/bird_model.dart'; import 'package:learn/models/itemdata_model.dart'; import 'package:learn/models/occupation_model.dart'; import 'package:learn/models/season_model.dart'; - -import 'package:flutter/material.dart'; -import 'package:learn/pages/fruits.dart'; - import 'package:flutter/material.dart'; import 'package:learn/pages/fruits.dart'; - -import 'package:flutter/material.dart'; -import 'package:learn/pages/fruits.dart'; - -import 'package:flutter/material.dart'; -import 'package:learn/pages/fruits.dart'; - import '../pages/explore/quiz.dart'; -import 'package:flutter/material.dart'; import 'package:learn/pages/modules/colours.dart'; import 'package:learn/pages/modules/parts.dart'; import 'package:learn/pages/modules/planets.dart'; @@ -31,42 +19,47 @@ import 'package:learn/utils/assets_path.dart'; import '../pages/modules/animals.dart'; import '../pages/modules/atoz.dart'; import '../pages/modules/birds.dart'; -import '../pages/modules/seasons.dart'; -import '../pages/modules/occupation.dart'; class AppConstants { static List modules = [ + Module( + name: 'Quiz', + description: 'Fun Quizzes for Curious Kids!', + thumbnailPath: "./assets/images/quiz.jpg", + route: MaterialPageRoute(builder: (context) => const QuizPage()), + backgroundColor: const Color.fromARGB(193, 76, 175, 79), + ), Module( name: 'A-Z', description: 'Learn A to Z with production and an example', - thumbnailPath: 'assets/images/alphabets.jpg', + thumbnailPath: AssetsPath.getAlphabetImage(Alphabets.alphabets), route: MaterialPageRoute(builder: (context) => const AtoZ()), backgroundColor: const Color.fromARGB(193, 76, 175, 79), ), Module( name: 'Animals', description: 'Learn about animals and their sounds', - thumbnailPath: 'assets/images/animals.jpg', + thumbnailPath: AssetsPath.getAnimalImage(Animals.animals), route: MaterialPageRoute(builder: (context) => AnimalsPage()), backgroundColor: const Color.fromARGB(194, 157, 82, 222), ), Module( name: 'Birds', description: 'Look out for Birds with their sounds', - thumbnailPath: 'assets/images/birds.jpg', + thumbnailPath: AssetsPath.getBirdImage(Birds.birds), route: MaterialPageRoute(builder: (context) => BirdsPage()), backgroundColor: const Color.fromARGB(193, 76, 207, 222), ), Module( name: "Colors", description: "Explore and Learn about the colors", - thumbnailPath: "assets/colours/colours-cover.png", + thumbnailPath: AssetsPath.getColoursImage(ColorImages.colorsCover), route: MaterialPageRoute(builder: (context) => const ColoursPage()), backgroundColor: const Color.fromARGB(193, 21, 234, 28)), Module( name: 'Body Parts', description: 'Know about body parts and their pronunciation.', - thumbnailPath: 'assets/body/body.jpg', + thumbnailPath: AssetsPath.getBodyImage(Body.body), route: MaterialPageRoute(builder: (context) => const PartsPage()), backgroundColor: const Color.fromARGB(157, 251, 0, 0), ), @@ -80,7 +73,7 @@ class AppConstants { Module( name: 'Solar System', description: 'Learn about the solar system', - thumbnailPath: 'assets/images/solar.gif', + thumbnailPath: "assets/images/solar/solar.gif", route: MaterialPageRoute(builder: (context) => PlanetsPage()), backgroundColor: const Color.fromARGB(193, 226, 221, 70), ), @@ -318,7 +311,7 @@ class AppConstants { Animal( name: 'Goat', svgAsset: AssetsPath.getAnimalImage(Animals.goat), - soundAsset:AssetsPath.getAnimalSound(Animals.goatSound), + soundAsset: AssetsPath.getAnimalSound(Animals.goatSound), backgroundColor: const Color.fromARGB(138, 48, 59, 48), ), Animal( @@ -366,7 +359,7 @@ class AppConstants { Animal( name: 'Zebra', svgAsset: AssetsPath.getAnimalImage(Animals.zebra), - soundAsset:AssetsPath.getAnimalSound(Animals.zebraSound), + soundAsset: AssetsPath.getAnimalSound(Animals.zebraSound), backgroundColor: const Color.fromARGB(193, 187, 74, 178), ), Animal( @@ -384,7 +377,7 @@ class AppConstants { Animal( name: 'Horse', svgAsset: AssetsPath.getAnimalImage(Animals.horse), - soundAsset:AssetsPath.getAnimalSound(Animals.horseSound), + soundAsset: AssetsPath.getAnimalSound(Animals.horseSound), backgroundColor: const Color.fromARGB(98, 243, 201, 33), ), Animal( @@ -513,7 +506,7 @@ class AppConstants { Bird( name: 'Koel', svgAsset: AssetsPath.getBirdImage(Birds.koel), - soundAsset:AssetsPath.getBirdSound(Birds.koelSound), + soundAsset: AssetsPath.getBirdSound(Birds.koelSound), backgroundColor: const Color.fromARGB(232, 141, 255, 93), ), Bird(