Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue #142 UI Fixed #156

Merged
merged 8 commits into from
Jun 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions lib/pages/modules/animals.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ import 'package:learn/utils/constants.dart';
import '../../utils/const_dimensions.dart';

class AnimalsPage extends StatelessWidget {


final FlutterTts flutterTts = FlutterTts();
final AudioPlayer audioPlayer = AudioPlayer();

Expand All @@ -31,7 +29,7 @@ class AnimalsPage extends StatelessWidget {
itemBuilder: (context, index) {
return GestureDetector(
onTap: () {
_showAnimalPopup(context, AppConstants.animals[index],index);
_showAnimalPopup(context, AppConstants.animals[index], index);
},
child: Container(
margin: const EdgeInsets.all(5.0),
Expand All @@ -46,7 +44,8 @@ class AnimalsPage extends StatelessWidget {
SizedBox(
width: ConstantDimensions.widthExtraLarge,
height: ConstantDimensions.heightExtraLarge,
child: SvgPicture.asset(AppConstants.animals[index].svgAsset),
child:
SvgPicture.asset(AppConstants.animals[index].svgAsset),
),
const SizedBox(width: ConstantDimensions.widthMedium_Large),
Text(
Expand All @@ -66,7 +65,8 @@ class AnimalsPage extends StatelessWidget {
);
}

Future<void> _showAnimalPopup(BuildContext context, Animal animal, int currentIndex) async {
Future<void> _showAnimalPopup(
BuildContext context, Animal animal, int currentIndex) async {
await flutterTts.setVolume(1.0);
await flutterTts.setSpeechRate(.5);
await flutterTts.setLanguage("EN-IN");
Expand Down Expand Up @@ -140,13 +140,11 @@ class _AnimalPopupState extends State<AnimalPopup> {
isTapped = !isTapped;
});
},
child: SizedBox(
width: ConstantDimensions.widthExtraLarge * 4,
height: ConstantDimensions.heightExtraLarge * 4,
child: SvgPicture.asset(
widget.animal.svgAsset,
color: isTapped ? const Color.fromARGB(81, 118, 96, 94) : null,
),
child: SvgPicture.asset(
widget.animal.svgAsset,
color: isTapped ? const Color.fromARGB(81, 118, 96, 94) : null,
width: MediaQuery.of(context).size.width * 0.3,
height: MediaQuery.of(context).size.height * 0.3,
),
),
const SizedBox(height: ConstantDimensions.heightSmall_Medium),
Expand All @@ -157,12 +155,14 @@ class _AnimalPopupState extends State<AnimalPopup> {
child: const Text('Play Sound'),
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
IconButton(
onPressed: () {
_navigateToPreviousAnimal();
},
icon: const Icon(Icons.arrow_back),
iconSize: 30,
),
SizedBox(
width: ConstantDimensions.exceptions[0],
Expand All @@ -172,6 +172,7 @@ class _AnimalPopupState extends State<AnimalPopup> {
_navigateToNextAnimal();
},
icon: const Icon(Icons.arrow_forward),
iconSize: 30,
),
],
)
Expand All @@ -195,7 +196,7 @@ class _AnimalPopupState extends State<AnimalPopup> {
);
}

void _navigateToPreviousAnimal() {
void _navigateToPreviousAnimal() {
setState(() {
widget.currentIndex = (widget.currentIndex - 1) % widget.animals.length;
if (widget.currentIndex < 0) {
Expand All @@ -212,7 +213,6 @@ void _navigateToPreviousAnimal() {
});
}


Future<void> _playAnimalSound(String soundAsset) async {
await widget.audioPlayer.setAsset(soundAsset);
await widget.audioPlayer.play();
Expand Down
184 changes: 91 additions & 93 deletions lib/pages/modules/atoz.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'dart:async';
Expand Down Expand Up @@ -38,7 +37,7 @@ class ItemTile extends StatelessWidget {
);
},
child: Padding(
padding: const EdgeInsets.all(6),
padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 5),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.stretch,
Expand All @@ -51,27 +50,25 @@ class ItemTile extends StatelessWidget {
),
textAlign: TextAlign.center,
),
const SizedBox(height: 3),
LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints){
if (MediaQuery.of(context).orientation ==
Orientation.portrait) {
return SvgPicture.asset(
item.iconAsset,
width: MediaQuery.of(context).size.width * 0.3,
height: MediaQuery.of(context).size.width * 0.3,
alignment: Alignment.center,
);
} else {
return SvgPicture.asset(
item.iconAsset,
width: MediaQuery.of(context).size.width * 0.3,
height: MediaQuery.of(context).size.width * 0.2,
alignment: Alignment.center,
);
}
builder: (BuildContext context, BoxConstraints constraints) {
if (MediaQuery.of(context).orientation ==
Orientation.portrait) {
return SvgPicture.asset(
item.iconAsset,
width: MediaQuery.of(context).size.width * 0.2,
height: MediaQuery.of(context).size.height * 0.1,
alignment: Alignment.center,
);
} else {
return SvgPicture.asset(
item.iconAsset,
width: MediaQuery.of(context).size.width * 0.2,
height: MediaQuery.of(context).size.height * 0.2,
alignment: Alignment.center,
);
}
),
}),
const SizedBox(height: ConstantDimensions.heightExtraSmall / 2),
Text(item.description, textAlign: TextAlign.center),
],
Expand Down Expand Up @@ -157,86 +154,87 @@ class _PopupDialogState extends State<_PopupDialog> {
@override
Widget build(BuildContext context) {
final currentItem = widget.items[currentIndex];
return SingleChildScrollView(
child: AlertDialog(
contentPadding: EdgeInsets.zero,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15)),
content: Container(
padding: EdgeInsets.zero,
width: MediaQuery.of(context).size.width * 0.7,
decoration: BoxDecoration(
color: currentItem.backgroundColor,
borderRadius: BorderRadius.circular(15)),
child: Padding(
padding: const EdgeInsets.all(20),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisSize: MainAxisSize.min,
children: [
Text(
currentItem.title,
style: const TextStyle(
fontWeight: FontWeight.bold,
fontSize: 40,
return AlertDialog(
contentPadding: EdgeInsets.zero,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15)),
content: Container(
padding: EdgeInsets.zero,
width: MediaQuery.of(context).size.width * 0.75,
height: MediaQuery.of(context).size.height * 0.75,
decoration: BoxDecoration(
color: currentItem.backgroundColor,
borderRadius: BorderRadius.circular(15)),
child: Padding(
padding: const EdgeInsets.all(18),
child: Center(
child: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisSize: MainAxisSize.min,
children: [
Text(
currentItem.title,
style: const TextStyle(
fontWeight: FontWeight.bold,
fontSize: 40,
),
textAlign: TextAlign.center,
),
textAlign: TextAlign.center,
),
const SizedBox(height: ConstantDimensions.heightMedium),
GestureDetector(
onTap: () {
_speakText(currentItem.description);
},
child: SvgPicture.asset(
currentItem.iconAsset,
width: MediaQuery.of(context).size.width * 0.5,
height: MediaQuery.of(context).size.width * 0.5,
alignment: Alignment.center,
const SizedBox(height: ConstantDimensions.heightMedium),
GestureDetector(
onTap: () {
_speakText(currentItem.description);
},
child: SvgPicture.asset(
currentItem.iconAsset,
width: MediaQuery.of(context).size.width * 0.5,
height: MediaQuery.of(context).size.height * 0.3,
alignment: Alignment.center,
),
),
),
const SizedBox(height: ConstantDimensions.heightMedium),
Text(
currentItem.description,
textAlign: TextAlign.center,
style: const TextStyle(
fontSize: 28,

),
),
const SizedBox(height: ConstantDimensions.heightMedium),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
ElevatedButton(
onPressed: _previousItem,
child: const Text('Prev'),
const SizedBox(height: ConstantDimensions.heightMedium),
Text(
currentItem.description,
textAlign: TextAlign.center,
style: const TextStyle(
fontSize: 28,
),
),
ElevatedButton(
onPressed: _nextItem,
child: const Text('Next'),
const SizedBox(height: ConstantDimensions.heightMedium),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
ElevatedButton(
onPressed: _previousItem,
child: const Text('Prev'),
),
ElevatedButton(
onPressed: _nextItem,
child: const Text('Next'),
),
],
),
],
),
const SizedBox(height: ConstantDimensions.heightMedium),
ElevatedButton(
style: ButtonStyle(
backgroundColor: WidgetStateProperty.all(
const Color.fromARGB(216, 233, 101, 92),
const SizedBox(height: ConstantDimensions.heightMedium),
ElevatedButton(
style: ButtonStyle(
backgroundColor: WidgetStateProperty.all(
const Color.fromARGB(216, 233, 101, 92),
),
),
onPressed: () {
Navigator.pop(context);
},
child: const Text(
'Close',
style: TextStyle(color: Colors.white),
),
),
),
onPressed: () {
Navigator.pop(context);
},
child: const Text(
'Close',
style: TextStyle(color: Colors.white),
),
],
),
const SizedBox(height: ConstantDimensions.heightExtraLarge),
],
),
),
),
),
)
);
}
}
Expand Down Expand Up @@ -293,7 +291,7 @@ class _AtoZState extends State<AtoZ> {
child: GridView.count(
crossAxisCount: MediaQuery.of(context).size.width ~/
200, // Adjust the value based on screen width
childAspectRatio: 1.0, // Aspect ratio of items
childAspectRatio: 0.8, // Aspect ratio of items
children: List.generate(
items.length,
(index) => ItemTile(
Expand Down
8 changes: 3 additions & 5 deletions pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: learn
description: "Learning app for kids"
# The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
publish_to: "none" # Remove this line if you wish to publish to pub.dev

# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
Expand All @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 1.1.0+15

environment:
sdk: '>=3.2.0 <4.0.0'
sdk: ">=3.2.0 <4.0.0"

# Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions
Expand All @@ -31,7 +31,6 @@ dependencies:
flutter:
sdk: flutter


# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
google_fonts: ^6.1.0
Expand All @@ -42,7 +41,7 @@ dependencies:
card_swiper: ^3.0.1
flutter_card_swiper: ^7.0.0
adaptive_theme: ^3.6.0
fluttertoast: 8.0.9
fluttertoast: ^8.2.5
google_nav_bar: ^5.0.6
flutter_bloc: ^8.1.5
animated_text_kit: ^4.2.2
Expand All @@ -64,7 +63,6 @@ dev_dependencies:

# The following section is specific to Flutter packages.
flutter:

# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
Expand Down