Commit 8ece126f authored by Sandunika Senavirathna's avatar Sandunika Senavirathna

Merge branch 'IT20639280' into 'master'

It20639280

See merge request !5
parents 338dce19 985775c7
No preview for this file type
......@@ -493,6 +493,12 @@
"packageUri": "lib/",
"languageVersion": "2.19"
},
{
"name": "simple_gesture_detector",
"rootUri": "file:///Users/avishkanew/.pub-cache/hosted/pub.dev/simple_gesture_detector-0.2.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "sky_engine",
"rootUri": "file:///Users/avishka/Desktop/FLUTTER/flutter/bin/cache/pkg/sky_engine",
......@@ -547,6 +553,12 @@
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "table_calendar",
"rootUri": "file:///Users/avishkanew/.pub-cache/hosted/pub.dev/table_calendar-3.0.8",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "term_glyph",
"rootUri": "file:///Users/avishkanew/.pub-cache/hosted/pub.dev/term_glyph-1.2.1",
......@@ -668,13 +680,13 @@
"languageVersion": "3.0"
},
{
"name": "jema_app",
"name": "mobile_application_kids",
"rootUri": "../",
"packageUri": "lib/",
"languageVersion": "3.0"
}
],
"generated": "2024-03-09T19:18:50.460515Z",
"generated": "2024-03-18T12:13:20.503381Z",
"generator": "pub",
"generatorVersion": "3.0.1"
}
......@@ -330,6 +330,10 @@ shared_preferences_windows
2.19
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.3.2/
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.3.2/lib/
simple_gesture_detector
2.12
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/simple_gesture_detector-0.2.1/
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/simple_gesture_detector-0.2.1/lib/
source_span
2.14
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/source_span-1.9.1/
......@@ -362,6 +366,10 @@ synchronized
3.0
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/synchronized-3.1.0+1/
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/synchronized-3.1.0+1/lib/
table_calendar
2.12
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/table_calendar-3.0.8/
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/table_calendar-3.0.8/lib/
term_glyph
2.12
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/
......@@ -442,8 +450,8 @@ xdg_directories
3.0
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/xdg_directories-1.0.4/
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/xdg_directories-1.0.4/lib/
jema_app
mobile_application_kids
3.0
file:///Users/avishkanew/Desktop/Avishk678/monitoring-and-recommendations-for-early-childhood-development/
file:///Users/avishkanew/Desktop/Avishk678/monitoring-and-recommendations-for-early-childhood-development/lib/
file:///Users/avishkanew/Documents/Jema678/monitoring-and-recommendations-for-early-childhood-development/
file:///Users/avishkanew/Documents/Jema678/monitoring-and-recommendations-for-early-childhood-development/lib/
2
This diff is collapsed.
......@@ -98,4 +98,4 @@ class UserActivitiesScreen extends StatelessWidget {
},
);
}
}
}
\ No newline at end of file
......@@ -77,19 +77,19 @@ class _AttendanceState extends State<Attendance> {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Bright Sparkle ',
style: TextStyle(
color: Color(0xFF11324D),
fontSize: 24,
fontFamily: 'Poppins',
fontWeight: FontWeight.w500,
height: 0.04,
letterSpacing: -0.96,
),
),
// Text(
// ' ',
// style: TextStyle(
// color: Color(0xFF11324D),
// fontSize: 24,
// fontFamily: 'Poppins',
// fontWeight: FontWeight.w500,
// height: 0.04,
// letterSpacing: -0.96,
// ),
// ),
Padding(
padding: const EdgeInsets.fromLTRB(5, 40, 5, 5),
padding: const EdgeInsets.fromLTRB(5, 20, 5, 5),
child: Container(
width: 358,
height: 76,
......@@ -676,30 +676,32 @@ class _AttendanceState extends State<Attendance> {
label: 'Profile',
),
],
selectedItemColor: Colors.blue,
onTap: (index) async {
final prefs = await SharedPreferences.getInstance();
String rool = prefs.get('rool').toString();
selectedItemColor: Color.fromARGB(255, 103, 103, 103),
onTap: (index) {
// Handle bottom navigation item tap
if (index == 0) {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => TeacherHomePage()),
);
}
if (index == 1) {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ChatScreen()),
);
}
if (index == 2) {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => TeacherProfilePage(uid: user?.uid)),
);
switch (index) {
case 0:
// Navigate to Home
Navigator.push(
context,
MaterialPageRoute(builder: (context) => TeacherHomePage()),
);
break;
case 1:
// Navigate to Chat
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ChatScreen()),
);
break;
case 2:
// Navigate to Profile
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => TeacherProfilePage(uid: user?.uid)),
);
break;
}
},
),
......
......@@ -5,6 +5,8 @@ import 'package:image_picker/image_picker.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_storage/firebase_storage.dart';
import 'package:mobile_application_kids/TeacherProfile.dart';
import 'package:mobile_application_kids/teacherhome.dart';
class ChatScreen extends StatefulWidget {
@override
......@@ -93,7 +95,23 @@ class _ChatScreenState extends State<ChatScreen> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Chat '),
title: Text(' '),
actions: [
Container(
alignment: Alignment.centerRight,
padding: EdgeInsets.only(right: 16),
child: Text('Chat',
style: TextStyle(
color: Color(0xFF554994),
fontSize: 24,
fontFamily: 'Poppins',
fontWeight: FontWeight.w700,
height: 0.04,
letterSpacing: -0.96,
),
),
),
],
),
body: Column(
children: <Widget>[
......@@ -170,6 +188,7 @@ class _ChatScreenState extends State<ChatScreen> {
),
],
),
);
}
......@@ -214,7 +233,9 @@ class MessageBubble extends StatelessWidget {
alignment: isCurrentUser ? Alignment.centerRight : Alignment.centerLeft,
child: Container(
decoration: BoxDecoration(
color: isCurrentUser ? Colors.blue : Colors.green,
color: isCurrentUser
? Color.fromARGB(36, 85, 193, 255)
: const Color.fromARGB(255, 240, 240, 240),
borderRadius: BorderRadius.circular(12.0),
),
padding: EdgeInsets.all(12.0),
......@@ -228,12 +249,18 @@ class MessageBubble extends StatelessWidget {
imageUrl!,
width: 200,
),
if (message.isNotEmpty) Text(message),
if (message.isNotEmpty)
Text(
message,
style: TextStyle(
fontSize: 18,
),
),
Text(
userName,
style: TextStyle(
color: Color.fromARGB(255, 248, 4, 4),
fontSize: 8,
color: Color.fromARGB(255, 29, 51, 243),
fontSize: 12,
),
)
],
......
......@@ -58,18 +58,19 @@ class CheckKidsPage extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Bright Sparkle ',
style: TextStyle(
color: Color(0xFF11324D),
fontSize: 24,
fontFamily: 'Poppins',
fontWeight: FontWeight.w500,
height: 0.04,
letterSpacing: -0.96,
),
),
SizedBox(height: 30),
// Text(
// 'Bright Sparkle ',
// style: TextStyle(
// color: Color(0xFF11324D),
// fontSize: 24,
// fontFamily: 'Poppins',
// fontWeight: FontWeight.w500,
// height: 0.04,
// letterSpacing: -0.96,
// ),
// ),
SizedBox(height: 20), // space between titles at the top of the page
Text(
'Select Kids ',
style: TextStyle(
......@@ -86,7 +87,7 @@ class CheckKidsPage extends StatelessWidget {
stream: _usersStream,
builder: (context, snapshot) {
print("--------------------------------------");
print(snapshot.data!.docs.length);
// print(snapshot.data!.docs.length);
if (snapshot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
}
......@@ -234,10 +235,12 @@ class CheckKidsPage extends StatelessWidget {
label: 'Profile',
),
],
selectedItemColor: Colors.blue,
selectedItemColor: Color.fromARGB(255, 103, 103, 103),
onTap: (index) {
// Handle bottom navigation item tap
switch (index) {
case 0:
// Navigate to Home
Navigator.push(
context,
MaterialPageRoute(builder: (context) => TeacherHomePage()),
......@@ -255,9 +258,7 @@ class CheckKidsPage extends StatelessWidget {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => TeacherProfilePage(
uid: user?.uid,
)),
builder: (context) => TeacherProfilePage(uid: user?.uid)),
);
break;
}
......
......@@ -5,8 +5,11 @@ import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
import 'package:mobile_application_kids/Attendance.dart';
import 'package:mobile_application_kids/ChatScreen.dart';
import 'package:mobile_application_kids/ChildrenVideo.dart';
import 'package:mobile_application_kids/ReportKids.dart';
import 'package:mobile_application_kids/TeacherProfile.dart';
import 'package:mobile_application_kids/teacherhome.dart';
import 'CheckKids.dart';
import 'ChildrenActiPhone.dart';
import 'ChildrenHomePage.dart';
......@@ -116,9 +119,9 @@ class ChildrenActivity extends StatelessWidget {
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(
'lib/assets/ac1.png'), // Replace 'path/to/your/image.jpg' with your image path
'lib/assets/ac1.png'),
fit: BoxFit
.cover, // Adjust this according to your needs
.cover,
)),
),
),
......@@ -136,9 +139,9 @@ class ChildrenActivity extends StatelessWidget {
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(
'lib/assets/ac2.png'), // Replace 'path/to/your/image.jpg' with your image path
'lib/assets/ac2.png'),
fit: BoxFit
.cover, // Adjust this according to your needs
.cover,
)),
),
),
......@@ -158,9 +161,9 @@ class ChildrenActivity extends StatelessWidget {
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(
'lib/assets/ac3.png'), // Replace 'path/to/your/image.jpg' with your image path
'lib/assets/ac7.png'),
fit: BoxFit
.cover, // Adjust this according to your needs
.cover,
)),
),
),
......@@ -180,9 +183,9 @@ class ChildrenActivity extends StatelessWidget {
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(
'lib/assets/ac4.png'), // Replace 'path/to/your/image.jpg' with your image path
'lib/assets/ac4.png'),
fit: BoxFit
.cover, // Adjust this according to your needs
.cover,
)),
),
),
......@@ -202,9 +205,9 @@ class ChildrenActivity extends StatelessWidget {
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(
'lib/assets/ac5.png'), // Replace 'path/to/your/image.jpg' with your image path
'lib/assets/ac6.png'),
fit: BoxFit
.cover, // Adjust this according to your needs
.cover,
)),
),
),
......@@ -214,6 +217,50 @@ class ChildrenActivity extends StatelessWidget {
),
),
),
bottomNavigationBar: BottomNavigationBar(
items: const [
BottomNavigationBarItem(
icon: Icon(Icons.home),
label: 'Home',
),
BottomNavigationBarItem(
icon: Icon(Icons.chat),
label: 'Chat',
),
BottomNavigationBarItem(
icon: Icon(Icons.person),
label: 'Profile',
),
],
selectedItemColor: Color.fromARGB(255, 103, 103, 103),
onTap: (index) {
// Handle bottom navigation item tap
switch (index) {
case 0:
// Navigate to Home
Navigator.push(
context,
MaterialPageRoute(builder: (context) => TeacherHomePage()),
);
break;
case 1:
// Navigate to Chat
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ChatScreen()),
);
break;
case 2:
// Navigate to Profile
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => TeacherProfilePage(uid: user?.uid)),
);
break;
}
},
),
);
}
......
......@@ -3,9 +3,12 @@ import 'dart:async';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:mobile_application_kids/ChatScreen.dart';
import 'package:mobile_application_kids/TeacherProfile.dart';
import 'package:mobile_application_kids/teacherchat.dart';
import 'package:mobile_application_kids/classroomview.dart';
import 'package:mobile_application_kids/addclassroom.dart';
import 'package:mobile_application_kids/teacherhome.dart';
import 'childrenProfile.dart';
......@@ -86,7 +89,7 @@ class ChildrenHomePage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Bright Sparkle ',
'$classroom',
style: TextStyle(
color: Color(0xFF11324D),
fontSize: 24,
......@@ -138,7 +141,7 @@ class ChildrenHomePage extends StatelessWidget {
stream: _usersStream,
builder: (context, snapshot) {
print("--------------------------------------");
print(snapshot.data!.docs.length);
// print(snapshot.data!.docs.length);
if (snapshot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
}
......@@ -185,35 +188,32 @@ class ChildrenHomePage extends StatelessWidget {
],
),
trailing: Container(
height: 35.0,
width: 80.0,
decoration: BoxDecoration(
color: Color.fromARGB(203, 164, 88, 177),
borderRadius: BorderRadius.circular(4.0),
),
child: TextButton(
onPressed: () {
print(document);
// Handle view class button press
Navigator.of(context).push(
MaterialPageRoute(
builder: (_) =>
ChildrenProfilePage(document),
height: 40.0,
width: 100.0,
decoration: BoxDecoration(
color: Colors.blueAccent,
borderRadius: BorderRadius.circular(8.0),
),
child: TextButton(
onPressed: () {
print(document);
// Handle view class button press
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
ChildrenProfilePage(document, "C"),
),
);
},
child: Text(
'View',
style: poppinsTextStyle.copyWith(
color: Colors.white,
),
);
},
child: Text(
'View',
style: TextStyle(
color: Colors.white,
fontSize: 14,
fontFamily: 'Poppins',
fontWeight: FontWeight.w600,
height: 1,
),
),
),
),
);
;
},
......@@ -224,6 +224,50 @@ class ChildrenHomePage extends StatelessWidget {
],
),
),
bottomNavigationBar: BottomNavigationBar(
items: const [
BottomNavigationBarItem(
icon: Icon(Icons.home),
label: 'Home',
),
BottomNavigationBarItem(
icon: Icon(Icons.chat),
label: 'Chat',
),
BottomNavigationBarItem(
icon: Icon(Icons.person),
label: 'Profile',
),
],
selectedItemColor: Color.fromARGB(255, 103, 103, 103),
onTap: (index) {
// Handle bottom navigation item tap
switch (index) {
case 0:
// Navigate to Home
Navigator.push(
context,
MaterialPageRoute(builder: (context) => TeacherHomePage()),
);
break;
case 1:
// Navigate to Chat
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ChatScreen()),
);
break;
case 2:
// Navigate to Profile
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => TeacherProfilePage(uid: user?.uid)),
);
break;
}
},
),
),
);
}
......
This diff is collapsed.
......@@ -26,7 +26,7 @@ class _ParentLoginPage extends State<ParentLoginPage> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.transparent,
backgroundColor: Colors.white,
elevation: 0,
leading: IconButton(
icon: const Icon(
......@@ -135,15 +135,16 @@ class _ParentLoginPage extends State<ParentLoginPage> {
child: Container(
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
color: Colors.green,
borderRadius: BorderRadius.circular(8.0),
color: Colors.blueAccent,
),
child: Center(
child: Padding(
padding: const EdgeInsets.all(10.0),
padding: const EdgeInsets.all(12.0),
child: Text(
'Login',
style: TextStyle(color: Colors.black),
style:
TextStyle(color: Colors.white, fontSize: 18),
),
),
),
......
......@@ -61,18 +61,18 @@ class ReportKidsPage extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Bright Sparkle ',
style: TextStyle(
color: Color(0xFF11324D),
fontSize: 24,
fontFamily: 'Poppins',
fontWeight: FontWeight.w500,
height: 0.04,
letterSpacing: -0.96,
),
),
SizedBox(height: 30),
// Text(
// 'Bright Sparkle ',
// style: TextStyle(
// color: Color(0xFF11324D),
// fontSize: 24,
// fontFamily: 'Poppins',
// fontWeight: FontWeight.w500,
// height: 0.04,
// letterSpacing: -0.96,
// ),
// ),
SizedBox(height: 20), // sspace here between texts
Text(
'Select Kids ',
style: TextStyle(
......@@ -89,7 +89,7 @@ class ReportKidsPage extends StatelessWidget {
stream: _usersStream,
builder: (context, snapshot) {
print("--------------------------------------");
print(snapshot.data!.docs.length);
// print(snapshot.data!.docs.length);
if (snapshot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
}
......@@ -229,10 +229,12 @@ class ReportKidsPage extends StatelessWidget {
label: 'Profile',
),
],
selectedItemColor: Colors.blue,
selectedItemColor: Color.fromARGB(255, 103, 103, 103),
onTap: (index) {
// Handle bottom navigation item tap
switch (index) {
case 0:
// Navigate to Home
Navigator.push(
context,
MaterialPageRoute(builder: (context) => TeacherHomePage()),
......@@ -250,9 +252,7 @@ class ReportKidsPage extends StatelessWidget {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => TeacherProfilePage(
uid: user?.uid,
)),
builder: (context) => TeacherProfilePage(uid: user?.uid)),
);
break;
}
......
This diff is collapsed.
import 'package:flutter/material.dart';
import 'package:mobile_application_kids/ChatScreen.dart';
import 'package:mobile_application_kids/TeacherProfile.dart';
import 'package:mobile_application_kids/teacherhome.dart';
class ActivitiesPage extends StatelessWidget {
@override
......@@ -44,7 +47,7 @@ class ActivitiesPage extends StatelessWidget {
children: [
Expanded(
child: ActivityBox(
title: 'Social Activities',
title: 'Coloring Book',
icon: Icons.group,
),
),
......@@ -62,7 +65,7 @@ class ActivitiesPage extends StatelessWidget {
children: [
Expanded(
child: ActivityBox(
title: 'Kid Activity',
title: 'Environment',
icon: Icons.child_care,
),
),
......@@ -168,6 +171,51 @@ class CameraScreen extends StatelessWidget {
body: Center(
child: Text('Camera Screen Placeholder'),
),
bottomNavigationBar: BottomNavigationBar(
items: const [
BottomNavigationBarItem(
icon: Icon(Icons.home),
label: 'Home',
),
BottomNavigationBarItem(
icon: Icon(Icons.chat),
label: 'Chat',
),
BottomNavigationBarItem(
icon: Icon(Icons.person),
label: 'Profile',
),
],
selectedItemColor: Color.fromARGB(255, 103, 103, 103),
onTap: (index) {
// Handle bottom navigation item tap
switch (index) {
case 0:
// Navigate to Home
Navigator.push(
context,
MaterialPageRoute(builder: (context) => TeacherHomePage()),
);
break;
case 1:
// Navigate to Chat
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ChatScreen()),
);
break;
case 2:
// Navigate to Profile
var user;
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => TeacherProfilePage(uid: user?.uid)),
);
break;
}
},
),
);
}
}
}
\ No newline at end of file
......@@ -68,11 +68,11 @@ class _AddClassroomPageState extends State<AddClassroomPage> {
),
SizedBox(height: 20),
Container(
height: 50.0,
width: 150.0,
height: 48.0,
width: 200.0,
decoration: BoxDecoration(
color: Color.fromARGB(203, 164, 88, 177),
borderRadius: BorderRadius.circular(4.0),
color: Colors.blueAccent,
borderRadius: BorderRadius.circular(8.0),
),
child: TextButton(
onPressed: () {
......
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:table_calendar/table_calendar.dart';
class CalendarScreen extends StatefulWidget {
@override
_CalendarScreenState createState() => _CalendarScreenState();
}
class _CalendarScreenState extends State<CalendarScreen> {
late CalendarFormat _calendarFormat;
late DateTime _focusedDay;
late DateTime _selectedDay;
@override
void initState() {
super.initState();
_calendarFormat = CalendarFormat.month;
_focusedDay = DateTime.now();
_selectedDay = DateTime.now();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(' '),
actions: [
Container(
alignment: Alignment.centerRight,
padding: EdgeInsets.only(right: 16),
child: Text('Calendar',
style: TextStyle(
color: Color(0xFF554994),
fontSize: 24,
fontFamily: 'Poppins',
fontWeight: FontWeight.w700,
height: 0.04,
letterSpacing: -0.96,
),
),
),
],
),
body: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16.0),
child: Text(
DateFormat.yMMMM().format(_focusedDay),
style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
),
),
SizedBox(height: 20),
TableCalendar(
firstDay: DateTime.utc(2020),
lastDay: DateTime.utc(2030),
focusedDay: _focusedDay,
calendarFormat: _calendarFormat,
selectedDayPredicate: (day) {
return isSameDay(_selectedDay, day);
},
onDaySelected: (selectedDay, focusedDay) {
setState(() {
_selectedDay = selectedDay;
_focusedDay = focusedDay;
});
},
onPageChanged: (focusedDay) {
setState(() {
_focusedDay = focusedDay;
});
},
headerVisible: false, // This removes the button next to the month name
calendarStyle: CalendarStyle(
defaultTextStyle: TextStyle(fontSize: 16),
selectedDecoration: BoxDecoration(
color: Colors.blue,
shape: BoxShape.circle,
),
todayDecoration: BoxDecoration(
color: Colors.transparent,
shape: BoxShape.circle,
border: Border.all(color: Colors.blue, width: 2),
),
),
daysOfWeekStyle: DaysOfWeekStyle(
weekdayStyle: TextStyle(color: Colors.black87),
weekendStyle: TextStyle(color: Colors.red),
),
),
SizedBox(height: 20),
Container(
margin: EdgeInsets.symmetric(horizontal: 16),
child: Text(
'Special Notes',
style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
),
),
],
),
),
);
}
}
This diff is collapsed.
This diff is collapsed.
......@@ -2,83 +2,99 @@ import 'package:awesome_dialog/awesome_dialog.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
class KidsReportPage extends StatefulWidget {
String id;
KidsReportPage({required this.id});
@override
_KidsReportPageState createState() => _KidsReportPageState(id: id);
}
class _KidsReportPageState extends State<KidsReportPage> {
String id;
_KidsReportPageState({required this.id});
List<String> dropdownValues = ['Select', '1', '2', '3', '4', '5'];
Map<String, String?> understandingDropdownMap = {
'Understanding commands': 'Select',
'Answer questions': 'Select',
'Keeping eye contact': 'Select',
'Following rules': 'Select',
};
Map<String, String?> movementsDropdownMap = {
'Motor activities': 'Select',
'Correct posture': 'Select',
};
Map<String, String?> manipulatingDropdownMap = {
'Can build/create new things': 'Select',
'Knows how to handle accessories': 'Select',
};
Map<String, String?> socializingDropdownMap = {
'Play with groups': 'Select',
'Help each other': 'Select',
'Friendly towards peers': 'Select',
'Close to teacher': 'Select',
};
Map<String, String?> speechDropdownMap = {
'Communicate well': 'Select',
'Like singing': 'Select',
};
Map<String, String?> recognitionDropdownMap = {
'Can express with pictures and words': 'Select',
'Identify shapes': 'Select',
'Knows Primary colors.': 'Select',
'Identify basic objects in the environment': 'Select',
};
Map<String, String?> habitsDropdownMap = {
'Organized': 'Select',
'Have good eating habits': 'Select',
'Taking care of own needs': 'Select',
};
Map<String, String?> personalHygieneDropdownMap = {
'Stay clean': 'Select',
'Keep the workplace and environment clean': 'Select',
};
Map<String, String?> personalityDropdownMap = {
'Act according to the situation': 'Select',
'Finish allocated work': 'Select',
'More active': 'Select',
'Less active': 'Select',
};
final _formkey = GlobalKey<FormState>();
final _auth = FirebaseAuth.instance;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Student Report'),
title: Text(' '),
actions: [
Container(
alignment: Alignment.centerRight,
padding: EdgeInsets.only(right: 16),
child: Text('Student Report',
style: TextStyle(
color: Color(0xFF554994),
fontSize: 24,
fontFamily: 'Poppins',
fontWeight: FontWeight.w700,
height: 0.04,
letterSpacing: -0.96,
),
),
),
],
),
body: SingleChildScrollView(
child: Center(
......@@ -190,7 +206,7 @@ class _KidsReportPageState extends State<KidsReportPage> {
),
);
}
Widget _buildDropdownSection({
required String title,
required Map<String, String?> dropdownMap,
......@@ -257,16 +273,16 @@ class _KidsReportPageState extends State<KidsReportPage> {
],
);
}
postDetailsToFirestore(context) async {
FirebaseFirestore firebaseFirestore = FirebaseFirestore.instance;
var user = _auth.currentUser;
CollectionReference ref =
FirebaseFirestore.instance.collection('reports');
// Constructing the data to be saved
Map<String, dynamic> data = {};
understandingDropdownMap.forEach((key, value) {
......@@ -297,16 +313,18 @@ class _KidsReportPageState extends State<KidsReportPage> {
data[key] = value;
});
data['sId'] = id;
await ref.doc(id).set(data);
AwesomeDialog(
context: context,
dialogType: DialogType.success,
animType: AnimType.rightSlide,
title: 'Successfully Created',
btnOkOnPress: () {},
)..show();
}
context: context,
dialogType: DialogType.success,
animType: AnimType.rightSlide,
title: 'Successfully Created',
btnOkOnPress: () {
// Navigate back to the previous page
Navigator.pop(context);
},
)..show();
}
}
\ No newline at end of file
This diff is collapsed.
......@@ -22,19 +22,28 @@ class KidsReportsPage extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Bright Sparkle ',
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
// Text(
// 'Bright Sparkle ',
// style: TextStyle(
// color: Color(0xFF11324D),
// fontSize: 24,
// fontFamily: 'Poppins',
// fontWeight: FontWeight.w500,
// height: 0.04,
// letterSpacing: -0.96,
// ),
// ),
SizedBox(height: 20), // Add space here
Text(
'Select Kids ',
style: TextStyle(
color: Color(0xFF21205B),
fontSize: 16,
fontFamily: 'Poppins',
fontWeight: FontWeight.w500,
height: 0.06,
),
),
),
Text(
'Select Kid',
style: TextStyle(
fontSize: 18,
),
),
SizedBox(height: 16),
ListView.builder(
shrinkWrap: true,
......
This diff is collapsed.
......@@ -25,7 +25,7 @@ class _LoginPage extends State<LoginPage> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.transparent,
backgroundColor: Colors.white,
elevation: 0,
leading: IconButton(
icon: const Icon(
......@@ -135,14 +135,15 @@ class _LoginPage extends State<LoginPage> {
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
color: Colors.green,
color: Colors.blueAccent,
),
child: Center(
child: Padding(
padding: const EdgeInsets.all(10.0),
padding: const EdgeInsets.all(15.0),
child: Text(
'Login',
style: TextStyle(color: Colors.black),
style:
TextStyle(color: Colors.white, fontSize: 16),
),
),
),
......@@ -193,8 +194,8 @@ class _LoginPage extends State<LoginPage> {
context: context,
dialogType: DialogType.info,
animType: AnimType.rightSlide,
title: ' login Perent',
desc: ' Go to your home page',
title: ' login Parent',
desc: ' Go to your parent home page',
btnCancelOnPress: () {},
btnOkOnPress: () {
Navigator.pushReplacement(
......
......@@ -61,14 +61,14 @@ class _MyHomePageState extends State<MyHomePage> {
@override
void initState() {
super.initState();
Timer.periodic(Duration(milliseconds: 500), (timer) {
Timer.periodic(Duration(milliseconds: 700), (timer) {
setState(() {
// Toggle between zoom in and zoom out
scaleFactor = scaleFactor == 1.0 ? 1.05 : 1.0;
});
});
Future.delayed(Duration(seconds: 3), () {
Future.delayed(Duration(seconds: 2), () {
Navigator.push(
context,
MaterialPageRoute(
......
import 'package:flutter/material.dart';
import 'package:mobile_application_kids/sign_in_up.dart';
import 'ParentLogin.dart';
import 'login.dart';
......@@ -20,7 +21,11 @@ class ParentTeacherPage extends StatelessWidget {
color: const Color.fromARGB(255, 0, 0, 0),
),
onPressed: () {
Navigator.pop(context);
Navigator.pushAndRemoveUntil(
context,
MaterialPageRoute(builder: (context) => SignInUpPage(backgroundColor: Colors.white,)),
(Route<dynamic> route) => false,
);
},
),
),
......@@ -67,12 +72,12 @@ class ParentTeacherPage extends StatelessWidget {
child: Container(
width: 200,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
color: Color.fromARGB(220, 164, 68, 215),
borderRadius: BorderRadius.circular(8.0),
color: Colors.blueAccent,
),
child: Center(
child: Padding(
padding: const EdgeInsets.all(10.0),
padding: const EdgeInsets.all(12.0),
child: Text(
'Parent',
style: TextStyle(color: Colors.white),
......@@ -100,12 +105,12 @@ class ParentTeacherPage extends StatelessWidget {
child: Container(
width: 200,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
color: Color.fromARGB(220, 164, 68, 215),
borderRadius: BorderRadius.circular(8.0),
color: Colors.blueAccent,
),
child: Center(
child: Padding(
padding: const EdgeInsets.all(10.0),
padding: const EdgeInsets.all(12.0),
child: Text(
'Teacher',
style: TextStyle(color: Colors.white),
......
......@@ -16,15 +16,6 @@ class ParentTeacherSignUpPage extends StatelessWidget {
appBar: AppBar(
backgroundColor: Colors.transparent,
elevation: 0,
leading: IconButton(
icon: Icon(
Icons.arrow_back,
color: const Color.fromARGB(255, 0, 0, 0),
),
onPressed: () {
Navigator.pop(context);
},
),
),
body: Container(
color: backgroundColor,
......@@ -67,12 +58,12 @@ class ParentTeacherSignUpPage extends StatelessWidget {
child: Container(
width: 200,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
color: Color.fromARGB(220, 164, 68, 215),
borderRadius: BorderRadius.circular(8.0),
color: Colors.blueAccent,
),
child: Center(
child: Padding(
padding: const EdgeInsets.all(10.0),
padding: const EdgeInsets.all(12.0),
child: Text(
'Parent',
style: TextStyle(color: Colors.white),
......@@ -98,12 +89,12 @@ class ParentTeacherSignUpPage extends StatelessWidget {
child: Container(
width: 200,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
color: Color.fromARGB(220, 164, 68, 215),
borderRadius: BorderRadius.circular(8.0),
color: Colors.blueAccent,
),
child: Center(
child: Padding(
padding: const EdgeInsets.all(10.0),
padding: const EdgeInsets.all(12.0),
child: Text(
'Teacher',
style: TextStyle(color: Colors.white),
......
This diff is collapsed.
This diff is collapsed.
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:jema_app/teacherchat.dart';
import 'package:jema_app/classroomview.dart';
import 'package:jema_app/addclassroom.dart';
import 'package:jema_app/teacherhome.dart';
import 'package:mobile_application_kids/teacherchat.dart';
import 'package:mobile_application_kids/classroomview.dart';
import 'package:mobile_application_kids/addclassroom.dart';
import 'package:mobile_application_kids/teacherhome.dart';
import 'package:pie_chart/pie_chart.dart';
import 'package:shared_preferences/shared_preferences.dart';
......
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:jema_app/teacherchat.dart';
import 'package:jema_app/classroomview.dart';
import 'package:jema_app/addclassroom.dart';
import 'package:jema_app/teacherhome.dart';
import 'package:mobile_application_kids/teacherchat.dart';
import 'package:mobile_application_kids/classroomview.dart';
import 'package:mobile_application_kids/addclassroom.dart';
import 'package:mobile_application_kids/teacherhome.dart';
import 'package:pie_chart/pie_chart.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:charts_flutter/flutter.dart' as charts;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
name: jema_app
name: mobile_application_kids
description: A new Flutter project.
# The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages.
......@@ -47,6 +47,7 @@ dependencies:
url_launcher: ^6.1.14
cached_network_image: ^3.3.1
charts_flutter: ^0.12.0
table_calendar: ^3.0.8
dev_dependencies:
......@@ -96,7 +97,9 @@ flutter:
- lib/assets/ac4.png
- lib/assets/ac5.png
- lib/assets/banner.png
- lib/assets/ac6.png
- lib/assets/ac7.png
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment