Commit 985775c7 authored by Uditha Prabhasha 's avatar Uditha Prabhasha

update parent page bottom nav bar

parent 10e73d8d
...@@ -493,6 +493,12 @@ ...@@ -493,6 +493,12 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "2.19" "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", "name": "sky_engine",
"rootUri": "file:///Users/avishka/Desktop/FLUTTER/flutter/bin/cache/pkg/sky_engine", "rootUri": "file:///Users/avishka/Desktop/FLUTTER/flutter/bin/cache/pkg/sky_engine",
...@@ -547,6 +553,12 @@ ...@@ -547,6 +553,12 @@
"packageUri": "lib/", "packageUri": "lib/",
"languageVersion": "3.0" "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", "name": "term_glyph",
"rootUri": "file:///Users/avishkanew/.pub-cache/hosted/pub.dev/term_glyph-1.2.1", "rootUri": "file:///Users/avishkanew/.pub-cache/hosted/pub.dev/term_glyph-1.2.1",
...@@ -674,7 +686,7 @@ ...@@ -674,7 +686,7 @@
"languageVersion": "3.0" "languageVersion": "3.0"
} }
], ],
"generated": "2024-03-17T10:38:35.142846Z", "generated": "2024-03-18T12:13:20.503381Z",
"generator": "pub", "generator": "pub",
"generatorVersion": "3.0.1" "generatorVersion": "3.0.1"
} }
...@@ -330,6 +330,10 @@ shared_preferences_windows ...@@ -330,6 +330,10 @@ shared_preferences_windows
2.19 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/
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.3.2/lib/ 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 source_span
2.14 2.14
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/source_span-1.9.1/ file:///Users/avishkanew/.pub-cache/hosted/pub.dev/source_span-1.9.1/
...@@ -362,6 +366,10 @@ synchronized ...@@ -362,6 +366,10 @@ synchronized
3.0 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/
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/synchronized-3.1.0+1/lib/ 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 term_glyph
2.12 2.12
file:///Users/avishkanew/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/ file:///Users/avishkanew/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/
......
This diff is collapsed.
...@@ -98,4 +98,4 @@ class UserActivitiesScreen extends StatelessWidget { ...@@ -98,4 +98,4 @@ class UserActivitiesScreen extends StatelessWidget {
}, },
); );
} }
} }
\ No newline at end of file
...@@ -77,19 +77,19 @@ class _AttendanceState extends State<Attendance> { ...@@ -77,19 +77,19 @@ class _AttendanceState extends State<Attendance> {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text( // Text(
'Bright Sparkle ', // ' ',
style: TextStyle( // style: TextStyle(
color: Color(0xFF11324D), // color: Color(0xFF11324D),
fontSize: 24, // fontSize: 24,
fontFamily: 'Poppins', // fontFamily: 'Poppins',
fontWeight: FontWeight.w500, // fontWeight: FontWeight.w500,
height: 0.04, // height: 0.04,
letterSpacing: -0.96, // letterSpacing: -0.96,
), // ),
), // ),
Padding( Padding(
padding: const EdgeInsets.fromLTRB(5, 40, 5, 5), padding: const EdgeInsets.fromLTRB(5, 20, 5, 5),
child: Container( child: Container(
width: 358, width: 358,
height: 76, height: 76,
...@@ -676,30 +676,32 @@ class _AttendanceState extends State<Attendance> { ...@@ -676,30 +676,32 @@ class _AttendanceState extends State<Attendance> {
label: 'Profile', label: 'Profile',
), ),
], ],
selectedItemColor: Colors.blue, selectedItemColor: Color.fromARGB(255, 103, 103, 103),
onTap: (index) async { onTap: (index) {
final prefs = await SharedPreferences.getInstance();
String rool = prefs.get('rool').toString();
// Handle bottom navigation item tap // Handle bottom navigation item tap
switch (index) {
if (index == 0) { case 0:
Navigator.push( // Navigate to Home
context, Navigator.push(
MaterialPageRoute(builder: (context) => TeacherHomePage()), context,
); MaterialPageRoute(builder: (context) => TeacherHomePage()),
} );
if (index == 1) { break;
Navigator.push( case 1:
context, // Navigate to Chat
MaterialPageRoute(builder: (context) => ChatScreen()), Navigator.push(
); context,
} MaterialPageRoute(builder: (context) => ChatScreen()),
if (index == 2) { );
Navigator.push( break;
context, case 2:
MaterialPageRoute( // Navigate to Profile
builder: (context) => TeacherProfilePage(uid: user?.uid)), Navigator.push(
); context,
MaterialPageRoute(
builder: (context) => TeacherProfilePage(uid: user?.uid)),
);
break;
} }
}, },
), ),
......
...@@ -5,6 +5,8 @@ import 'package:image_picker/image_picker.dart'; ...@@ -5,6 +5,8 @@ import 'package:image_picker/image_picker.dart';
import 'package:firebase_auth/firebase_auth.dart'; import 'package:firebase_auth/firebase_auth.dart';
import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_storage/firebase_storage.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 { class ChatScreen extends StatefulWidget {
@override @override
...@@ -93,7 +95,23 @@ class _ChatScreenState extends State<ChatScreen> { ...@@ -93,7 +95,23 @@ class _ChatScreenState extends State<ChatScreen> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar( 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( body: Column(
children: <Widget>[ children: <Widget>[
...@@ -170,6 +188,7 @@ class _ChatScreenState extends State<ChatScreen> { ...@@ -170,6 +188,7 @@ class _ChatScreenState extends State<ChatScreen> {
), ),
], ],
), ),
); );
} }
......
...@@ -58,18 +58,19 @@ class CheckKidsPage extends StatelessWidget { ...@@ -58,18 +58,19 @@ class CheckKidsPage extends StatelessWidget {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text( // Text(
'Bright Sparkle ', // 'Bright Sparkle ',
style: TextStyle(
color: Color(0xFF11324D), // style: TextStyle(
fontSize: 24, // color: Color(0xFF11324D),
fontFamily: 'Poppins', // fontSize: 24,
fontWeight: FontWeight.w500, // fontFamily: 'Poppins',
height: 0.04, // fontWeight: FontWeight.w500,
letterSpacing: -0.96, // height: 0.04,
), // letterSpacing: -0.96,
), // ),
SizedBox(height: 30), // ),
SizedBox(height: 20), // space between titles at the top of the page
Text( Text(
'Select Kids ', 'Select Kids ',
style: TextStyle( style: TextStyle(
...@@ -234,10 +235,12 @@ class CheckKidsPage extends StatelessWidget { ...@@ -234,10 +235,12 @@ class CheckKidsPage extends StatelessWidget {
label: 'Profile', label: 'Profile',
), ),
], ],
selectedItemColor: Colors.blue, selectedItemColor: Color.fromARGB(255, 103, 103, 103),
onTap: (index) { onTap: (index) {
// Handle bottom navigation item tap
switch (index) { switch (index) {
case 0: case 0:
// Navigate to Home
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute(builder: (context) => TeacherHomePage()), MaterialPageRoute(builder: (context) => TeacherHomePage()),
...@@ -255,9 +258,7 @@ class CheckKidsPage extends StatelessWidget { ...@@ -255,9 +258,7 @@ class CheckKidsPage extends StatelessWidget {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => TeacherProfilePage( builder: (context) => TeacherProfilePage(uid: user?.uid)),
uid: user?.uid,
)),
); );
break; break;
} }
......
...@@ -5,8 +5,11 @@ import 'package:firebase_auth/firebase_auth.dart'; ...@@ -5,8 +5,11 @@ import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart'; import 'package:image_picker/image_picker.dart';
import 'package:mobile_application_kids/Attendance.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/ChildrenVideo.dart';
import 'package:mobile_application_kids/ReportKids.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 'CheckKids.dart';
import 'ChildrenActiPhone.dart'; import 'ChildrenActiPhone.dart';
import 'ChildrenHomePage.dart'; import 'ChildrenHomePage.dart';
...@@ -214,6 +217,50 @@ class ChildrenActivity extends StatelessWidget { ...@@ -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'; ...@@ -3,9 +3,12 @@ import 'dart:async';
import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart'; import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.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/teacherchat.dart';
import 'package:mobile_application_kids/classroomview.dart'; import 'package:mobile_application_kids/classroomview.dart';
import 'package:mobile_application_kids/addclassroom.dart'; import 'package:mobile_application_kids/addclassroom.dart';
import 'package:mobile_application_kids/teacherhome.dart';
import 'childrenProfile.dart'; import 'childrenProfile.dart';
...@@ -86,7 +89,7 @@ class ChildrenHomePage extends StatelessWidget { ...@@ -86,7 +89,7 @@ class ChildrenHomePage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text( Text(
'Bright Sparkle ', '$classroom',
style: TextStyle( style: TextStyle(
color: Color(0xFF11324D), color: Color(0xFF11324D),
fontSize: 24, fontSize: 24,
...@@ -185,35 +188,32 @@ class ChildrenHomePage extends StatelessWidget { ...@@ -185,35 +188,32 @@ class ChildrenHomePage extends StatelessWidget {
], ],
), ),
trailing: Container( trailing: Container(
height: 35.0, height: 40.0,
width: 80.0, width: 100.0,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Color.fromARGB(203, 164, 88, 177), color: Colors.blueAccent,
borderRadius: BorderRadius.circular(4.0), borderRadius: BorderRadius.circular(8.0),
), ),
child: TextButton( child: TextButton(
onPressed: () { onPressed: () {
print(document); print(document);
// Handle view class button press // Handle view class button press
Navigator.of(context).push( Navigator.push(
MaterialPageRoute( context,
builder: (_) => MaterialPageRoute(
ChildrenProfilePage(document, 'C'), 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 { ...@@ -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.
...@@ -61,18 +61,18 @@ class ReportKidsPage extends StatelessWidget { ...@@ -61,18 +61,18 @@ class ReportKidsPage extends StatelessWidget {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text( // Text(
'Bright Sparkle ', // 'Bright Sparkle ',
style: TextStyle( // style: TextStyle(
color: Color(0xFF11324D), // color: Color(0xFF11324D),
fontSize: 24, // fontSize: 24,
fontFamily: 'Poppins', // fontFamily: 'Poppins',
fontWeight: FontWeight.w500, // fontWeight: FontWeight.w500,
height: 0.04, // height: 0.04,
letterSpacing: -0.96, // letterSpacing: -0.96,
), // ),
), // ),
SizedBox(height: 30), SizedBox(height: 20), // sspace here between texts
Text( Text(
'Select Kids ', 'Select Kids ',
style: TextStyle( style: TextStyle(
...@@ -89,7 +89,7 @@ class ReportKidsPage extends StatelessWidget { ...@@ -89,7 +89,7 @@ class ReportKidsPage extends StatelessWidget {
stream: _usersStream, stream: _usersStream,
builder: (context, snapshot) { builder: (context, snapshot) {
print("--------------------------------------"); print("--------------------------------------");
print(snapshot.data!.docs.length); // print(snapshot.data!.docs.length);
if (snapshot.connectionState == ConnectionState.waiting) { if (snapshot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator(); return CircularProgressIndicator();
} }
...@@ -229,10 +229,12 @@ class ReportKidsPage extends StatelessWidget { ...@@ -229,10 +229,12 @@ class ReportKidsPage extends StatelessWidget {
label: 'Profile', label: 'Profile',
), ),
], ],
selectedItemColor: Colors.blue, selectedItemColor: Color.fromARGB(255, 103, 103, 103),
onTap: (index) { onTap: (index) {
// Handle bottom navigation item tap
switch (index) { switch (index) {
case 0: case 0:
// Navigate to Home
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute(builder: (context) => TeacherHomePage()), MaterialPageRoute(builder: (context) => TeacherHomePage()),
...@@ -250,9 +252,7 @@ class ReportKidsPage extends StatelessWidget { ...@@ -250,9 +252,7 @@ class ReportKidsPage extends StatelessWidget {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => TeacherProfilePage( builder: (context) => TeacherProfilePage(uid: user?.uid)),
uid: user?.uid,
)),
); );
break; break;
} }
......
This diff is collapsed.
import 'package:flutter/material.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/teacherhome.dart';
class ActivitiesPage extends StatelessWidget { class ActivitiesPage extends StatelessWidget {
@override @override
...@@ -168,6 +171,51 @@ class CameraScreen extends StatelessWidget { ...@@ -168,6 +171,51 @@ class CameraScreen extends StatelessWidget {
body: Center( body: Center(
child: Text('Camera Screen Placeholder'), 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
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.
...@@ -78,7 +78,23 @@ class _KidsReportPageState extends State<KidsReportPage> { ...@@ -78,7 +78,23 @@ class _KidsReportPageState extends State<KidsReportPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar( 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( body: SingleChildScrollView(
child: Center( child: Center(
...@@ -301,11 +317,14 @@ class _KidsReportPageState extends State<KidsReportPage> { ...@@ -301,11 +317,14 @@ class _KidsReportPageState extends State<KidsReportPage> {
await ref.doc(id).set(data); await ref.doc(id).set(data);
AwesomeDialog( AwesomeDialog(
context: context, context: context,
dialogType: DialogType.success, dialogType: DialogType.success,
animType: AnimType.rightSlide, animType: AnimType.rightSlide,
title: 'Successfully Created', title: 'Successfully Created',
btnOkOnPress: () {}, btnOkOnPress: () {
)..show(); // Navigate back to the previous page
} Navigator.pop(context);
},
)..show();
}
} }
\ No newline at end of file
...@@ -22,19 +22,28 @@ class KidsReportsPage extends StatelessWidget { ...@@ -22,19 +22,28 @@ class KidsReportsPage extends StatelessWidget {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text( // Text(
'Bright Sparkle ', // 'Bright Sparkle ',
style: TextStyle( // style: TextStyle(
fontSize: 18, // color: Color(0xFF11324D),
fontWeight: FontWeight.bold, // 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), SizedBox(height: 16),
ListView.builder( ListView.builder(
shrinkWrap: true, shrinkWrap: true,
......
...@@ -194,8 +194,8 @@ class _LoginPage extends State<LoginPage> { ...@@ -194,8 +194,8 @@ class _LoginPage extends State<LoginPage> {
context: context, context: context,
dialogType: DialogType.info, dialogType: DialogType.info,
animType: AnimType.rightSlide, animType: AnimType.rightSlide,
title: ' login Perent', title: ' login Parent',
desc: ' Go to your home page', desc: ' Go to your parent home page',
btnCancelOnPress: () {}, btnCancelOnPress: () {},
btnOkOnPress: () { btnOkOnPress: () {
Navigator.pushReplacement( Navigator.pushReplacement(
......
...@@ -61,7 +61,7 @@ class _MyHomePageState extends State<MyHomePage> { ...@@ -61,7 +61,7 @@ class _MyHomePageState extends State<MyHomePage> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
Timer.periodic(Duration(milliseconds: 800), (timer) { Timer.periodic(Duration(milliseconds: 700), (timer) {
setState(() { setState(() {
// Toggle between zoom in and zoom out // Toggle between zoom in and zoom out
scaleFactor = scaleFactor == 1.0 ? 1.05 : 1.0; scaleFactor = scaleFactor == 1.0 ? 1.05 : 1.0;
......
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mobile_application_kids/sign_in_up.dart';
import 'ParentLogin.dart'; import 'ParentLogin.dart';
import 'login.dart'; import 'login.dart';
...@@ -20,7 +21,11 @@ class ParentTeacherPage extends StatelessWidget { ...@@ -20,7 +21,11 @@ class ParentTeacherPage extends StatelessWidget {
color: const Color.fromARGB(255, 0, 0, 0), color: const Color.fromARGB(255, 0, 0, 0),
), ),
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pushAndRemoveUntil(
context,
MaterialPageRoute(builder: (context) => SignInUpPage(backgroundColor: Colors.white,)),
(Route<dynamic> route) => false,
);
}, },
), ),
), ),
......
...@@ -16,15 +16,6 @@ class ParentTeacherSignUpPage extends StatelessWidget { ...@@ -16,15 +16,6 @@ class ParentTeacherSignUpPage extends StatelessWidget {
appBar: AppBar( appBar: AppBar(
backgroundColor: Colors.transparent, backgroundColor: Colors.transparent,
elevation: 0, elevation: 0,
leading: IconButton(
icon: Icon(
Icons.arrow_back,
color: const Color.fromARGB(255, 0, 0, 0),
),
onPressed: () {
Navigator.pop(context);
},
),
), ),
body: Container( body: Container(
color: backgroundColor, color: backgroundColor,
......
import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart'; import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mobile_application_kids/ChildrenProfile_parent.dart';
import 'package:mobile_application_kids/classroomview.dart'; import 'package:mobile_application_kids/classroomview.dart';
import 'package:mobile_application_kids/addclassroom.dart'; import 'package:mobile_application_kids/addclassroom.dart';
import 'package:mobile_application_kids/games.dart'; import 'package:mobile_application_kids/games.dart';
import 'package:mobile_application_kids/parentProfile.dart';
import 'package:mobile_application_kids/teacherchat.dart'; import 'package:mobile_application_kids/teacherchat.dart';
import 'ChatScreen.dart'; import 'ChatScreen.dart';
...@@ -43,13 +45,16 @@ class ParentHomePage extends StatelessWidget { ...@@ -43,13 +45,16 @@ class ParentHomePage extends StatelessWidget {
}, },
child: Scaffold( child: Scaffold(
appBar: AppBar( appBar: AppBar(
// leading: Flexible( automaticallyImplyLeading: false,
// child: Image.asset( centerTitle: false,
// 'lib/assets/logo.png', title: Container(
// fit: BoxFit.contain, width: 230,
// height: 150, // Adjust the height to make the logo bigger child: Image.asset(
// ), 'lib/assets/i2.png',
// ), fit: BoxFit.fitHeight,
alignment: Alignment.topLeft,
),
),
actions: [ actions: [
IconButton( IconButton(
icon: Icon(Icons.notifications), icon: Icon(Icons.notifications),
...@@ -60,11 +65,11 @@ class ParentHomePage extends StatelessWidget { ...@@ -60,11 +65,11 @@ class ParentHomePage extends StatelessWidget {
], ],
), ),
body: Padding( body: Padding(
padding: const EdgeInsets.all(16.0), padding: const EdgeInsets.all(10.0),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
SizedBox(height: 20), SizedBox(height: 12),
Text( Text(
'Explore, learn, and play in our magical world of wonder!', 'Explore, learn, and play in our magical world of wonder!',
style: poppinsTextStyle.copyWith( style: poppinsTextStyle.copyWith(
...@@ -72,38 +77,42 @@ class ParentHomePage extends StatelessWidget { ...@@ -72,38 +77,42 @@ class ParentHomePage extends StatelessWidget {
fontSize: 13, fontSize: 13,
), ),
), ),
SizedBox(height: 10),
Expanded(
child: Image.asset(
'lib/assets/teacherhome.png',
fit: BoxFit.contain,
),
),
SizedBox(height: 20), SizedBox(height: 20),
Row( Expanded(
mainAxisAlignment: MainAxisAlignment.center, child: ClipRRect(
children: [ borderRadius: BorderRadius.circular(10),
TextButton( child: Image.asset(
onPressed: () { 'lib/assets/teacherhome.png',
// Navigate to the AddClassroomPage fit: BoxFit.fitHeight,
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => AddClassroomPage()),
);
},
child: Row(
children: [],
),
), ),
], ),
), ),
// SizedBox(height: 20),
// Row(
// mainAxisAlignment: MainAxisAlignment.center,
// children: [
// // // TextButton(
// // // onPressed: () {
// // // // Navigate to the AddClassroomPage
// // // Navigator.push(
// // // context,
// // // MaterialPageRoute(
// // // builder: (context) => AddClassroomPage()),
// // // );
// // // },
// // // child: Row(
// // // children: [],
// // // ),
// // ),
// ],
// ),
SizedBox(height: 10),
Divider(), Divider(),
SizedBox(height: 10), SizedBox(height: 10),
Text( Text(
'All Kids', 'All Kids',
style: poppinsTextStyle.copyWith( style: poppinsTextStyle.copyWith(
fontSize: 16, fontSize: 18,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
), ),
...@@ -163,11 +172,11 @@ class ParentHomePage extends StatelessWidget { ...@@ -163,11 +172,11 @@ class ParentHomePage extends StatelessWidget {
], ],
), ),
trailing: Container( trailing: Container(
height: 35.0, height: 40.0,
width: 80.0, width: 100.0,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Color.fromARGB(203, 164, 88, 177), color: Colors.blueAccent,
borderRadius: BorderRadius.circular(4.0), borderRadius: BorderRadius.circular(8.0),
), ),
child: TextButton( child: TextButton(
onPressed: () { onPressed: () {
...@@ -177,7 +186,7 @@ class ParentHomePage extends StatelessWidget { ...@@ -177,7 +186,7 @@ class ParentHomePage extends StatelessWidget {
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => builder: (context) =>
ChildrenProfilePage(document, "P"), pChildrenProfilePage(document, "P"),
), ),
); );
}, },
...@@ -199,50 +208,6 @@ class ParentHomePage extends StatelessWidget { ...@@ -199,50 +208,6 @@ class ParentHomePage 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: Colors.blue,
// onTap: (index) {
// // Handle bottom navigation item tap
// switch (index) {
// case 0:
// 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;
// }
// },
// ),
bottomNavigationBar: BottomNavigationBar( bottomNavigationBar: BottomNavigationBar(
items: const [ items: const [
BottomNavigationBarItem( BottomNavigationBarItem(
...@@ -254,7 +219,7 @@ class ParentHomePage extends StatelessWidget { ...@@ -254,7 +219,7 @@ class ParentHomePage extends StatelessWidget {
label: 'Chat', label: 'Chat',
), ),
BottomNavigationBarItem( BottomNavigationBarItem(
icon: Icon(Icons.videogame_asset), icon: Icon(Icons.sports_baseball),
label: 'Games', label: 'Games',
), ),
BottomNavigationBarItem( BottomNavigationBarItem(
...@@ -262,44 +227,51 @@ class ParentHomePage extends StatelessWidget { ...@@ -262,44 +227,51 @@ class ParentHomePage extends StatelessWidget {
label: 'Profile', label: 'Profile',
), ),
], ],
selectedItemColor: Color(0xFF7A1FA0), selectedItemColor: Colors.blueAccent,
unselectedItemColor: Color(0xFFA9ABAD), unselectedItemColor: Colors.grey,
selectedLabelStyle: TextStyle(color: Color(0xFF7A1FA0)), currentIndex: 0,
unselectedLabelStyle: TextStyle(color: Color.fromARGB(0, 197, 16, 16)),
currentIndex: 0,
onTap: (index) { onTap: (index) {
// Handle bottom navigation item tap
switch (index) { switch (index) {
case 0: case 0:
break; // Navigate to Home
// Navigator.push(
// context,
// MaterialPageRoute(builder: (context) => ParentHomePage()),
// );
// break;
case 1: case 1:
// Navigate to Chat
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute(builder: (context) => ChatScreen()), MaterialPageRoute(builder: (context) => ChatScreen()),
); );
break; break;
case 2: case 2:
// Handle Game // Navigate to Games
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(builder: (context) => GamesPage()),
builder: (context) => GamesPage(
),
),
); );
break; break;
case 3: case 3:
// Navigate to Profile
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => TeacherProfilePage( builder: (context) => ParentProfilePage(
uid: user?.uid, uid: user?.uid,
), phoneNo: phoneNo,
role: role,
), ),
); ),
);
break; break;
} }
}, },
), ),
), ),
); );
} }
......
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/p_or_t.dart';
import 'package:mobile_application_kids/parenthome.dart';
class ParentProfilePage extends StatefulWidget {
final String? uid;
final String phoneNo;
final String role;
ParentProfilePage({required this.uid, required this.phoneNo, required this.role, Key? key});
@override
_ParentProfilePageState createState() => _ParentProfilePageState(uid!, phoneNo, role);
}
class _ParentProfilePageState extends State<ParentProfilePage> {
late User? user;
late String fullName = "";
late String email = "";
late String phoneNo = "";
final FirebaseAuth _auth = FirebaseAuth.instance;
late String uid;
late String role;
_ParentProfilePageState(this.uid, this.phoneNo, this.role);
@override
void initState() {
super.initState();
user = FirebaseAuth.instance.currentUser;
getUserData();
}
Future<void> getUserData() async {
try {
DocumentSnapshot documentSnapshot = await FirebaseFirestore.instance
.collection('users')
.doc(uid)
.get();
if (documentSnapshot.exists) {
Map<String, dynamic> targetDoc = documentSnapshot.data() as Map<String, dynamic>;
setState(() {
fullName = targetDoc['fullName'];
email = targetDoc['email'];
phoneNo = targetDoc['phoneNo'];
});
print("Full Name: $fullName, Email: $email, Phone Number: $phoneNo");
} else {
print("Document does not exist");
}
} catch (error) {
print("Error getting document: $error");
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(' '),
actions: [
Container(
alignment: Alignment.centerRight,
padding: EdgeInsets.only(right: 16),
child: Text('Parent Profile',
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: [
SizedBox(height: 20),
Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('lib/assets/parentprof.PNG'),
fit: BoxFit.fitHeight,
),
),
height: 300, // Adjust height as needed
),
Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(height: 10),
ListTile(
leading: Icon(Icons.person),
title: Text(
'Full Name: $fullName',
style: TextStyle(
fontSize: 18,
fontFamily: 'Poppins',
fontWeight: FontWeight.w400,
),
),
),
ListTile(
leading: Icon(Icons.email),
title: Text(
'Email: $email',
style: TextStyle(
fontSize: 18,
fontFamily: 'Poppins',
fontWeight: FontWeight.w400,
),
),
),
ListTile(
leading: Icon(Icons.phone),
title: Text(
'Phone Number: $phoneNo',
style: TextStyle(
fontSize: 18,
fontFamily: 'Poppins',
fontWeight: FontWeight.w400,
),
),
),
],
),
),
SizedBox(height: 20),
Center(
child: ElevatedButton(
onPressed: () => _signOut(context),
style: ElevatedButton.styleFrom(
primary: Colors.blueAccent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0),
),
),
child: Padding(
padding: const EdgeInsets.all(10.0),
child: Text(
'Sign Out',
style: TextStyle(color: const Color.fromARGB(255, 255, 255, 255)),
),
),
),
),
],
),
),
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: Colors.blue,
currentIndex: 2,
onTap: (index) {
if (index == 0) {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ParentHomePage(phoneNo, role)),
);
}
if (index == 1) {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ChatScreen()),
);
}
},
),
);
}
Future<void> _signOut(BuildContext context) async {
try {
await _auth.signOut();
Navigator.pushAndRemoveUntil(
context,
MaterialPageRoute(builder: (BuildContext context) => ParentTeacherPage(backgroundColor: Color.fromARGB(255, 255, 255, 255))),
(route) => false,
);
} catch (e) {
print('Error signing out: $e');
}
}
}
...@@ -37,15 +37,16 @@ class TeacherHomePage extends StatelessWidget { ...@@ -37,15 +37,16 @@ class TeacherHomePage extends StatelessWidget {
}, },
child: Scaffold( child: Scaffold(
appBar: AppBar( appBar: AppBar(
// leading: Padding( automaticallyImplyLeading: false,
// padding: const EdgeInsets.only(left: 20), centerTitle: false,
// child: SizedBox( title: Container(
// child: Image.asset( width: 230,
// 'lib/assets/logo.png', child: Image.asset(
// fit: BoxFit.contain, 'lib/assets/i2.png',
// ), fit: BoxFit.fitHeight,
// ), alignment: Alignment.topLeft,
// ), ),
),
actions: [ actions: [
IconButton( IconButton(
icon: Icon(Icons.notifications), icon: Icon(Icons.notifications),
...@@ -56,11 +57,11 @@ class TeacherHomePage extends StatelessWidget { ...@@ -56,11 +57,11 @@ class TeacherHomePage extends StatelessWidget {
], ],
), ),
body: Padding( body: Padding(
padding: const EdgeInsets.all(16.0), padding: const EdgeInsets.all(12.0),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
SizedBox(height: 20), SizedBox(height: 10),
Text( Text(
'Explore, learn, and play in our magical world of wonder!', 'Explore, learn, and play in our magical world of wonder!',
style: poppinsTextStyle.copyWith( style: poppinsTextStyle.copyWith(
...@@ -68,11 +69,14 @@ class TeacherHomePage extends StatelessWidget { ...@@ -68,11 +69,14 @@ class TeacherHomePage extends StatelessWidget {
fontSize: 13, fontSize: 13,
), ),
), ),
SizedBox(height: 10), SizedBox(height: 12),
Expanded( Expanded(
child: Image.asset( child: ClipRRect(
'lib/assets/teacherhome.png', borderRadius: BorderRadius.circular(10),
fit: BoxFit.contain, child: Image.asset(
'lib/assets/teacherhome.png',
fit: BoxFit.fitHeight,
),
), ),
), ),
Row( Row(
...@@ -89,6 +93,7 @@ class TeacherHomePage extends StatelessWidget { ...@@ -89,6 +93,7 @@ class TeacherHomePage extends StatelessWidget {
}, },
child: Row( child: Row(
children: [ children: [
SizedBox(height: 12),
Text( Text(
'Create New Class Room Here', 'Create New Class Room Here',
style: poppinsTextStyle.copyWith( style: poppinsTextStyle.copyWith(
...@@ -96,8 +101,9 @@ class TeacherHomePage extends StatelessWidget { ...@@ -96,8 +101,9 @@ class TeacherHomePage extends StatelessWidget {
fontSize: 16, fontSize: 16,
), ),
), ),
SizedBox(height: 12),
Container( Container(
margin: EdgeInsets.only(left: 20.0), margin: EdgeInsets.only(left: 23.0),
padding: EdgeInsets.all(8.0), padding: EdgeInsets.all(8.0),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.blueAccent, color: Colors.blueAccent,
...@@ -114,7 +120,7 @@ class TeacherHomePage extends StatelessWidget { ...@@ -114,7 +120,7 @@ class TeacherHomePage extends StatelessWidget {
], ],
), ),
Divider(), Divider(),
SizedBox(height: 10), SizedBox(height: 8),
Text( Text(
'Class Rooms', 'Class Rooms',
style: poppinsTextStyle.copyWith( style: poppinsTextStyle.copyWith(
......
...@@ -648,6 +648,14 @@ packages: ...@@ -648,6 +648,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.2" version: "2.3.2"
simple_gesture_detector:
dependency: transitive
description:
name: simple_gesture_detector
sha256: ba2cd5af24ff20a0b8d609cec3f40e5b0744d2a71804a2616ae086b9c19d19a3
url: "https://pub.dev"
source: hosted
version: "0.2.1"
sky_engine: sky_engine:
dependency: transitive dependency: transitive
description: flutter description: flutter
...@@ -717,6 +725,14 @@ packages: ...@@ -717,6 +725,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.0+1" version: "3.1.0+1"
table_calendar:
dependency: "direct main"
description:
name: table_calendar
sha256: "7f1270313c0cdb245b583ed8518982c01d4a7e95869b3c30abcbae3b642c45d0"
url: "https://pub.dev"
source: hosted
version: "3.0.8"
term_glyph: term_glyph:
dependency: transitive dependency: transitive
description: description:
......
...@@ -47,6 +47,7 @@ dependencies: ...@@ -47,6 +47,7 @@ dependencies:
url_launcher: ^6.1.14 url_launcher: ^6.1.14
cached_network_image: ^3.3.1 cached_network_image: ^3.3.1
charts_flutter: ^0.12.0 charts_flutter: ^0.12.0
table_calendar: ^3.0.8
dev_dependencies: dev_dependencies:
......
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