Commit 10e73d8d authored by Uditha Prabhasha 's avatar Uditha Prabhasha

update uditha

parent 4019eb83
No preview for this file type
......@@ -668,13 +668,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-17T10:38:35.142846Z",
"generator": "pub",
"generatorVersion": "3.0.1"
}
......@@ -442,8 +442,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
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"cloud_firestore","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/cloud_firestore-4.13.6/","native_build":true,"dependencies":["firebase_core"]},{"name":"firebase_auth","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_auth-4.15.3/","native_build":true,"dependencies":["firebase_core"]},{"name":"firebase_core","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_core-2.24.2/","native_build":true,"dependencies":[]},{"name":"firebase_storage","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_storage-11.6.0/","native_build":true,"dependencies":["firebase_core"]},{"name":"image_picker_ios","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.9+1/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.2/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"rive_common","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/rive_common-0.2.7/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.3.5/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/sqflite-2.3.2/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_ios-6.2.4/","native_build":true,"dependencies":[]},{"name":"video_player_avfoundation","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/video_player_avfoundation-2.4.11/","native_build":true,"dependencies":[]}],"android":[{"name":"cloud_firestore","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/cloud_firestore-4.13.6/","native_build":true,"dependencies":["firebase_core"]},{"name":"firebase_auth","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_auth-4.15.3/","native_build":true,"dependencies":["firebase_core"]},{"name":"firebase_core","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_core-2.24.2/","native_build":true,"dependencies":[]},{"name":"firebase_storage","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_storage-11.6.0/","native_build":true,"dependencies":["firebase_core"]},{"name":"flutter_plugin_android_lifecycle","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.17/","native_build":true,"dependencies":[]},{"name":"image_picker_android","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_android-0.8.9+3/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"path_provider_android","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/path_provider_android-2.2.2/","native_build":true,"dependencies":[]},{"name":"rive_common","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/rive_common-0.2.7/","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_android-2.2.1/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/sqflite-2.3.2/","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.0/","native_build":true,"dependencies":[]},{"name":"video_player_android","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/video_player_android-2.4.11/","native_build":true,"dependencies":[]}],"macos":[{"name":"cloud_firestore","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/cloud_firestore-4.13.6/","native_build":true,"dependencies":["firebase_core"]},{"name":"file_selector_macos","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+3/","native_build":true,"dependencies":[]},{"name":"firebase_auth","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_auth-4.15.3/","native_build":true,"dependencies":["firebase_core"]},{"name":"firebase_core","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_core-2.24.2/","native_build":true,"dependencies":[]},{"name":"firebase_storage","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_storage-11.6.0/","native_build":true,"dependencies":["firebase_core"]},{"name":"image_picker_macos","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+1/","native_build":false,"dependencies":["file_selector_macos"]},{"name":"path_provider_foundation","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.2/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"rive_common","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/rive_common-0.2.7/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.3.5/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/sqflite-2.3.2/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_macos-3.1.0/","native_build":true,"dependencies":[]}],"linux":[{"name":"file_selector_linux","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2+1/","native_build":true,"dependencies":[]},{"name":"image_picker_linux","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/","native_build":false,"dependencies":["file_selector_linux"]},{"name":"path_provider_linux","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[]},{"name":"shared_preferences_linux","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.3.2/","native_build":false,"dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_linux-3.1.1/","native_build":true,"dependencies":[]}],"windows":[{"name":"cloud_firestore","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/cloud_firestore-4.13.6/","native_build":true,"dependencies":["firebase_core"]},{"name":"file_selector_windows","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+1/","native_build":true,"dependencies":[]},{"name":"firebase_auth","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_auth-4.15.3/","native_build":true,"dependencies":["firebase_core"]},{"name":"firebase_core","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_core-2.24.2/","native_build":true,"dependencies":[]},{"name":"firebase_storage","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_storage-11.6.0/","native_build":true,"dependencies":["firebase_core"]},{"name":"image_picker_windows","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/","native_build":false,"dependencies":["file_selector_windows"]},{"name":"path_provider_windows","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/","native_build":false,"dependencies":[]},{"name":"rive_common","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/rive_common-0.2.7/","native_build":true,"dependencies":[]},{"name":"shared_preferences_windows","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.3.2/","native_build":false,"dependencies":["path_provider_windows"]},{"name":"url_launcher_windows","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.1/","native_build":true,"dependencies":[]}],"web":[{"name":"cloud_firestore_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/cloud_firestore_web-3.8.10/","dependencies":["firebase_core_web"]},{"name":"firebase_auth_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_auth_web-5.8.12/","dependencies":["firebase_core_web"]},{"name":"firebase_core_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_core_web-2.10.0/","dependencies":[]},{"name":"firebase_storage_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_storage_web-3.6.17/","dependencies":["firebase_core_web"]},{"name":"image_picker_for_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_for_web-2.2.0/","dependencies":[]},{"name":"rive_common","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/rive_common-0.2.7/","dependencies":[]},{"name":"shared_preferences_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_web-2.2.1/","dependencies":[]},{"name":"url_launcher_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.19/","dependencies":[]},{"name":"video_player_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/video_player_web-2.0.17/","dependencies":[]}]},"dependencyGraph":[{"name":"cloud_firestore","dependencies":["cloud_firestore_web","firebase_core"]},{"name":"cloud_firestore_web","dependencies":["firebase_core","firebase_core_web"]},{"name":"file_selector_linux","dependencies":[]},{"name":"file_selector_macos","dependencies":[]},{"name":"file_selector_windows","dependencies":[]},{"name":"firebase_auth","dependencies":["firebase_auth_web","firebase_core"]},{"name":"firebase_auth_web","dependencies":["firebase_core","firebase_core_web"]},{"name":"firebase_core","dependencies":["firebase_core_web"]},{"name":"firebase_core_web","dependencies":[]},{"name":"firebase_storage","dependencies":["firebase_core","firebase_storage_web"]},{"name":"firebase_storage_web","dependencies":["firebase_core","firebase_core_web"]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"image_picker","dependencies":["image_picker_android","image_picker_for_web","image_picker_ios","image_picker_linux","image_picker_macos","image_picker_windows"]},{"name":"image_picker_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_picker_for_web","dependencies":[]},{"name":"image_picker_ios","dependencies":[]},{"name":"image_picker_linux","dependencies":["file_selector_linux"]},{"name":"image_picker_macos","dependencies":["file_selector_macos"]},{"name":"image_picker_windows","dependencies":["file_selector_windows"]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"rive_common","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]},{"name":"video_player","dependencies":["video_player_android","video_player_avfoundation","video_player_web"]},{"name":"video_player_android","dependencies":[]},{"name":"video_player_avfoundation","dependencies":[]},{"name":"video_player_web","dependencies":[]}],"date_created":"2024-03-10 00:48:50.540132","version":"3.10.1"}
\ No newline at end of file
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"cloud_firestore","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/cloud_firestore-4.13.6/","native_build":true,"dependencies":["firebase_core"]},{"name":"firebase_auth","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_auth-4.15.3/","native_build":true,"dependencies":["firebase_core"]},{"name":"firebase_core","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_core-2.24.2/","native_build":true,"dependencies":[]},{"name":"firebase_storage","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_storage-11.6.0/","native_build":true,"dependencies":["firebase_core"]},{"name":"image_picker_ios","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.9+1/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.2/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"rive_common","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/rive_common-0.2.7/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.3.5/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/sqflite-2.3.2/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_ios-6.2.4/","native_build":true,"dependencies":[]},{"name":"video_player_avfoundation","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/video_player_avfoundation-2.4.11/","native_build":true,"dependencies":[]}],"android":[{"name":"cloud_firestore","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/cloud_firestore-4.13.6/","native_build":true,"dependencies":["firebase_core"]},{"name":"firebase_auth","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_auth-4.15.3/","native_build":true,"dependencies":["firebase_core"]},{"name":"firebase_core","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_core-2.24.2/","native_build":true,"dependencies":[]},{"name":"firebase_storage","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_storage-11.6.0/","native_build":true,"dependencies":["firebase_core"]},{"name":"flutter_plugin_android_lifecycle","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.17/","native_build":true,"dependencies":[]},{"name":"image_picker_android","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_android-0.8.9+3/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"path_provider_android","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/path_provider_android-2.2.2/","native_build":true,"dependencies":[]},{"name":"rive_common","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/rive_common-0.2.7/","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_android-2.2.1/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/sqflite-2.3.2/","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.0/","native_build":true,"dependencies":[]},{"name":"video_player_android","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/video_player_android-2.4.11/","native_build":true,"dependencies":[]}],"macos":[{"name":"cloud_firestore","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/cloud_firestore-4.13.6/","native_build":true,"dependencies":["firebase_core"]},{"name":"file_selector_macos","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+3/","native_build":true,"dependencies":[]},{"name":"firebase_auth","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_auth-4.15.3/","native_build":true,"dependencies":["firebase_core"]},{"name":"firebase_core","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_core-2.24.2/","native_build":true,"dependencies":[]},{"name":"firebase_storage","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_storage-11.6.0/","native_build":true,"dependencies":["firebase_core"]},{"name":"image_picker_macos","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+1/","native_build":false,"dependencies":["file_selector_macos"]},{"name":"path_provider_foundation","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.2/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"rive_common","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/rive_common-0.2.7/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.3.5/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/sqflite-2.3.2/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_macos-3.1.0/","native_build":true,"dependencies":[]}],"linux":[{"name":"file_selector_linux","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2+1/","native_build":true,"dependencies":[]},{"name":"image_picker_linux","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/","native_build":false,"dependencies":["file_selector_linux"]},{"name":"path_provider_linux","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[]},{"name":"shared_preferences_linux","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.3.2/","native_build":false,"dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_linux-3.1.1/","native_build":true,"dependencies":[]}],"windows":[{"name":"cloud_firestore","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/cloud_firestore-4.13.6/","native_build":true,"dependencies":["firebase_core"]},{"name":"file_selector_windows","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+1/","native_build":true,"dependencies":[]},{"name":"firebase_auth","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_auth-4.15.3/","native_build":true,"dependencies":["firebase_core"]},{"name":"firebase_core","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_core-2.24.2/","native_build":true,"dependencies":[]},{"name":"firebase_storage","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_storage-11.6.0/","native_build":true,"dependencies":["firebase_core"]},{"name":"image_picker_windows","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/","native_build":false,"dependencies":["file_selector_windows"]},{"name":"path_provider_windows","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/","native_build":false,"dependencies":[]},{"name":"rive_common","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/rive_common-0.2.7/","native_build":true,"dependencies":[]},{"name":"shared_preferences_windows","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.3.2/","native_build":false,"dependencies":["path_provider_windows"]},{"name":"url_launcher_windows","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.1/","native_build":true,"dependencies":[]}],"web":[{"name":"cloud_firestore_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/cloud_firestore_web-3.8.10/","dependencies":["firebase_core_web"]},{"name":"firebase_auth_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_auth_web-5.8.12/","dependencies":["firebase_core_web"]},{"name":"firebase_core_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_core_web-2.10.0/","dependencies":[]},{"name":"firebase_storage_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_storage_web-3.6.17/","dependencies":["firebase_core_web"]},{"name":"image_picker_for_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_for_web-2.2.0/","dependencies":[]},{"name":"rive_common","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/rive_common-0.2.7/","dependencies":[]},{"name":"shared_preferences_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_web-2.2.1/","dependencies":[]},{"name":"url_launcher_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.19/","dependencies":[]},{"name":"video_player_web","path":"/Users/avishkanew/.pub-cache/hosted/pub.dev/video_player_web-2.0.17/","dependencies":[]}]},"dependencyGraph":[{"name":"cloud_firestore","dependencies":["cloud_firestore_web","firebase_core"]},{"name":"cloud_firestore_web","dependencies":["firebase_core","firebase_core_web"]},{"name":"file_selector_linux","dependencies":[]},{"name":"file_selector_macos","dependencies":[]},{"name":"file_selector_windows","dependencies":[]},{"name":"firebase_auth","dependencies":["firebase_auth_web","firebase_core"]},{"name":"firebase_auth_web","dependencies":["firebase_core","firebase_core_web"]},{"name":"firebase_core","dependencies":["firebase_core_web"]},{"name":"firebase_core_web","dependencies":[]},{"name":"firebase_storage","dependencies":["firebase_core","firebase_storage_web"]},{"name":"firebase_storage_web","dependencies":["firebase_core","firebase_core_web"]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"image_picker","dependencies":["image_picker_android","image_picker_for_web","image_picker_ios","image_picker_linux","image_picker_macos","image_picker_windows"]},{"name":"image_picker_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_picker_for_web","dependencies":[]},{"name":"image_picker_ios","dependencies":[]},{"name":"image_picker_linux","dependencies":["file_selector_linux"]},{"name":"image_picker_macos","dependencies":["file_selector_macos"]},{"name":"image_picker_windows","dependencies":["file_selector_windows"]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"rive_common","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]},{"name":"video_player","dependencies":["video_player_android","video_player_avfoundation","video_player_web"]},{"name":"video_player_android","dependencies":[]},{"name":"video_player_avfoundation","dependencies":[]},{"name":"video_player_web","dependencies":[]}],"date_created":"2024-03-17 16:08:35.268387","version":"3.10.1"}
\ No newline at end of file
......@@ -214,7 +214,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 +230,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,
),
)
],
......
......@@ -86,7 +86,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();
}
......
......@@ -116,9 +116,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 +136,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 +158,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 +180,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 +202,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,
)),
),
),
......
......@@ -138,7 +138,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();
}
......@@ -198,7 +198,7 @@ class ChildrenHomePage extends StatelessWidget {
Navigator.of(context).push(
MaterialPageRoute(
builder: (_) =>
ChildrenProfilePage(document),
ChildrenProfilePage(document, 'C'),
),
);
},
......
......@@ -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),
),
),
),
......
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:mobile_application_kids/games.dart';
import 'package:mobile_application_kids/login.dart';
import 'package:mobile_application_kids/teacherchat.dart';
import 'package:mobile_application_kids/teacherhome.dart';
......@@ -108,7 +107,7 @@ class _TeacherProfilePageState extends State<TeacherProfilePage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Bright Sparkle ',
'Bright Sparkle',
style: TextStyle(
color: Color(0xFF11324D),
fontSize: 24,
......@@ -155,7 +154,7 @@ class _TeacherProfilePageState extends State<TeacherProfilePage> {
SizedBox(
width: 148,
child: Text(
'Bright Spark',
' ',
style: TextStyle(
color: Color(0xFF473D7F),
fontSize: 23,
......@@ -488,54 +487,33 @@ class _TeacherProfilePageState extends State<TeacherProfilePage> {
icon: Icon(Icons.chat),
label: 'Chat',
),
BottomNavigationBarItem(
icon: Icon(Icons.videogame_asset),
label: 'Games',
),
BottomNavigationBarItem(
icon: Icon(Icons.person),
label: 'Profile',
),
],
selectedItemColor: Color(0xFF7A1FA0),
unselectedItemColor: Color(0xFFA9ABAD),
selectedLabelStyle: TextStyle(color: Color(0xFF7A1FA0)),
unselectedLabelStyle: TextStyle(color: Color.fromARGB(0, 197, 16, 16)),
currentIndex: 3,
selectedItemColor: Colors.blue,
currentIndex: 2,
onTap: (index) {
switch (index) {
case 0:
// Handle bottom navigation item tap
if (index == 0) {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => TeacherHomePage()),
);
break;
case 1:
}
if (index == 1) {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ChatScreen()),
);
break;
case 2:
// Handle Game
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => GamesPage(
),
),
);
break;
case 3:
}
if (index == 2) {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => TeacherProfilePage(
uid: user?.uid,
),
),
builder: (context) => TeacherProfilePage(uid: user?.uid)),
);
break;
}
},
),
......
......@@ -44,7 +44,7 @@ class ActivitiesPage extends StatelessWidget {
children: [
Expanded(
child: ActivityBox(
title: 'Social Activities',
title: 'Coloring Book',
icon: Icons.group,
),
),
......@@ -62,7 +62,7 @@ class ActivitiesPage extends StatelessWidget {
children: [
Expanded(
child: ActivityBox(
title: 'Kid Activity',
title: 'Environment',
icon: Icons.child_care,
),
),
......
......@@ -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:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:jema_app/progressReport.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/progressReport.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:url_launcher/url_launcher.dart';
import 'ActivitiesView.dart';
......@@ -17,8 +17,11 @@ class ChildrenProfilePage extends StatelessWidget {
late User? user;
late final Stream<QuerySnapshot> _usersStream, _usersStream2;
int _age = 0;
String role = '';
late final userDetails;
ChildrenProfilePage(document) {
ChildrenProfilePage(document, role) {
print(role);
this.role = role;
this.userDetails = document;
user = FirebaseAuth.instance.currentUser;
initializeStreams();
......@@ -558,7 +561,8 @@ class ChildrenProfilePage extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
role == "P"
? Container(
width: 359,
height: 178,
child: Column(
......@@ -572,7 +576,8 @@ class ChildrenProfilePage extends StatelessWidget {
clipBehavior: Clip.antiAlias,
decoration: ShapeDecoration(
image: DecorationImage(
image: AssetImage("lib/assets/banner.png"),
image:
AssetImage("lib/assets/banner.png"),
fit: BoxFit.cover,
),
shape: RoundedRectangleBorder(
......@@ -592,8 +597,10 @@ class ChildrenProfilePage extends StatelessWidget {
Container(
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment:
MainAxisAlignment.start,
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Container(
padding: const EdgeInsets.symmetric(
......@@ -637,7 +644,8 @@ class ChildrenProfilePage extends StatelessWidget {
),
],
),
),
)
: Container(),
SizedBox(
height: 10,
),
......@@ -652,7 +660,10 @@ class ChildrenProfilePage extends StatelessWidget {
),
),
const SizedBox(height: 20),
SingleChildScrollView(
Padding(
padding: EdgeInsets.only(
left: MediaQuery.of(context).size.width * 0.04),
child: SingleChildScrollView(
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
......@@ -663,12 +674,14 @@ class ChildrenProfilePage extends StatelessWidget {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ReportKidsViewPage(
builder: (context) =>
ReportKidsViewPage(
sid: userDetails.id)),
);
},
child: Container(
width: MediaQuery.of(context).size.width * 0.4,
width:
MediaQuery.of(context).size.width * 0.4,
height: 135,
child: Stack(
children: [
......@@ -751,7 +764,8 @@ class ChildrenProfilePage extends StatelessWidget {
color: Color(0xFF8DAEAE),
fontSize: 10.55,
fontFamily: 'Roboto',
fontWeight: FontWeight.w400,
fontWeight:
FontWeight.w400,
height: 0,
),
),
......@@ -859,7 +873,8 @@ class ChildrenProfilePage extends StatelessWidget {
color: Color(0xFF8DAEAE),
fontSize: 10.55,
fontFamily: 'Roboto',
fontWeight: FontWeight.w400,
fontWeight:
FontWeight.w400,
height: 0,
),
),
......@@ -876,6 +891,7 @@ class ChildrenProfilePage extends StatelessWidget {
],
),
),
),
],
),
),
......
......@@ -54,64 +54,112 @@ class ClassroomViewPage extends StatelessWidget {
),
),
SizedBox(height: 10),
Center(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
width: MediaQuery.of(context).size.width * 0.9,
height: MediaQuery.of(context).size.height / 20,
child: SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Container(
height: 35.0,
width: 120.0,
decoration: BoxDecoration(
color: Color.fromARGB(203, 164, 88, 177),
borderRadius: BorderRadius.circular(4.0),
child: SingleChildScrollView(
scrollDirection: Axis
.horizontal, // Enable horizontal scrolling
child: Container(
width: 333,
padding: const EdgeInsets.symmetric(
horizontal: 56, vertical: 5),
decoration: ShapeDecoration(
color: Color.fromARGB(255, 255, 255, 255),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(6)),
shadows: [
BoxShadow(
color: Color(0x3F000000),
blurRadius: 6,
offset: Offset(0, 1),
spreadRadius: 0,
)
],
),
child: TextButton(
onPressed: () {
Navigator.push(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
width: 32,
height: 32,
decoration: ShapeDecoration(
image: DecorationImage(
image: AssetImage(
'lib/assets/Vector 2.png'),
fit: BoxFit.fill,
),
shape: OvalBorder(),
),
),
const SizedBox(width: 40),
FutureBuilder<String>(
future: getStudentCount(),
builder: (context, snapshot) {
if (snapshot.connectionState ==
ConnectionState.waiting) {
return CircularProgressIndicator(); // Show loading indicator
}
if (snapshot.hasError) {
return Text(
'Error: ${snapshot.error}'); // Show error message
}
// Use the result of getStudentCount
return Text(
'Children ' +
(snapshot.data ??
'0'), // Default to '0' if data is null
style: TextStyle(
color: Colors.black,
fontSize: 12,
fontFamily: 'Poppins',
fontWeight: FontWeight.w400,
),
);
},
),
const SizedBox(width: 8),
GestureDetector(
onTap: () => Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
AddStudentPage(classname: documents)),
);
},
child: Text(
'Add Student',
style: TextStyle(
AddStudentPage(
classname: documents)),
),
child: Container(
margin: EdgeInsets.only(left: 8.0),
decoration: BoxDecoration(
color:
Color.fromARGB(203, 164, 88, 177),
borderRadius:
BorderRadius.circular(4.20),
),
child: Icon(
Icons.add,
color: Colors.white,
),
),
),
],
),
SizedBox(height: 10),
Padding(
padding: EdgeInsets.fromLTRB(width * 0.1, 20, width * 0.1, 20),
child: Container(
width: 293,
height: 44,
decoration: ShapeDecoration(
color: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8),
),
shadows: [
BoxShadow(
color: Color(0x3F000000),
blurRadius: 4,
offset: Offset(0, 1),
spreadRadius: 0,
),
],
),
child: TextField(
controller: _searchController,
onChanged: (value) {
_searchTermController.add(value);
},
decoration: InputDecoration(
hintText: 'Search',
border: InputBorder.none,
icon: Padding(
padding: const EdgeInsets.all(8.0),
child: Icon(Icons.search),
],
),
suffixIcon: Icon(Icons.mic),
contentPadding: EdgeInsets.all(8),
),
),
),
......@@ -646,4 +694,20 @@ class ClassroomViewPage extends StatelessWidget {
),
);
}
Future<String> getStudentCount() async {
try {
final QuerySnapshot<Map<String, dynamic>> snapshot =
await FirebaseFirestore.instance
.collection('students')
.where('className', isEqualTo: documents)
.get();
final int count = snapshot.size;
return count.toString();
} catch (e) {
print("Error getting student count: $e");
return '0';
}
}
}
......@@ -309,4 +309,3 @@ class _KidsReportPageState extends State<KidsReportPage> {
)..show();
}
}
\ No newline at end of file
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:mobile_application_kids/teacherhome.dart';
import 'ChatScreen.dart';
import 'TeacherProfile.dart';
import 'kidsReport.dart'; // Import the AddClassroomPage file
class ReportKidsViewPage extends StatelessWidget {
late User? user;
late final Stream<QuerySnapshot> _usersStream;
late final Stream<QuerySnapshot> _reportsStream;
late String sid;
ReportKidsViewPage({sid}) {
this.sid = sid;
print(sid);
user = FirebaseAuth.instance.currentUser;
ReportKidsViewPage({required this.sid}) {
initializeStreams();
}
void initializeStreams() {
_usersStream = FirebaseFirestore.instance
_reportsStream = FirebaseFirestore.instance
.collection('reports')
.where('sId', isEqualTo: sid)
.snapshots();
......@@ -27,325 +18,80 @@ class ReportKidsViewPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () async {
// Disable the back button press
return false;
},
child: Scaffold(
return Scaffold(
appBar: AppBar(
leading: IconButton(
icon: Icon(Icons.arrow_back),
onPressed: () {
Navigator.of(context).pop();
},
),
actions: [
Text(
'Report ',
style: TextStyle(
color: Color(0xFF554994),
fontSize: 24,
fontFamily: 'Poppins',
fontWeight: FontWeight.w700,
height: 0.04,
letterSpacing: -0.96,
),
)
],
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Report View',
style: TextStyle(
color: Color(0xFF21205B),
fontSize: 16,
fontFamily: 'Poppins',
fontWeight: FontWeight.w500,
height: 0.06,
title: Text('Student Report'),
),
),
SizedBox(height: 30),
Expanded(
child: StreamBuilder<QuerySnapshot>(
stream: _usersStream,
body: StreamBuilder<QuerySnapshot>(
stream: _reportsStream,
builder: (context, snapshot) {
print("--------------------------------------");
print(snapshot.data!.docs.length);
if (snapshot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
return Center(child: CircularProgressIndicator());
}
if (snapshot.hasError) {
return Text('Error: ${snapshot.error}');
return Center(child: Text('Error: ${snapshot.error}'));
}
var itemCount = snapshot.data!.docs.length;
return GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount:
1, // Adjust this value to control the number of items per row
crossAxisSpacing:
8.0, // Adjust spacing between items horizontally
mainAxisSpacing:
8.0, // Adjust spacing between items vertically
),
itemCount: itemCount,
itemBuilder: (context, index) {
var document = snapshot.data!.docs[index];
index++;
var _valu = document['q' + index.toString()];
return Container(
color: Color(0xFFE5E5E5),
child: SingleChildScrollView(
padding: const EdgeInsets.all(8.0),
child: Column(
children: [
Container(
// decoration: BoxDecoration(
// borderRadius: BorderRadius.circular(20),
// boxShadow: [
// BoxShadow(
// color: Colors.black,
// offset: const Offset(
// 3.0,
// 3.0,
// ), //Offset
// blurRadius: 10.0,
// spreadRadius: 2.0,
// ), //BoxShadow
// BoxShadow(
// color: Colors.white,
// offset: const Offset(0.0, 0.0),
// blurRadius: 0.0,
// spreadRadius: 0.0,
// ), //BoxShadow
// ],
// ), //BoxDecoration
var docs = snapshot.data!.docs;
if (docs.isEmpty) {
return Center(child: Text('No report data available'));
}
/** CheckboxListTile Widget **/
child: CheckboxListTile(
title: const Text('Understanding'),
subtitle: const Text(
'Understanding commands, Answer questions, Keeping eye contact, Following rules.'),
// secondary: CircleAvatar(
// backgroundImage: NetworkImage(
// "https://pbs.twimg.com/profile_images/1304985167476523008/QNHrwL2q_400x400.jpg"), //NetworkImage
// radius: 20,
// ),
autofocus: false,
isThreeLine: true,
activeColor: Colors.green,
checkColor: Colors.white,
selected: document["q1"],
value: document["q1"],
onChanged: (bool? value) {
// setState(() {
// _valu1 = value ?? false;
// });
return ListView.builder(
itemCount: docs.length,
itemBuilder: (context, index) {
var document = docs[index].data() as Map<String, dynamic>;
return _buildReportItem('Report ${index + 1}', document);
},
), //CheckboxListTile
),
SizedBox(height: 20),
Container(
// decoration: BoxDecoration(
// borderRadius: BorderRadius.circular(20),
// boxShadow: [
// BoxShadow(
// color: Colors.black,
// offset: const Offset(
// 3.0,
// 3.0,
// ), //Offset
// blurRadius: 10.0,
// spreadRadius: 2.0,
// ), //BoxShadow
// BoxShadow(
// color: Colors.white,
// offset: const Offset(0.0, 0.0),
// blurRadius: 0.0,
// spreadRadius: 0.0,
// ), //BoxShadow
// ],
// ), //BoxDecoration
/** CheckboxListTile Widget **/
child: CheckboxListTile(
title: const Text('Movements'),
subtitle: const Text(
'Motor activities, Correct posture.'),
// secondary: CircleAvatar(
// backgroundImage: NetworkImage(
// "https://pbs.twimg.com/profile_images/1304985167476523008/QNHrwL2q_400x400.jpg"), //NetworkImage
// radius: 20,
// ),
autofocus: false,
isThreeLine: true,
activeColor: Colors.green,
checkColor: Colors.white,
selected: document["q2"],
value: document["q2"],
onChanged: (bool? value) {
// setState(() {
// _valu2 = value ?? false;
// });
);
},
), //CheckboxListTile
),
SizedBox(height: 20),
Container(
// decoration: BoxDecoration(
// borderRadius: BorderRadius.circular(20),
// boxShadow: [
// BoxShadow(
// color: Colors.black,
// offset: const Offset(
// 3.0,
// 3.0,
// ), //Offset
// blurRadius: 10.0,
// spreadRadius: 2.0,
// ), //BoxShadow
// BoxShadow(
// color: Colors.white,
// offset: const Offset(0.0, 0.0),
// blurRadius: 0.0,
// spreadRadius: 0.0,
// ), //BoxShadow
// ],
// ), //BoxDecoration
);
}
/** CheckboxListTile Widget **/
child: CheckboxListTile(
title: const Text('Manipulating'),
subtitle: const Text(
'Can build/create new things, Knows how to handle accessories'),
// secondary: CircleAvatar(
// backgroundImage: NetworkImage(
// "https://pbs.twimg.com/profile_images/1304985167476523008/QNHrwL2q_400x400.jpg"), //NetworkImage
// radius: 20,
// ),
autofocus: false,
isThreeLine: true,
activeColor: Colors.green,
checkColor: Colors.white,
selected: document["q3"],
value: document["q3"],
onChanged: (bool? value) {
// setState(() {
// _valu3 = value ?? false;
// });
},
), //CheckboxListTile
),
SizedBox(height: 20),
Container(
// decoration: BoxDecoration(
// borderRadius: BorderRadius.circular(20),
// boxShadow: [
// BoxShadow(
// color: Colors.black,
// offset: const Offset(
// 3.0,
// 3.0,
// ), //Offset
// blurRadius: 10.0,
// spreadRadius: 2.0,
// ), //BoxShadow
// BoxShadow(
// color: Colors.white,
// offset: const Offset(0.0, 0.0),
// blurRadius: 0.0,
// spreadRadius: 0.0,
// ), //BoxShadow
// ],
// ), //BoxDecoration
Widget _buildReportItem(String title, Map<String, dynamic> data) {
// Exclude the 'sId' field from the data
data.remove('sId');
/** CheckboxListTile Widget **/
child: CheckboxListTile(
title: const Text('Socializing'),
subtitle: const Text(
'Play with groups, Help each other, Friendly towards peers.'),
// secondary: CircleAvatar(
// backgroundImage: NetworkImage(
// "https://pbs.twimg.com/profile_images/1304985167476523008/QNHrwL2q_400x400.jpg"), //NetworkImage
// radius: 20,
// ),
autofocus: false,
isThreeLine: true,
activeColor: Colors.green,
checkColor: Colors.white,
selected: document["q4"],
value: document["q4"],
onChanged: (bool? value) {
// setState(() {
// _valu4 = value ?? false;
// });
},
), //CheckboxListTile
),
],
return Card(
margin: EdgeInsets.symmetric(vertical: 8, horizontal: 16),
child: Padding(
padding: EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
title,
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
),
),
);
},
);
},
SizedBox(height: 8),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: data.entries.map((entry) {
return Padding(
padding: EdgeInsets.symmetric(vertical: 4),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
entry.key,
style: TextStyle(
fontWeight: FontWeight.bold,
),
),
Text(entry.value ?? 'Not provided'),
],
),
),
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',
);
}).toList(),
),
],
selectedItemColor: Colors.blue,
onTap: (index) {
switch (index) {
case 0:
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;
}
},
),
),
);
}
}
}
\ No newline at end of file
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.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;
import 'ChatScreen.dart';
import 'TeacherProfile.dart';
class progressReport extends StatefulWidget {
@override
_progressReportState createState() => _progressReportState();
}
class _progressReportState extends State<progressReport> {
late User? user;
late final Stream<QuerySnapshot> _usersStream;
int absCount = 0;
int preCount = 0;
@override
void initState() {
super.initState();
user = FirebaseAuth.instance.currentUser;
initializeStreams();
getAllStudentCountPresentAbs();
}
Map<String, double> dataMap = {
"Good": 0,
"Netural": 0,
"Week": 0,
};
void initializeStreams() {
_usersStream = FirebaseFirestore.instance
.collection('students')
.where('user', isEqualTo: user?.uid)
.snapshots();
}
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () async {
// Disable the back button press
return false;
},
child: Scaffold(
appBar: AppBar(
leading: IconButton(
icon: Icon(Icons.arrow_back),
onPressed: () {
Navigator.of(context).pop();
},
),
actions: [
Text(
'Progress Report ',
style: TextStyle(
color: Color(0xFF554994),
fontSize: 24,
fontFamily: 'Poppins',
fontWeight: FontWeight.w700,
height: 0.04,
letterSpacing: -0.96,
),
)
],
),
body: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
// Text(
// 'Activity Scale ',
// style: TextStyle(
// color: Color(0xFF11324D),
// fontSize: 24,
// fontFamily: 'Poppins',
// fontWeight: FontWeight.w500,
// height: 0.04,
// letterSpacing: -0.96,
// ),
// ),
Padding(
padding: const EdgeInsets.fromLTRB(5, 5, 0, 5),
child: Container(
width: 358,
height: 362,
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
width: double.infinity,
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Activity Scale ',
style: TextStyle(
color: Color(0xFF21205B),
fontSize: 16,
fontFamily: 'Poppins',
fontWeight: FontWeight.w500,
height: 0.06,
),
),
],
),
),
const SizedBox(height: 30),
Container(
width: double.infinity,
height: 316,
padding: const EdgeInsets.only(
top: 16,
left: 18,
right: 17,
bottom: 18,
),
clipBehavior: Clip.antiAlias,
decoration: ShapeDecoration(
color: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8)),
shadows: [
BoxShadow(
color: Color(0x3F000000),
blurRadius: 3,
offset: Offset(0, 1),
spreadRadius: 0,
)
],
),
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
width: 300,
height: 282,
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Container(
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment:
MainAxisAlignment.start,
crossAxisAlignment:
CrossAxisAlignment.center,
children: [
SizedBox(
width: 157,
height: 13,
child: Text(
' ',
style: TextStyle(
color: Color(0xFF2B3674),
fontSize: 14,
fontFamily: 'Poppins',
fontWeight: FontWeight.w600,
height: 0.07,
letterSpacing: -0.28,
),
),
),
],
),
),
Center(
child: Container(
width: 300,
height: 250,
child: Stack(
children: [
PieChart(
dataMap: dataMap,
chartType: ChartType.disc,
chartRadius:
MediaQuery.of(context)
.size
.width /
2.2,
colorList: [
Color(0xFFFFD452),
Color(0xFFCE7BB0),
Color(0xFFFF8080)
],
legendOptions: LegendOptions(
showLegendsInRow: true,
legendPosition:
LegendPosition.bottom,
showLegends: true,
legendTextStyle: TextStyle(
fontWeight:
FontWeight.bold),
),
chartValuesOptions:
ChartValuesOptions(
showChartValueBackground:
true,
showChartValues: true,
showChartValuesInPercentage:
true,
showChartValuesOutside: false,
),
),
],
),
),
),
],
),
),
],
),
),
],
),
)),
SizedBox(
width: 10,
),
Padding(
padding: const EdgeInsets.fromLTRB(5, 5, 0, 5),
child: Container(
width: 358,
height: 362,
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
width: double.infinity,
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'LD Director ',
style: TextStyle(
color: Color(0xFF21205B),
fontSize: 16,
fontFamily: 'Poppins',
fontWeight: FontWeight.w500,
height: 0.06,
),
),
],
),
),
const SizedBox(height: 30),
Container(
width: double.infinity,
height: 316,
padding: const EdgeInsets.only(
top: 16,
left: 18,
right: 17,
bottom: 18,
),
clipBehavior: Clip.antiAlias,
decoration: ShapeDecoration(
color: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8)),
shadows: [
BoxShadow(
color: Color(0x3F000000),
blurRadius: 3,
offset: Offset(0, 1),
spreadRadius: 0,
)
],
),
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
width: 300,
height: 282,
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Container(
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment:
MainAxisAlignment.start,
crossAxisAlignment:
CrossAxisAlignment.center,
children: [
SizedBox(
width: 157,
height: 13,
child: Text(
' ',
style: TextStyle(
color: Color(0xFF2B3674),
fontSize: 14,
fontFamily: 'Poppins',
fontWeight: FontWeight.w600,
height: 0.07,
letterSpacing: -0.28,
),
),
),
],
),
),
Center(
child: Container(
width: 300,
height: 250,
child: Stack(
children: [
charts.BarChart(
_createSampleData(),
animate: true,
vertical:
true, // To display horizontal bar chart
barRendererDecorator:
charts.BarLabelDecorator<
String>(),
domainAxis:
charts.OrdinalAxisSpec(),
),
],
),
),
),
],
),
),
],
),
),
],
),
)),
Padding(
padding: const EdgeInsets.fromLTRB(5, 5, 0, 5),
child: Container(
width: 358,
height: 362,
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
width: double.infinity,
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Assement Progress ',
style: TextStyle(
color: Color(0xFF21205B),
fontSize: 16,
fontFamily: 'Poppins',
fontWeight: FontWeight.w500,
height: 0.06,
),
),
],
),
),
const SizedBox(height: 30),
Container(
width: double.infinity,
height: 316,
padding: const EdgeInsets.only(
top: 16,
left: 18,
right: 17,
bottom: 18,
),
clipBehavior: Clip.antiAlias,
decoration: ShapeDecoration(
color: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8)),
shadows: [
BoxShadow(
color: Color(0x3F000000),
blurRadius: 3,
offset: Offset(0, 1),
spreadRadius: 0,
)
],
),
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
width: 300,
height: 282,
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Container(
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment:
MainAxisAlignment.start,
crossAxisAlignment:
CrossAxisAlignment.center,
children: [
SizedBox(
width: 157,
height: 13,
child: Text(
' ',
style: TextStyle(
color: Color(0xFF2B3674),
fontSize: 14,
fontFamily: 'Poppins',
fontWeight: FontWeight.w600,
height: 0.07,
letterSpacing: -0.28,
),
),
),
],
),
),
Center(
child: Container(
width: 300,
height: 250,
child: Stack(
children: [
charts.BarChart(
_createSampleData(),
animate: true,
vertical:
true, // To display horizontal bar chart
barRendererDecorator:
charts.BarLabelDecorator<
String>(),
domainAxis:
charts.OrdinalAxisSpec(),
),
],
),
),
),
],
),
),
],
),
),
],
),
)),
],
),
),
),
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) async {
final prefs = await SharedPreferences.getInstance();
String rool = prefs.get('rool').toString();
// 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)),
);
}
},
),
),
);
}
Stream<QuerySnapshot> getStudentsStream(String genderFilter, int isCheck) {
return FirebaseFirestore.instance
.collection('students')
.where('user', isEqualTo: user?.uid)
.where('Sex', isEqualTo: genderFilter)
.where('isCheck', isEqualTo: isCheck)
.snapshots();
}
Future<String> getMaleStudentCount(String sex, int isCheck) async {
try {
QuerySnapshot snapshot = await getStudentsStream(sex, isCheck).first;
return snapshot.size.toString();
} catch (e) {
print('Error getting male student count: $e');
return '0';
}
}
Stream<QuerySnapshot> getAllStudentsStream(int isCheck) {
return FirebaseFirestore.instance
.collection('students')
.where('user', isEqualTo: user?.uid)
.where('isCheck', isEqualTo: isCheck)
.snapshots();
}
Future<String> getAllStudentCount(int isCheck) async {
try {
QuerySnapshot snapshot = await getAllStudentsStream(isCheck).first;
print('size' + snapshot.size.toString());
return snapshot.size.toString();
} catch (e) {
print('Error getting male student count: $e');
return '0';
}
}
Stream<QuerySnapshot> getAllStudentsStreams() {
return FirebaseFirestore.instance
.collection('students')
.where('user', isEqualTo: user?.uid)
.snapshots();
}
Future<void> getAllStudentCountPresentAbs() async {
try {
QuerySnapshot snapshot2 = await getAllStudentsStreams().first;
QuerySnapshot snapshot = await getAllStudentsStream(0).first;
QuerySnapshot snapshotAbs = await getAllStudentsStream(1).first;
preCount = snapshot.size;
absCount = snapshotAbs.size;
var pre = (snapshot.size / snapshot2.size) * 100;
var abs = (snapshotAbs.size / snapshot2.size) * 100;
setState(() {
dataMap["Good"] = 25.0;
dataMap["Netural"] = 35.0;
dataMap["Week"] = 40.0;
});
print("ss" + preCount.round().toString());
} catch (e) {
print('Error getting male student count: $e');
}
}
List<charts.Series<SymptomData, String>> _createSampleData() {
final data = [
SymptomData('Dyslexia', 90, Colors.pink),
SymptomData('DCD', 3, Colors.purple),
SymptomData('ADHD', 5, Colors.green),
SymptomData('ASD', 2, Colors.blue),
];
return [
charts.Series<SymptomData, String>(
id: 'Symptoms',
domainFn: (SymptomData symptoms, _) => symptoms.symptom,
measureFn: (SymptomData symptoms, _) => symptoms.percentage,
colorFn: (SymptomData symptoms, _) => symptoms.color,
data: data,
labelAccessorFn: (SymptomData row, _) => '${row.percentage}%',
)
];
}
}
class SymptomData {
final String symptom;
final int percentage;
final charts.Color color;
SymptomData(this.symptom, this.percentage, Color color)
: this.color = charts.Color(
r: color.red,
g: color.green,
b: color.blue,
a: color.alpha,
);
}
......@@ -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),
),
),
),
......
......@@ -61,14 +61,14 @@ class _MyHomePageState extends State<MyHomePage> {
@override
void initState() {
super.initState();
Timer.periodic(Duration(milliseconds: 500), (timer) {
Timer.periodic(Duration(milliseconds: 800), (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(
......
......@@ -67,12 +67,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 +100,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),
......
......@@ -67,12 +67,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 +98,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),
......
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:mobile_application_kids/addclassroom.dart';
import 'package:mobile_application_kids/childrenProfile.dart';
import 'package:mobile_application_kids/classroomview.dart';
import 'package:mobile_application_kids/addclassroom.dart';
import 'package:mobile_application_kids/games.dart';
import 'package:mobile_application_kids/teacherchat.dart';
import 'ChatScreen.dart';
import 'TeacherProfile.dart';
import 'childrenProfile.dart';
class ParentHomePage extends StatelessWidget {
late User? user;
late final Stream<QuerySnapshot> _usersStream;
late String phoneNo;
late String role;
ParentHomePage(param0, role) {
this.role = role;
this.phoneNo = param0;
......@@ -30,6 +29,7 @@ class ParentHomePage extends StatelessWidget {
.snapshots();
}
// Define a TextStyle with the Poppins font
final TextStyle poppinsTextStyle = TextStyle(
fontFamily: 'Poppins',
);
......@@ -38,14 +38,24 @@ class ParentHomePage extends StatelessWidget {
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () async {
// Disable the back button press
return false;
},
child: Scaffold(
appBar: AppBar(
// leading: Flexible(
// child: Image.asset(
// 'lib/assets/logo.png',
// fit: BoxFit.contain,
// height: 150, // Adjust the height to make the logo bigger
// ),
// ),
actions: [
IconButton(
icon: Icon(Icons.notifications),
onPressed: () {},
onPressed: () {
// Handle notification icon press
},
),
],
),
......@@ -58,6 +68,7 @@ class ParentHomePage extends StatelessWidget {
Text(
'Explore, learn, and play in our magical world of wonder!',
style: poppinsTextStyle.copyWith(
// fontWeight: FontWeight.bold,
fontSize: 13,
),
),
......@@ -74,9 +85,11 @@ class ParentHomePage extends StatelessWidget {
children: [
TextButton(
onPressed: () {
// Navigate to the AddClassroomPage
Navigator.push(
context,
MaterialPageRoute(builder: (context) => AddClassroomPage()),
MaterialPageRoute(
builder: (context) => AddClassroomPage()),
);
},
child: Row(
......@@ -99,6 +112,7 @@ class ParentHomePage extends StatelessWidget {
child: StreamBuilder<QuerySnapshot>(
stream: _usersStream,
builder: (context, snapshot) {
print("--------------------------------------");
if (snapshot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
}
......@@ -106,6 +120,7 @@ class ParentHomePage extends StatelessWidget {
if (snapshot.hasError) {
return Text('Error: ${snapshot.error}');
}
var itemcount = snapshot.data!.docs.length;
return ListView.builder(
itemCount: snapshot.data!.docs.length,
......@@ -113,13 +128,16 @@ class ParentHomePage extends StatelessWidget {
var document = snapshot.data!.docs[index];
var className = document['className'];
var name = document['Firstname'];
print(document);
return Padding(
padding: const EdgeInsets.only(bottom: 8.0),
padding: const EdgeInsets.only(
bottom: 8.0), // Adjust the spacing as needed
child: ListTile(
leading: CircleAvatar(
radius: 27.0,
backgroundImage: AssetImage('lib/assets/classlogo.png'),
backgroundImage:
AssetImage('lib/assets/classlogo.png'),
),
title: Column(
crossAxisAlignment: CrossAxisAlignment.start,
......@@ -153,12 +171,13 @@ class ParentHomePage extends StatelessWidget {
),
child: TextButton(
onPressed: () {
print(document);
// Handle view class button press
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ChildrenProfilePage(
document,
),
builder: (context) =>
ChildrenProfilePage(document, "P"),
),
);
},
......@@ -180,6 +199,50 @@ 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(
items: const [
BottomNavigationBarItem(
......
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;
......
......@@ -49,12 +49,12 @@ class SignInUpPage extends StatelessWidget {
child: Container(
width: 200,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
borderRadius: BorderRadius.circular(8.0),
color: Color.fromARGB(255, 96, 188, 99),
),
child: Center(
child: Padding(
padding: const EdgeInsets.all(10.0),
padding: const EdgeInsets.all(12.0),
child: Text(
'Sign Up',
style: TextStyle(color: Colors.white),
......@@ -83,12 +83,12 @@ class SignInUpPage extends StatelessWidget {
child: Container(
width: 200,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
color: const Color.fromARGB(255, 213, 80, 236),
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(
'Sign In',
style: TextStyle(color: Colors.white),
......
......@@ -97,10 +97,10 @@ class TeacherHomePage extends StatelessWidget {
),
),
Container(
margin: EdgeInsets.only(left: 8.0),
margin: EdgeInsets.only(left: 20.0),
padding: EdgeInsets.all(8.0),
decoration: BoxDecoration(
color: Color.fromARGB(203, 164, 88, 177),
color: Colors.blueAccent,
borderRadius: BorderRadius.circular(8.0),
),
child: Icon(
......@@ -118,7 +118,7 @@ class TeacherHomePage extends StatelessWidget {
Text(
'Class Rooms',
style: poppinsTextStyle.copyWith(
fontSize: 16,
fontSize: 18,
fontWeight: FontWeight.bold,
),
),
......@@ -169,18 +169,18 @@ class TeacherHomePage extends StatelessWidget {
Text(
'Class $index',
style: poppinsTextStyle.copyWith(
fontSize: 12.0),
fontSize: 14.0),
),
],
),
],
),
trailing: Container(
height: 35.0,
width: 80.0,
height: 40.0,
width: 100.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: () {
......
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.
......@@ -96,6 +96,8 @@ 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