Commit 309435d3 authored by Sandunika Senavirathna's avatar Sandunika Senavirathna

Merge branch 'IT20639280' into 'master'

It20639280

See merge request !7
parents bdffde06 25e4d838
No preview for this file type
This diff is collapsed.
This diff is collapsed.
3.10.1 3.16.3
\ No newline at end of file \ No newline at end of file
# This is a generated file; do not edit or check into version control. # This is a generated file; do not edit or check into version control.
cloud_firestore=/Users/avishkanew/.pub-cache/hosted/pub.dev/cloud_firestore-4.13.6/ cloud_firestore=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/cloud_firestore-4.13.6/
cloud_firestore_web=/Users/avishkanew/.pub-cache/hosted/pub.dev/cloud_firestore_web-3.8.10/ cloud_firestore_web=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/cloud_firestore_web-3.8.10/
file_selector_linux=/Users/avishkanew/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2+1/ file_selector_linux=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2+1/
file_selector_macos=/Users/avishkanew/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+3/ file_selector_macos=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+3/
file_selector_windows=/Users/avishkanew/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+1/ file_selector_windows=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+1/
firebase_auth=/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_auth-4.15.3/ firebase_auth=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/firebase_auth-4.15.3/
firebase_auth_web=/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_auth_web-5.8.12/ firebase_auth_web=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/firebase_auth_web-5.8.12/
firebase_core=/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_core-2.24.2/ firebase_core=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/firebase_core-2.24.2/
firebase_core_web=/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_core_web-2.10.0/ firebase_core_web=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/firebase_core_web-2.10.0/
firebase_storage=/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_storage-11.6.0/ firebase_storage=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/firebase_storage-11.6.0/
firebase_storage_web=/Users/avishkanew/.pub-cache/hosted/pub.dev/firebase_storage_web-3.6.17/ firebase_storage_web=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/firebase_storage_web-3.6.17/
flutter_plugin_android_lifecycle=/Users/avishkanew/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.17/ flutter_plugin_android_lifecycle=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.17/
image_picker=/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker-1.0.7/ image_picker=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/image_picker-1.0.7/
image_picker_android=/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_android-0.8.9+3/ image_picker_android=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/image_picker_android-0.8.9+3/
image_picker_for_web=/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_for_web-2.2.0/ image_picker_for_web=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/image_picker_for_web-2.2.0/
image_picker_ios=/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.9+1/ image_picker_ios=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.9+1/
image_picker_linux=/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/ image_picker_linux=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/
image_picker_macos=/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+1/ image_picker_macos=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+1/
image_picker_windows=/Users/avishkanew/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/ image_picker_windows=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/
package_info_plus=/Users/avishkanew/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/ package_info_plus=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/package_info_plus-5.0.1/
path_provider=/Users/avishkanew/.pub-cache/hosted/pub.dev/path_provider-2.1.2/ path_provider=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/path_provider-2.1.2/
path_provider_android=/Users/avishkanew/.pub-cache/hosted/pub.dev/path_provider_android-2.2.2/ path_provider_android=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/path_provider_android-2.2.2/
path_provider_foundation=/Users/avishkanew/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.2/ path_provider_foundation=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/path_provider_foundation-2.3.2/
path_provider_linux=/Users/avishkanew/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/ path_provider_linux=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/
path_provider_windows=/Users/avishkanew/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/ path_provider_windows=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/
rive_common=/Users/avishkanew/.pub-cache/hosted/pub.dev/rive_common-0.2.7/ rive_common=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/rive_common-0.2.7/
shared_preferences=/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences-2.2.2/ shared_preferences=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/shared_preferences-2.2.2/
shared_preferences_android=/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_android-2.2.1/ shared_preferences_android=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/shared_preferences_android-2.2.1/
shared_preferences_foundation=/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.3.5/ shared_preferences_foundation=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.3.5/
shared_preferences_linux=/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.3.2/ shared_preferences_linux=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.3.2/
shared_preferences_web=/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_web-2.2.1/ shared_preferences_web=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/shared_preferences_web-2.2.2/
shared_preferences_windows=/Users/avishkanew/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.3.2/ shared_preferences_windows=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.3.2/
sqflite=/Users/avishkanew/.pub-cache/hosted/pub.dev/sqflite-2.3.2/ sqflite=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/sqflite-2.3.2/
url_launcher=/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher-6.1.14/ url_launcher=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/url_launcher-6.2.4/
url_launcher_android=/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.0/ url_launcher_android=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.0/
url_launcher_ios=/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_ios-6.2.4/ url_launcher_ios=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/url_launcher_ios-6.2.4/
url_launcher_linux=/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_linux-3.1.1/ url_launcher_linux=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/url_launcher_linux-3.1.1/
url_launcher_macos=/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_macos-3.1.0/ url_launcher_macos=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/url_launcher_macos-3.1.0/
url_launcher_web=/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.19/ url_launcher_web=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/url_launcher_web-2.2.3/
url_launcher_windows=/Users/avishkanew/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.1/ url_launcher_windows=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.1/
video_player=/Users/avishkanew/.pub-cache/hosted/pub.dev/video_player-2.7.2/ video_player=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/video_player-2.8.2/
video_player_android=/Users/avishkanew/.pub-cache/hosted/pub.dev/video_player_android-2.4.11/ video_player_android=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/video_player_android-2.4.11/
video_player_avfoundation=/Users/avishkanew/.pub-cache/hosted/pub.dev/video_player_avfoundation-2.4.11/ video_player_avfoundation=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/video_player_avfoundation-2.5.6/
video_player_web=/Users/avishkanew/.pub-cache/hosted/pub.dev/video_player_web-2.0.17/ video_player_web=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/video_player_web-2.1.3/
wakelock_plus=/Users/avishkanew/.pub-cache/hosted/pub.dev/wakelock_plus-1.1.4/ wakelock_plus=/Users/udithaprabhasha/.pub-cache/hosted/pub.dev/wakelock_plus-1.1.4/
This diff is collapsed.
No preview for this file type
...@@ -216,7 +216,7 @@ ...@@ -216,7 +216,7 @@
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
BuildIndependentTargetsInParallel = YES; BuildIndependentTargetsInParallel = YES;
LastUpgradeCheck = 1300; LastUpgradeCheck = 1430;
ORGANIZATIONNAME = ""; ORGANIZATIONNAME = "";
TargetAttributes = { TargetAttributes = {
331C8080294A63A400263BE5 = { 331C8080294A63A400263BE5 = {
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Scheme <Scheme
LastUpgradeVersion = "1300" LastUpgradeVersion = "1430"
version = "1.3"> version = "1.3">
<BuildAction <BuildAction
parallelizeBuildables = "YES" parallelizeBuildables = "YES"
......
File added
// import 'package:flutter/material.dart';
// import 'package:cloud_firestore/cloud_firestore.dart';
// import 'package:cached_network_image/cached_network_image.dart';
// import 'package:video_player/video_player.dart';
// class UserActivitiesScreen extends StatelessWidget {
// final String userId;
// UserActivitiesScreen({required this.userId});
// @override
// Widget build(BuildContext context) {
// return Scaffold(
// appBar: AppBar(
// title: Text('User Activities'),
// ),
// body: StreamBuilder<QuerySnapshot>(
// stream: FirebaseFirestore.instance
// .collection('activities')
// .where('user', isEqualTo: userId)
// .snapshots(),
// builder: (context, snapshot) {
// if (snapshot.connectionState == ConnectionState.waiting) {
// return CircularProgressIndicator(); // Loading indicator
// }
// if (snapshot.hasError) {
// return Text('Error: ${snapshot.error}'); // Error handling
// }
// if (snapshot.data == null || snapshot.data!.docs.isEmpty) {
// return Center(
// child: Text('No activities found for this user.'),
// ); // No activities found
// }
// return ListView(
// children: snapshot.data!.docs.map((document) {
// final videoUrl = document['videoUrl'];
// final imageUrl = document['imageUrl'];
// if (videoUrl != null) {
// return _buildVideoItem(videoUrl);
// } else if (imageUrl != null) {
// return _buildImageItem(imageUrl);
// } else {
// return SizedBox(); // Return an empty widget if neither video nor image URL is available
// }
// }).toList(),
// );
// },
// ),
// );
// }
// Widget _buildVideoItem(String videoUrl) {
// return ListTile(
// title: Text('Activity Video'),
// leading: FutureBuilder(
// future: VideoPlayerController.network(videoUrl).initialize(),
// builder: (context, snapshot) {
// if (snapshot.connectionState == ConnectionState.waiting) {
// return CircularProgressIndicator(); // Placeholder while video loads
// }
// if (snapshot.hasError) {
// return Text('Error: ${snapshot.error}');
// }
// if (snapshot.connectionState == ConnectionState.done) {
// try {
// final controller = VideoPlayerController.network(videoUrl);
// return AspectRatio(
// aspectRatio: controller.value.aspectRatio,
// child: VideoPlayer(controller),
// );
// } catch (e) {
// return Text('Error playing video: $e');
// }
// } else {
// return SizedBox(); // Return empty widget if still loading
// }
// },
// ),
// onTap: () {
// // Handle tap, e.g., navigate to a detail screen
// },
// );
// }
// Widget _buildImageItem(String imageUrl) {
// return ListTile(
// title: Text('Activity Image'),
// leading: CachedNetworkImage(
// imageUrl: imageUrl,
// placeholder: (context, url) =>
// CircularProgressIndicator(), // Placeholder while image loads
// errorWidget: (context, url, error) => Icon(Icons.error),
// ),
// onTap: () {
// // Handle tap, e.g., navigate to a detail screen
// },
// );
// }
// }
\ No newline at end of file
...@@ -190,29 +190,29 @@ class ChildrenActivity extends StatelessWidget { ...@@ -190,29 +190,29 @@ class ChildrenActivity extends StatelessWidget {
), ),
), ),
), ),
GestureDetector( // GestureDetector(
onTap: () { // onTap: () {
// Navigator.of(context).push(MaterialPageRoute( // Navigator.of(context).push(MaterialPageRoute(
// builder: (_) => ReportKidsPage( classroom: ), // builder: (_) => ReportKidsPage( classroom: ),
// )); // ));
}, // },
child: Padding( // child: Padding(
padding: const EdgeInsets.all(10.0), // padding: const EdgeInsets.all(10.0),
child: Container( // child: Container(
width: 170, // width: 170,
height: 85, // height: 85,
clipBehavior: Clip.antiAlias, // clipBehavior: Clip.antiAlias,
decoration: BoxDecoration( // decoration: BoxDecoration(
image: DecorationImage( // image: DecorationImage(
image: AssetImage( // image: AssetImage(
'lib/assets/ac6.png'), // 'lib/assets/ac6.png'),
fit: BoxFit // fit: BoxFit
.cover, // .cover,
)), // )),
), // ),
), // ),
), // ),
]), ]),
], ],
), ),
), ),
......
...@@ -429,11 +429,27 @@ class pChildrenProfilePage extends StatelessWidget { ...@@ -429,11 +429,27 @@ class pChildrenProfilePage extends StatelessWidget {
MainAxisAlignment.center, MainAxisAlignment.center,
crossAxisAlignment: crossAxisAlignment:
CrossAxisAlignment.center, CrossAxisAlignment.center,
// children: [
// GestureDetector(
// onTap: () {
// _getPhoneNumber(user?.uid);
// },
// child: Container(
// height: double.infinity,
// child: Row(
// mainAxisSize:
// MainAxisSize.min,
// mainAxisAlignment:
// MainAxisAlignment
// .start,
// crossAxisAlignment:
// CrossAxisAlignment
// .center,
children: [ children: [
GestureDetector( GestureDetector(
onTap: () { onTap: () => _getPhoneNumber(
_getPhoneNumber(user?.uid); context, user?.uid),
},
child: Container( child: Container(
height: double.infinity, height: double.infinity,
child: Row( child: Row(
...@@ -445,6 +461,7 @@ class pChildrenProfilePage extends StatelessWidget { ...@@ -445,6 +461,7 @@ class pChildrenProfilePage extends StatelessWidget {
crossAxisAlignment: crossAxisAlignment:
CrossAxisAlignment CrossAxisAlignment
.center, .center,
children: [ children: [
Icon( Icon(
Icons.call, Icons.call,
...@@ -900,45 +917,45 @@ class pChildrenProfilePage extends StatelessWidget { ...@@ -900,45 +917,45 @@ class pChildrenProfilePage extends StatelessWidget {
], ],
), ),
), ),
bottomNavigationBar: BottomNavigationBar( // bottomNavigationBar: BottomNavigationBar(
items: const [ // items: const [
BottomNavigationBarItem( // BottomNavigationBarItem(
icon: Icon(Icons.home), // icon: Icon(Icons.home),
label: 'Home', // label: 'Home',
), // ),
BottomNavigationBarItem( // BottomNavigationBarItem(
icon: Icon(Icons.chat), // icon: Icon(Icons.chat),
label: 'Chat', // label: 'Chat',
), // ),
BottomNavigationBarItem( // BottomNavigationBarItem(
icon: Icon(Icons.person), // icon: Icon(Icons.person),
label: 'Profile', // label: 'Profile',
), // ),
], // ],
selectedItemColor: Colors.blue, // selectedItemColor: Colors.blue,
onTap: (index) { // onTap: (index) {
// Handle bottom navigation item tap // // Handle bottom navigation item tap
if (index == 0) { // if (index == 0) {
Navigator.push( // Navigator.push(
context, // context,
MaterialPageRoute(builder: (context) => TeacherHomePage()), // MaterialPageRoute(builder: (context) => TeacherHomePage()),
); // );
} // }
if (index == 1) { // if (index == 1) {
Navigator.push( // Navigator.push(
context, // context,
MaterialPageRoute(builder: (context) => ChatScreen()), // MaterialPageRoute(builder: (context) => ChatScreen()),
); // );
} // }
if (index == 2) { // if (index == 2) {
Navigator.push( // Navigator.push(
context, // context,
MaterialPageRoute( // MaterialPageRoute(
builder: (context) => TeacherProfilePage(uid: user?.uid)), // builder: (context) => TeacherProfilePage(uid: user?.uid)),
); // );
} // }
}, // },
), // ),
), ),
); );
} }
...@@ -951,18 +968,61 @@ class pChildrenProfilePage extends StatelessWidget { ...@@ -951,18 +968,61 @@ class pChildrenProfilePage extends StatelessWidget {
} }
} }
Future<String?> _getPhoneNumber(userUID) async { // Future<String?> _getPhoneNumber(userUID) async {
// try {
// var snapshot = await FirebaseFirestore.instance
// .collection('students')
// .where('user', isEqualTo: userUID)
// .get();
// if (snapshot.docs.isNotEmpty) {
// // Assuming 'phone' is the field containing the phone number
// String mobile = snapshot.docs.first['Parentphone'];
// final url = 'tel:$mobile';
// _launchPhone(url);
// } else {
// return null; // Document not found
// }
// } catch (e) {
// print("Error getting phone number: $e");
// return null;
// }
// }
Future<void> _makePhoneCall(BuildContext context, String phoneNumber) async {
final Uri phoneUri = Uri(scheme: 'tel', path: phoneNumber);
try {
print(await canLaunchUrl(phoneUri));
if (await canLaunchUrl(phoneUri)) {
print('Can launch $phoneUri');
await launchUrl(phoneUri);
print('Launched $phoneUri');
} else {
print('Cannot launch $phoneUri');
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Could not launch $phoneUri')),
);
}
} catch (e) {
print('Exception caught: $e');
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Error: $e')),
);
}
}
Future<String?> _getPhoneNumber(context, userUID) async {
try { try {
var snapshot = await FirebaseFirestore.instance var snapshot = await FirebaseFirestore.instance
.collection('students') .collection('students')
.where('user', isEqualTo: userUID) .where('user', isEqualTo: userUID)
.get(); .get();
print(userUID);
if (snapshot.docs.isNotEmpty) { if (snapshot.docs.isNotEmpty) {
// Assuming 'phone' is the field containing the phone number // Assuming 'phone' is the field containing the phone number
String mobile = snapshot.docs.first['Parentphone']; String mobile = snapshot.docs.first['Parentphone'];
final url = 'tel:$mobile'; print(mobile);
_launchPhone(url); _makePhoneCall(context, mobile);
} else { } else {
return null; // Document not found return null; // Document not found
} }
...@@ -970,6 +1030,7 @@ class pChildrenProfilePage extends StatelessWidget { ...@@ -970,6 +1030,7 @@ class pChildrenProfilePage extends StatelessWidget {
print("Error getting phone number: $e"); print("Error getting phone number: $e");
return null; return null;
} }
return null;
} }
void calculateAge(birthday) { void calculateAge(birthday) {
......
...@@ -60,17 +60,17 @@ class ActivitiesPage extends StatelessWidget { ...@@ -60,17 +60,17 @@ class ActivitiesPage extends StatelessWidget {
), ),
], ],
), ),
SizedBox(height: 20), // SizedBox(height: 20),
Row( // Row(
children: [ // children: [
Expanded( // Expanded(
child: ActivityBox( // child: ActivityBox(
title: 'Environment', // title: 'Environment',
icon: Icons.child_care, // icon: Icons.child_care,
), // ),
), // ),
], // ],
), // ),
], ],
), ),
), ),
......
...@@ -5,8 +5,6 @@ import 'package:firebase_storage/firebase_storage.dart'; ...@@ -5,8 +5,6 @@ import 'package:firebase_storage/firebase_storage.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 'dart:io'; import 'dart:io';
import 'package:intl/intl.dart';
class AddStudentPage extends StatefulWidget { class AddStudentPage extends StatefulWidget {
const AddStudentPage({required this.classname}); const AddStudentPage({required this.classname});
...@@ -19,7 +17,6 @@ class AddStudentPage extends StatefulWidget { ...@@ -19,7 +17,6 @@ class AddStudentPage extends StatefulWidget {
class _AddStudentState extends State<AddStudentPage> { class _AddStudentState extends State<AddStudentPage> {
final _formkey = GlobalKey<FormState>(); final _formkey = GlobalKey<FormState>();
final _auth = FirebaseAuth.instance; final _auth = FirebaseAuth.instance;
//Bio Part //Bio Part
TextEditingController _firstnameController = TextEditingController(); TextEditingController _firstnameController = TextEditingController();
TextEditingController _lastnameController = TextEditingController(); TextEditingController _lastnameController = TextEditingController();
...@@ -53,9 +50,6 @@ class _AddStudentState extends State<AddStudentPage> { ...@@ -53,9 +50,6 @@ class _AddStudentState extends State<AddStudentPage> {
XFile? _selectedImage; XFile? _selectedImage;
String classname; String classname;
String? _selectedSex;
DateTime? _selectedBirthday;
_AddStudentState(String classname) : this.classname = classname; _AddStudentState(String classname) : this.classname = classname;
@override @override
...@@ -169,38 +163,13 @@ class _AddStudentState extends State<AddStudentPage> { ...@@ -169,38 +163,13 @@ class _AddStudentState extends State<AddStudentPage> {
), ),
), ),
// SizedBox(height: 20),
// GestureDetector(
// onTap: () => _selectDate(context),
// child: Container(
// padding: EdgeInsets.symmetric(horizontal: 10, vertical: 15),
// decoration: BoxDecoration(
// color: Color.fromARGB(107, 196, 196, 196),
// borderRadius: BorderRadius.circular(10.0),
// ),
// child: Row(
// mainAxisAlignment: MainAxisAlignment.spaceBetween, // Aligns children to both ends
// children: [
// Expanded( // Text takes up all available space, pushing the icon to the right
// child: Text(
// _selectedBirthday != null ? DateFormat('yyyy-MM-dd').format(_selectedBirthday!) : 'Select Birthday',
// style: TextStyle(fontSize: 14.0, color: Colors.black54),
// ),
// ),
// Icon(Icons.cake, size: 23.0, color: Color.fromARGB(132, 12, 12, 12)), // Icon on the right
// ],
// ),
// ),
// ),
SizedBox(height: 20), SizedBox(height: 20),
Container( Container(
height: 55.0, height: 55.0,
child: TextField( child: TextField(
controller: _birthdayController, controller: _birthdayController,
decoration: InputDecoration( decoration: InputDecoration(
hintText: 'Birthday', hintText: 'Birthday YYYY-MM-DD',
filled: true, filled: true,
fillColor: Color.fromARGB(107, 196, 196, 196), fillColor: Color.fromARGB(107, 196, 196, 196),
border: OutlineInputBorder( border: OutlineInputBorder(
...@@ -217,34 +186,25 @@ class _AddStudentState extends State<AddStudentPage> { ...@@ -217,34 +186,25 @@ class _AddStudentState extends State<AddStudentPage> {
SizedBox(height: 20), SizedBox(height: 20),
Container( Container(
height: 55.0, height: 55.0,
padding: EdgeInsets.symmetric(horizontal: 10, vertical: 2), child: TextField(
decoration: BoxDecoration( controller: _sexController,
color: Color.fromARGB(107, 196, 196, 196), // Background color
borderRadius: BorderRadius.circular(10.0), // Border radius
),
child: DropdownButtonFormField<String>(
value: _selectedSex, // This should be a variable in your state class initialized to null or the default value
decoration: InputDecoration( decoration: InputDecoration(
border: InputBorder.none, hintText: 'Male/Female',
// contentPadding: EdgeInsets.zero, filled: true,
suffixIcon: Icon(Icons.people, size: 23.0, color: Color.fromARGB(132, 12, 12, 12)), fillColor: Color.fromARGB(107, 196, 196, 196),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10.0),
borderSide: BorderSide.none,
),
suffixIcon: Icon(Icons.people,
size: 23.0, color: Color.fromARGB(132, 12, 12, 12)),
hintStyle: TextStyle(fontSize: 14.0), // Add border here
), ),
hint: Text('Gender', style: TextStyle(fontSize: 14.0)), // Placeholder text
onChanged: (String? newValue) {
setState(() {
_selectedSex = newValue; // Update the state with the new value
});
},
items: <String>['Male', 'Female'].map<DropdownMenuItem<String>>((String value) {
return DropdownMenuItem<String>(
value: value,
child: Text(value),
);
}).toList(),
), ),
), ),
//Medicine Part //Medicine Part
SizedBox(height: 50), SizedBox(height: 50),
Row( Row(
children: [ children: [
...@@ -626,7 +586,7 @@ class _AddStudentState extends State<AddStudentPage> { ...@@ -626,7 +586,7 @@ class _AddStudentState extends State<AddStudentPage> {
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
ElevatedButton( TextButton(
onPressed: () async { onPressed: () async {
if (Image == null) { if (Image == null) {
AwesomeDialog( AwesomeDialog(
...@@ -704,38 +664,36 @@ class _AddStudentState extends State<AddStudentPage> { ...@@ -704,38 +664,36 @@ class _AddStudentState extends State<AddStudentPage> {
} }
}, },
style: style:
ElevatedButton.styleFrom( TextButton.styleFrom(backgroundColor: Colors.green),
primary: const Color.fromARGB(255, 48, 206, 53), child: Text(
shape: RoundedRectangleBorder( 'Save',
borderRadius: BorderRadius.circular(10.0), style: TextStyle(
), color: Colors.white,
fontSize: 14,
fontFamily: 'Poppins',
fontWeight: FontWeight.w600,
height: 1,
), ),
child: Padding(
padding: const EdgeInsets.all(10.0),
child: Text(
'Save',
style: TextStyle(color: const Color.fromARGB(255, 255, 255, 255)),
),
), ),
), ),
ElevatedButton( TextButton(
onPressed: () { onPressed: () {
Navigator.pop(context); // Handle signup logic here
}, Navigator.pop(context);
style: ElevatedButton.styleFrom( },
primary: const Color.fromARGB(255, 255, 255, 255), style: TextButton.styleFrom(
shape: RoundedRectangleBorder( backgroundColor: Colors.grey.shade200),
borderRadius: BorderRadius.circular(10.0), child: Text(
), 'Cancel',
), style: TextStyle(
child: Padding( color: Colors.black,
padding: const EdgeInsets.all(10.0), fontSize: 14,
child: Text( fontFamily: 'Poppins',
'Cancel', fontWeight: FontWeight.w600,
style: TextStyle(color: Colors.black), height: 1,
),
), ),
), ),
)
], ],
), ),
], ],
...@@ -807,19 +765,4 @@ class _AddStudentState extends State<AddStudentPage> { ...@@ -807,19 +765,4 @@ class _AddStudentState extends State<AddStudentPage> {
}, },
)..show(); )..show();
} }
} }
\ No newline at end of file
Future<void> _selectDate(BuildContext context) async {
final DateTime? pickedDate = await showDatePicker(
context: context,
initialDate: DateTime.now(), // Initial date set to current date
firstDate: DateTime(1900), // Earliest allowable date
lastDate: DateTime.now(), // Latest allowable date is today
);
// if (pickedDate != null && pickedDate != DateTime.now()) {
// setState(() {
// // Format the date and update the text field
// _birthdayController.text = DateFormat('yyyy-MM-dd').format(pickedDate);
// });
// }
}
...@@ -428,11 +428,27 @@ class ChildrenProfilePage extends StatelessWidget { ...@@ -428,11 +428,27 @@ class ChildrenProfilePage extends StatelessWidget {
MainAxisAlignment.center, MainAxisAlignment.center,
crossAxisAlignment: crossAxisAlignment:
CrossAxisAlignment.center, CrossAxisAlignment.center,
// children: [
// GestureDetector(
// onTap: () {
// _getPhoneNumber(user?.uid);
// },
// child: Container(
// height: double.infinity,
// child: Row(
// mainAxisSize:
// MainAxisSize.min,
// mainAxisAlignment:
// MainAxisAlignment
// .start,
// crossAxisAlignment:
// CrossAxisAlignment
// .center,
children: [ children: [
GestureDetector( GestureDetector(
onTap: () { onTap: () => _getPhoneNumber(
_getPhoneNumber(user?.uid); context, user?.uid),
},
child: Container( child: Container(
height: double.infinity, height: double.infinity,
child: Row( child: Row(
...@@ -444,6 +460,7 @@ class ChildrenProfilePage extends StatelessWidget { ...@@ -444,6 +460,7 @@ class ChildrenProfilePage extends StatelessWidget {
crossAxisAlignment: crossAxisAlignment:
CrossAxisAlignment CrossAxisAlignment
.center, .center,
children: [ children: [
Icon( Icon(
Icons.call, Icons.call,
...@@ -950,18 +967,61 @@ child: Container( ...@@ -950,18 +967,61 @@ child: Container(
} }
} }
Future<String?> _getPhoneNumber(userUID) async { // Future<String?> _getPhoneNumber(userUID) async {
// try {
// var snapshot = await FirebaseFirestore.instance
// .collection('students')
// .where('user', isEqualTo: userUID)
// .get();
// if (snapshot.docs.isNotEmpty) {
// // Assuming 'phone' is the field containing the phone number
// String mobile = snapshot.docs.first['Parentphone'];
// final url = 'tel:$mobile';
// _launchPhone(url);
// } else {
// return null; // Document not found
// }
// } catch (e) {
// print("Error getting phone number: $e");
// return null;
// }
// }
Future<void> _makePhoneCall(BuildContext context, String phoneNumber) async {
final Uri phoneUri = Uri(scheme: 'tel', path: phoneNumber);
try {
print(await canLaunchUrl(phoneUri));
if (await canLaunchUrl(phoneUri)) {
print('Can launch $phoneUri');
await launchUrl(phoneUri);
print('Launched $phoneUri');
} else {
print('Cannot launch $phoneUri');
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Could not launch $phoneUri')),
);
}
} catch (e) {
print('Exception caught: $e');
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Error: $e')),
);
}
}
Future<String?> _getPhoneNumber(context, userUID) async {
try { try {
var snapshot = await FirebaseFirestore.instance var snapshot = await FirebaseFirestore.instance
.collection('students') .collection('students')
.where('user', isEqualTo: userUID) .where('user', isEqualTo: userUID)
.get(); .get();
print(userUID);
if (snapshot.docs.isNotEmpty) { if (snapshot.docs.isNotEmpty) {
// Assuming 'phone' is the field containing the phone number // Assuming 'phone' is the field containing the phone number
String mobile = snapshot.docs.first['Parentphone']; String mobile = snapshot.docs.first['Parentphone'];
final url = 'tel:$mobile'; print(mobile);
_launchPhone(url); _makePhoneCall(context, mobile);
} else { } else {
return null; // Document not found return null; // Document not found
} }
...@@ -969,6 +1029,7 @@ child: Container( ...@@ -969,6 +1029,7 @@ child: Container(
print("Error getting phone number: $e"); print("Error getting phone number: $e");
return null; return null;
} }
return null;
} }
void calculateAge(birthday) { void calculateAge(birthday) {
......
...@@ -11,9 +11,27 @@ class GamesPage extends StatelessWidget { ...@@ -11,9 +11,27 @@ class GamesPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text('Games'), leading: IconButton(
), icon: Icon(Icons.arrow_back),
onPressed: () {
Navigator.of(context).pop();
},
),
actions: [
Text(
'Games ',
style: TextStyle(
color: Color(0xFF554994),
fontSize: 24,
fontFamily: 'Poppins',
fontWeight: FontWeight.w700,
height: 0.04,
letterSpacing: -0.96,
),
)
],
),
body: Column( body: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
...@@ -145,59 +163,59 @@ class GamesPage extends StatelessWidget { ...@@ -145,59 +163,59 @@ class GamesPage extends StatelessWidget {
], ],
), ),
bottomNavigationBar: BottomNavigationBar( // bottomNavigationBar: BottomNavigationBar(
items: const [ // items: const [
BottomNavigationBarItem( // BottomNavigationBarItem(
icon: Icon(Icons.home), // icon: Icon(Icons.home),
label: 'Home', // label: 'Home',
), // ),
BottomNavigationBarItem( // BottomNavigationBarItem(
icon: Icon(Icons.chat), // icon: Icon(Icons.chat),
label: 'Chat', // label: 'Chat',
), // ),
BottomNavigationBarItem( // BottomNavigationBarItem(
icon: Icon(Icons.sports_baseball), // icon: Icon(Icons.sports_baseball),
label: 'Games', // label: 'Games',
), // ),
BottomNavigationBarItem( // BottomNavigationBarItem(
icon: Icon(Icons.person), // icon: Icon(Icons.person),
label: 'Profile', // label: 'Profile',
), // ),
], // ],
selectedItemColor: Colors.blueAccent, // selectedItemColor: Colors.blueAccent,
unselectedItemColor: Colors.grey, // unselectedItemColor: Colors.grey,
currentIndex: 2, // currentIndex: 2,
onTap: (index) { // onTap: (index) {
switch (index) { // switch (index) {
case 0: // case 0:
// Navigate to Home // // Navigate to Home
// Navigator.push( // // Navigator.push(
// context, // // context,
// MaterialPageRoute(builder: (context) => ParentHomePage(phoneNo, role)), // // MaterialPageRoute(builder: (context) => ParentHomePage(phoneNo, role)),
// ); // // );
break; // break;
case 1: // case 1:
// Navigate to Chat // // Navigate to Chat
Navigator.push( // Navigator.push(
context, // context,
MaterialPageRoute(builder: (context) => ChatScreen()), // MaterialPageRoute(builder: (context) => ChatScreen()),
); // );
break; // break;
case 2: // case 2:
// Do nothing, we are already on the Games page // // Do nothing, we are already on the Games page
break; // break;
case 3: // case 3:
// Navigate to Profile // // Navigate to Profile
// Navigator.push( // // Navigator.push(
// context, // // context,
// MaterialPageRoute( // // MaterialPageRoute(
// builder: (context) => ParentProfilePage(uid: uid, phoneNo: phoneNo, role: role), // // builder: (context) => ParentProfilePage(uid: uid, phoneNo: phoneNo, role: role),
// ), // // ),
// ); // // );
break; // break;
} // }
}, // },
), //),
); );
} }
} }
...@@ -16,6 +16,7 @@ import rive_common ...@@ -16,6 +16,7 @@ import rive_common
import shared_preferences_foundation import shared_preferences_foundation
import sqflite import sqflite
import url_launcher_macos import url_launcher_macos
import video_player_avfoundation
import wakelock_plus import wakelock_plus
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
...@@ -30,5 +31,6 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { ...@@ -30,5 +31,6 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin")) SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
FVPVideoPlayerPlugin.register(with: registry.registrar(forPlugin: "FVPVideoPlayerPlugin"))
WakelockPlusMacosPlugin.register(with: registry.registrar(forPlugin: "WakelockPlusMacosPlugin")) WakelockPlusMacosPlugin.register(with: registry.registrar(forPlugin: "WakelockPlusMacosPlugin"))
} }
This diff is collapsed.
This diff is collapsed.
...@@ -4,4 +4,7 @@ ...@@ -4,4 +4,7 @@
<FileRef <FileRef
location = "group:Runner.xcodeproj"> location = "group:Runner.xcodeproj">
</FileRef> </FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace> </Workspace>
...@@ -141,10 +141,10 @@ packages: ...@@ -141,10 +141,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: collection name: collection
sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.17.1" version: "1.18.0"
confetti: confetti:
dependency: "direct main" dependency: "direct main"
description: description:
...@@ -157,10 +157,10 @@ packages: ...@@ -157,10 +157,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: cross_file name: cross_file
sha256: "2f9d2cbccb76127ba28528cb3ae2c2326a122446a83de5a056aaa3880d3882c5" sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.3.3+7" version: "0.3.3+8"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
...@@ -321,6 +321,14 @@ packages: ...@@ -321,6 +321,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.6.17" version: "3.6.17"
fixnum:
dependency: transitive
description:
name: fixnum
sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1"
url: "https://pub.dev"
source: hosted
version: "1.1.0"
flutter: flutter:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
...@@ -380,10 +388,10 @@ packages: ...@@ -380,10 +388,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: http name: http
sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" sha256: d4872660c46d929f6b8a9ef4e7a7eff7e49bbf0c4ec3f385ee32df5119175139
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.0" version: "1.1.2"
http_parser: http_parser:
dependency: transitive dependency: transitive
description: description:
...@@ -492,26 +500,26 @@ packages: ...@@ -492,26 +500,26 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: matcher name: matcher
sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.12.15" version: "0.12.16"
material_color_utilities: material_color_utilities:
dependency: transitive dependency: transitive
description: description:
name: material_color_utilities name: material_color_utilities
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.2.0" version: "0.5.0"
meta: meta:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.9.1" version: "1.10.0"
mime: mime:
dependency: transitive dependency: transitive
description: description:
...@@ -540,10 +548,10 @@ packages: ...@@ -540,10 +548,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: package_info_plus name: package_info_plus
sha256: "7e76fad405b3e4016cd39d08f455a4eb5199723cf594cd1b8916d47140d93017" sha256: "88bc797f44a94814f2213db1c9bd5badebafdfb8290ca9f78d4b9ee2a3db4d79"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.2.0" version: "5.0.1"
package_info_plus_platform_interface: package_info_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
...@@ -612,10 +620,10 @@ packages: ...@@ -612,10 +620,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: petitparser name: petitparser
sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.4.0" version: "6.0.2"
pie_chart: pie_chart:
dependency: "direct main" dependency: "direct main"
description: description:
...@@ -716,10 +724,10 @@ packages: ...@@ -716,10 +724,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_web name: shared_preferences_web
sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf sha256: "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.1" version: "2.2.2"
shared_preferences_windows: shared_preferences_windows:
dependency: transitive dependency: transitive
description: description:
...@@ -745,10 +753,10 @@ packages: ...@@ -745,10 +753,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: source_span name: source_span
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.9.1" version: "1.10.0"
sprintf: sprintf:
dependency: transitive dependency: transitive
description: description:
...@@ -777,18 +785,18 @@ packages: ...@@ -777,18 +785,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: stack_trace name: stack_trace
sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.11.0" version: "1.11.1"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:
name: stream_channel name: stream_channel
sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.1" version: "2.1.2"
string_scanner: string_scanner:
dependency: transitive dependency: transitive
description: description:
...@@ -825,10 +833,10 @@ packages: ...@@ -825,10 +833,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.1" version: "0.6.1"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
...@@ -841,10 +849,10 @@ packages: ...@@ -841,10 +849,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: url_launcher name: url_launcher
sha256: "47e208a6711459d813ba18af120d9663c20bdf6985d6ad39fe165d2538378d27" sha256: c512655380d241a337521703af62d2c122bf7b77a46ff7dd750092aa9433499c
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.14" version: "6.2.4"
url_launcher_android: url_launcher_android:
dependency: transitive dependency: transitive
description: description:
...@@ -881,18 +889,18 @@ packages: ...@@ -881,18 +889,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_platform_interface name: url_launcher_platform_interface
sha256: a932c3a8082e118f80a475ce692fde89dc20fddb24c57360b96bc56f7035de1f sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.1" version: "2.3.2"
url_launcher_web: url_launcher_web:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_web name: url_launcher_web
sha256: ba140138558fcc3eead51a1c42e92a9fb074a1b1149ed3c73e66035b2ccd94f2 sha256: fff0932192afeedf63cdd50ecbb1bc825d31aed259f02bb8dba0f3b729a5e88b
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.19" version: "2.2.3"
url_launcher_windows: url_launcher_windows:
dependency: transitive dependency: transitive
description: description:
...@@ -905,10 +913,10 @@ packages: ...@@ -905,10 +913,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: uuid name: uuid
sha256: "22c94e5ad1e75f9934b766b53c742572ee2677c56bc871d850a57dad0f82127f" sha256: cd210a09f7c18cbe5a02511718e0334de6559871052c90a90c0cca46a4aa81c8
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.2.2" version: "4.3.3"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
...@@ -921,10 +929,10 @@ packages: ...@@ -921,10 +929,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: video_player name: video_player
sha256: "74b86e63529cf5885130c639d74cd2f9232e7c8a66cbecbddd1dcb9dbd060d1e" sha256: fbf28ce8bcfe709ad91b5789166c832cb7a684d14f571a81891858fefb5bb1c2
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.7.2" version: "2.8.2"
video_player_android: video_player_android:
dependency: transitive dependency: transitive
description: description:
...@@ -937,10 +945,10 @@ packages: ...@@ -937,10 +945,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: video_player_avfoundation name: video_player_avfoundation
sha256: bf1a1322bf68bccd349982ba1f5a41314a3880861fb9a93d25d6d0a2345845f0 sha256: "309e3962795e761be010869bae65c0b0e45b5230c5cee1bec72197ca7db040ed"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.11" version: "2.5.6"
video_player_platform_interface: video_player_platform_interface:
dependency: transitive dependency: transitive
description: description:
...@@ -953,10 +961,10 @@ packages: ...@@ -953,10 +961,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: video_player_web name: video_player_web
sha256: "9c34a243785feca23148bfcd772dbb803d63c9304488177ec4f3f4463802fcb7" sha256: "34beb3a07d4331a24f7e7b2f75b8e2b103289038e07e65529699a671b6a6e2cb"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.17" version: "2.1.3"
wakelock_plus: wakelock_plus:
dependency: transitive dependency: transitive
description: description:
...@@ -973,14 +981,22 @@ packages: ...@@ -973,14 +981,22 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.0" version: "1.1.0"
web:
dependency: transitive
description:
name: web
sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
url: "https://pub.dev"
source: hosted
version: "0.3.0"
win32: win32:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3" sha256: "464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.0.9" version: "5.2.0"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:
...@@ -993,10 +1009,10 @@ packages: ...@@ -993,10 +1009,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: xml name: xml
sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84" sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.3.0" version: "6.5.0"
sdks: sdks:
dart: ">=3.0.1 <4.0.0" dart: ">=3.2.0 <4.0.0"
flutter: ">=3.10.0" flutter: ">=3.16.0"
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