From c4c8189b709ae92e8557f52885e62c64769e74f2 Mon Sep 17 00:00:00 2001 From: Bee0510 Date: Sat, 26 Aug 2023 18:53:08 +0530 Subject: [PATCH] faq_firebase_config --- package-lock.json | 6 + scp/assets/tele_manas.png | Bin 0 -> 42987 bytes scp/lib/{ => FAQ}/faqPage.dart | 55 ++--- scp/lib/FAQ/models/faq_model.dart | 19 ++ scp/lib/counselling/counsellingPage.dart | 220 +++++++++++------- scp/lib/firebase/firebaseDBHandler.dart | 40 +++- scp/lib/home_page.dart | 93 +++----- .../services/firebase_analytics_service.dart | 1 - scp/lib/services/localStorage_service.dart | 2 + scp/lib/timetable/pracSection.dart | 2 + scp/lib/timetable/theorySection.dart | 2 + scp/lib/timetable/timeTable.dart | 2 + scp/lib/timetable/tutorialSection.dart | 2 + scp/lib/ui/cards.dart | 2 + .../ui/views/mentor_search/mentee_page.dart | 2 +- scp/lib/utils/routes.dart | 2 +- scp/pubspec.lock | 32 ++- scp/pubspec.yaml | 9 +- 18 files changed, 299 insertions(+), 192 deletions(-) create mode 100644 package-lock.json create mode 100644 scp/assets/tele_manas.png rename scp/lib/{ => FAQ}/faqPage.dart (72%) create mode 100644 scp/lib/FAQ/models/faq_model.dart diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..1636216 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "project-avocado", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/scp/assets/tele_manas.png b/scp/assets/tele_manas.png new file mode 100644 index 0000000000000000000000000000000000000000..23c3a8d56c50eaadda43c9343e0fc9c73fc97cb5 GIT binary patch literal 42987 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 Ky;9XK@_zsd)N@4u literal 0 HcmV?d00001 diff --git a/scp/lib/faqPage.dart b/scp/lib/FAQ/faqPage.dart similarity index 72% rename from scp/lib/faqPage.dart rename to scp/lib/FAQ/faqPage.dart index ccbe2db..f92bd45 100644 --- a/scp/lib/faqPage.dart +++ b/scp/lib/FAQ/faqPage.dart @@ -1,10 +1,12 @@ +// ignore_for_file: unused_local_variable + import 'package:flutter/material.dart'; import 'package:link_text/link_text.dart'; -import 'package:scp/datamodels/faqQuestion.dart'; +import 'package:provider/provider.dart'; +import 'package:scp/FAQ/models/faq_model.dart'; +import 'package:scp/firebase/firebaseDBHandler.dart'; import 'package:scp/utils/urlLauncher.dart'; -import 'api/faqQuestions_api.dart'; - class FaqPage extends StatefulWidget { const FaqPage({key}) : super(key: key); @@ -13,8 +15,11 @@ class FaqPage extends StatefulWidget { } class _FaqPageState extends State { + final FAQDatabase database = FAQDatabase(); @override Widget build(BuildContext context) { + final faq = Provider.of?>(context); + print('faq: ${faq}'); return Scaffold( appBar: AppBar( backgroundColor: Color.fromARGB(255, 49, 68, 76), @@ -27,36 +32,26 @@ class _FaqPageState extends State { fontWeight: FontWeight.w600), ), ), - body: FutureBuilder>( - future: FaqQuestionApi.getFaqQuestionLocally(context), - builder: (context, snapshot) { - final faqQuestion = snapshot.data; - switch (snapshot.connectionState) { - case ConnectionState.waiting: - return Center( - child: CircularProgressIndicator(), - ); - default: - if (snapshot.hasError) { - return Center( - child: Text( - "Oops! Something Went Wrong", - style: TextStyle( - fontSize: 18, - fontFamily: 'PfDin', - fontWeight: FontWeight.bold, - ), - ), - ); - } else { - return buildFaqQuestion(faqQuestion!); - } - } - }), + body: StreamBuilder>( + stream: FAQDatabase().faqfun, + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.waiting) { + return Center(child: CircularProgressIndicator()); + } else if (snapshot.hasError) { + return Center(child: Text("Error: ${snapshot.error}")); + } else if (!snapshot.hasData || snapshot.data == null) { + return Center(child: Text("No FAQ data available.")); + } else { + final faq = snapshot.data!; + return buildFaqQuestion(context, faq); + } + }, + ), ); } - Widget buildFaqQuestion(List faqQuestion) => ListView.builder( + Widget buildFaqQuestion(BuildContext context, List faqQuestion) => + ListView.builder( physics: BouncingScrollPhysics(), itemCount: faqQuestion.length, itemBuilder: (context, index) { diff --git a/scp/lib/FAQ/models/faq_model.dart b/scp/lib/FAQ/models/faq_model.dart new file mode 100644 index 0000000..7046321 --- /dev/null +++ b/scp/lib/FAQ/models/faq_model.dart @@ -0,0 +1,19 @@ +class faqModels { + faqModels({ + required this.id, + required this.catagory, + required this.question, + required this.answer, + }); + final String id; + final String catagory; + final String question; + final String answer; + + // factory faqModels.fromJson(Map json) => faqModels( + // id: json['id'], + // catagory: json['catagory'], + // question: json['question'], + // answer: json['answer'], + // ); +} diff --git a/scp/lib/counselling/counsellingPage.dart b/scp/lib/counselling/counsellingPage.dart index 710e4a4..7743177 100644 --- a/scp/lib/counselling/counsellingPage.dart +++ b/scp/lib/counselling/counsellingPage.dart @@ -1,3 +1,5 @@ +// ignore_for_file: unused_field + import 'package:flutter/material.dart'; import 'package:scp/ui/gradients.dart'; import 'package:scp/utils/urlLauncher.dart'; @@ -11,6 +13,35 @@ class CounsellingPage extends StatefulWidget { class _CounsellingPageState extends State { final Color primaryColor = Color.fromARGB(255, 49, 68, 76); + List> _CounsellingData = [ + { + 'title': 'Your Dost:', + 'description': + 'In collaboration with Your Dost, online counselling services were started in November 2021. Your Dost is a platform for emotional support and counselling that promotes mental wellness . All the students of our institute can access this service by logging in using their Zimbra email address in the link provided below.' + }, + { + 'title': 'Offline Counselling:', + 'description': + 'Institute recognizes the importance of one\'s mental health and has appointed a counsellor and a psychiatrist. Dr PK Nanda, is the psychiatrist and Dr Ekta Sanghi, the Counsellor under the Institute Counselling Services. While a Counselor helps people address the cause of their problems, a Psychia-trist prescribes and monitors medications to control symp-toms. Appointments can be made through the ICS app.' + }, + { + 'title': 'tele MANAS:', + 'description': + ' A toll free mental health helpline to provide support and assistance to people struggling with mental health issues-ref. from Ministry of Health & Family Welfare-reg.' + } + ]; + List> _CounsellingBanner = [ + { + 'title': 'Your Dost Counselling', + 'link': 'https://www.yourdost.com/', + 'image': 'assets/ydd.png' + }, + { + 'title': 'tele MANAS', + 'link': 'https://telemanas.mohfw.gov.in/#/home', + 'image': 'assets/tele_manas.png', + } + ]; @override Widget build(BuildContext context) { @@ -24,100 +55,116 @@ class _CounsellingPageState extends State { ), backgroundColor: primaryColor, ), - body: ListView( - physics: BouncingScrollPhysics(), - children: [ - Padding( - padding: EdgeInsets.only( - top: width * 0.05, - right: width * 0.05, - left: width * 0.05, - ), - child: Text( - "Your Dost:", - style: TextStyle( - fontSize: 24, - fontWeight: FontWeight.w500, - fontFamily: 'PfDin', - color: Color.fromRGBO(74, 232, 190, 1), - ), + body: SingleChildScrollView( + child: Column( + children: [ + ListView.builder( + physics: NeverScrollableScrollPhysics(), + scrollDirection: Axis.vertical, + shrinkWrap: true, + itemCount: _CounsellingData.length, + itemBuilder: (context, index) { + return studentcoun_container( + width, + _CounsellingData[index]['title'].toString(), + _CounsellingData[index]['description'].toString(), + ); + }), + SizedBox( + height: 50, ), - ), - Padding( - padding: EdgeInsets.only( - top: width * 0.024, - right: width * 0.05, - left: width * 0.05, - ), - child: Text( - "In collaboration with Your Dost, online counselling services were started in November 2021. Your Dost is a platform for emotional support and counselling that promotes mental wellness . All the students of our institute can access this service by logging in using their Zimbra email address in the link provided below.", - style: TextStyle( - fontSize: 16.4, - fontWeight: FontWeight.w500, - fontFamily: 'PfDin', - color: Color.fromRGBO(25, 39, 45, 1), - ), + GridView.builder( + physics: NeverScrollableScrollPhysics(), + shrinkWrap: true, + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 2, + childAspectRatio: 1, + ), + itemCount: _CounsellingBanner.length, + itemBuilder: (context, index) { + if (index + 1 == 3) { + return Container( + child: gesture_container( + context, + _CounsellingBanner[index]['link'].toString(), + _CounsellingBanner[index]['title'].toString(), + _CounsellingBanner[index]['image'].toString(), + ), + ); + } else { + return Container( + padding: EdgeInsets.all(5), + child: gesture_container( + context, + _CounsellingBanner[index]['link'].toString(), + _CounsellingBanner[index]['title'].toString(), + _CounsellingBanner[index]['image'].toString(), + ), + ); + } + }), + SizedBox(height: 3), + gesture_container( + context, + 'https://forms.gle/e8K6ZVvoNZ683ZRp6', + 'Offline Coundelling', + 'assets/icon-white.png', ), - ), - Padding( - padding: EdgeInsets.only( - top: width * 0.05, - right: width * 0.05, - left: width * 0.05, - ), - child: Text( - "Offline Counselling:", - style: TextStyle( - fontSize: 24, - fontWeight: FontWeight.w500, - fontFamily: 'PfDin', - color: Color.fromRGBO(74, 232, 190, 1), - ), + SizedBox( + height: 20, ), + ], + ), + ), + ); + } + + GestureDetector gesture_container( + BuildContext context, String url, String title, String image) { + return GestureDetector( + onTap: () { + launchURL(url); + }, + child: counsellingCard(title, image, MediaQuery.of(context).size.width), + ); + } + + Column studentcoun_container(double width, String title, String description) { + return Column( + children: [ + Padding( + padding: EdgeInsets.only( + top: width * 0.05, + right: width * 0.05, + left: width * 0.05, ), - Padding( - padding: EdgeInsets.only( - top: width * 0.024, - right: width * 0.05, - left: width * 0.05, - ), - child: Text( - "Institute recognizes the importance of one's mental health and has appointed a counsellor and a psychiatrist. Dr PK Nanda, is the psychiatrist and Dr Ekta Sanghi, the Counsellor under the Institute Counselling Services. While a Counselor helps people address the cause of their problems, a Psychia-trist prescribes and monitors medications to control symp-toms. Appointments can be made through the ICS app.", - style: TextStyle( - fontSize: 16.4, - fontWeight: FontWeight.w500, - fontFamily: 'PfDin', - color: Color.fromRGBO(25, 39, 45, 1), - ), + child: Text( + title, + style: TextStyle( + fontSize: 24, + fontWeight: FontWeight.w500, + fontFamily: 'PfDin', + color: Color.fromRGBO(74, 232, 190, 1), ), ), - SizedBox( - height: 50, - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - GestureDetector( - onTap: () { - launchURL("https://www.yourdost.com/"); - }, - child: counsellingCard("YourDOST Counselling", 'assets/ydd.png', - MediaQuery.of(context).size.width), - ), - GestureDetector( - onTap: () { - launchURL("https://forms.gle/e8K6ZVvoNZ683ZRp6"); - }, - child: counsellingCard("OFFLINE Counselling", - 'assets/icon-white.png', MediaQuery.of(context).size.width), - ), - ], + ), + Padding( + padding: EdgeInsets.only( + top: width * 0.024, + right: width * 0.05, + left: width * 0.05, ), - SizedBox( - height: 50, + child: Text( + description, + style: TextStyle( + fontSize: 16.4, + fontWeight: FontWeight.w500, + fontFamily: 'PfDin', + color: Color.fromRGBO(25, 39, 45, 1), + ), ), - ], - ), + ), + ], ); } } @@ -128,6 +175,7 @@ Widget counsellingCard( double width, ) { return Container( + padding: EdgeInsets.all(3), clipBehavior: Clip.antiAliasWithSaveLayer, height: width * 0.4, width: width * 0.4, diff --git a/scp/lib/firebase/firebaseDBHandler.dart b/scp/lib/firebase/firebaseDBHandler.dart index 751a31d..a2305db 100644 --- a/scp/lib/firebase/firebaseDBHandler.dart +++ b/scp/lib/firebase/firebaseDBHandler.dart @@ -1,5 +1,10 @@ -// import 'package:firebase_database/firebase_database.dart'; -// import 'package:flutter/foundation.dart'; +import 'dart:convert'; + +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:firebase_database/firebase_database.dart'; +import 'package:flutter/services.dart'; +import 'package:scp/FAQ/models/faq_model.dart'; + // import 'package:scp/utils/models.dart'; // // class ScpDatabase { @@ -24,3 +29,34 @@ // debugPrint(counselSlotsList[2].rollNo.toString()); // } // } + +class FAQDatabase { + final CollectionReference faqCollection = + FirebaseFirestore.instance.collection('faq'); + + List brewlistfromasnapshots(QuerySnapshot Snapshot) { + return Snapshot.docs.map( + (e) { + return faqModels( + id: e['A'] ?? '0', + catagory: e['C'] ?? 'Unknown Category', + question: e['B'] ?? 'Unknown Question', + answer: e['D'] ?? 'No answer available.', + ); + }, + ).toList(); + } + + Stream> get faqfun { + return faqCollection.snapshots().map(brewlistfromasnapshots); + } + + Future uploadData() async { + String jsonString = await rootBundle.loadString('assets/data/faqData.json'); + List jsonList = json.decode(jsonString); + + jsonList.forEach((data) { + faqCollection.add(data); + }); + } +} diff --git a/scp/lib/home_page.dart b/scp/lib/home_page.dart index 831e6fd..fb74532 100644 --- a/scp/lib/home_page.dart +++ b/scp/lib/home_page.dart @@ -1,3 +1,5 @@ +// ignore_for_file: unused_field, unnecessary_null_comparison + import 'package:firebase_remote_config/firebase_remote_config.dart'; import 'package:flutter/material.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; @@ -50,6 +52,17 @@ class _HomePageState extends State { FirebaseDatabase.instance.setPersistenceEnabled(true); // var queryWidth = MediaQuery.of(context).size.width; // var textScaleFactor = MediaQuery.of(context).textScaleFactor; + + List> _drawerData = [ + {'title': 'Important Documents', 'route': Routes.rImpDocs}, + {'title': 'Notification', 'route': Routes.rNots}, + {'title': 'Settings', 'route': Routes.rSettings}, + {'title': 'About ICS', 'route': Routes.rAboutScp}, + // {'title': 'Privacy Policy', 'route': Routes.rPolicies}, + {'title': 'Developer Info', 'route': Routes.rDevInfo}, + // {'title': 'ICS Website', 'route': "https://www.ics-nitrkl.in/"}, + // {'title': 'ICS YouTube', 'route': 'https://www.youtube.com/c/ICSNITR'}, + ]; return Scaffold( body: FutureBuilder( future: fetchUserData(context), @@ -103,50 +116,18 @@ class _HomePageState extends State { mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - ListTile( - onTap: () { - Navigator.of(context).pushNamed(Routes.rImpDocs); - }, - title: Text( - "Important Documents", - style: TextStyle( - fontSize: SizeConfig.drawerItemTextSize, - fontFamily: 'PfDin'), - ), - ), - ListTile( - onTap: () { - Navigator.pushNamed(context, Routes.rNots); - }, - title: Text( - "Notifications", - style: TextStyle( - fontSize: SizeConfig.drawerItemTextSize, - fontFamily: 'PfDin'), - ), - ), - ListTile( - onTap: () { - Navigator.of(context).pushNamed(Routes.rSettings); - }, - title: Text( - "Settings", - style: TextStyle( - fontSize: SizeConfig.drawerItemTextSize, - fontFamily: 'PfDin'), - ), - ), - ListTile( - onTap: () { - Navigator.pushNamed(context, Routes.rAboutScp); - }, - title: Text( - "About ICS", - style: TextStyle( - fontSize: SizeConfig.drawerItemTextSize, - fontFamily: 'PfDin'), - ), - ), + ListView.builder( + physics: NeverScrollableScrollPhysics(), + scrollDirection: Axis.vertical, + shrinkWrap: true, + itemCount: _drawerData.length, + itemBuilder: (context, index) { + return drawerData( + context, + _drawerData[index]['title'].toString(), + _drawerData[index]['route'].toString(), + ); + }), ListTile( onTap: () { Navigator.pushNamed(context, Routes.rPolicies, @@ -159,17 +140,6 @@ class _HomePageState extends State { fontFamily: 'PfDin'), ), ), - ListTile( - onTap: () { - Navigator.of(context).pushNamed(Routes.rDevInfo); - }, - title: Text( - "Developer Info", - style: TextStyle( - fontSize: SizeConfig.drawerItemTextSize, - fontFamily: 'PfDin'), - ), - ), ListTile( onTap: () { _launchLink("https://www.ics-nitrkl.in/"); @@ -334,6 +304,19 @@ class _HomePageState extends State { ); } + ListTile drawerData(BuildContext context, String title, String route) { + return ListTile( + onTap: () { + Navigator.of(context).pushNamed(route); + }, + title: Text( + title, + style: TextStyle( + fontSize: SizeConfig.drawerItemTextSize, fontFamily: 'PfDin'), + ), + ); + } + _removeUserData(BuildContext context) async { SharedPreferences prefs = await SharedPreferences.getInstance(); prefs.getKeys(); diff --git a/scp/lib/services/firebase_analytics_service.dart b/scp/lib/services/firebase_analytics_service.dart index c73f254..aa59340 100644 --- a/scp/lib/services/firebase_analytics_service.dart +++ b/scp/lib/services/firebase_analytics_service.dart @@ -1,5 +1,4 @@ import 'package:firebase_analytics/firebase_analytics.dart'; -import 'package:firebase_analytics/observer.dart'; class AnalyticsService{ final FirebaseAnalytics _analytics = FirebaseAnalytics.instance; diff --git a/scp/lib/services/localStorage_service.dart b/scp/lib/services/localStorage_service.dart index 892422e..f8fee40 100644 --- a/scp/lib/services/localStorage_service.dart +++ b/scp/lib/services/localStorage_service.dart @@ -1,3 +1,5 @@ +// ignore_for_file: unnecessary_null_comparison + import 'package:shared_preferences/shared_preferences.dart'; class LocalStorageService { diff --git a/scp/lib/timetable/pracSection.dart b/scp/lib/timetable/pracSection.dart index 3e164f9..d5c0a2f 100755 --- a/scp/lib/timetable/pracSection.dart +++ b/scp/lib/timetable/pracSection.dart @@ -1,3 +1,5 @@ +// ignore_for_file: invalid_use_of_protected_member + import 'dart:math'; import 'package:flutter/material.dart'; import 'package:scp/time_table.dart'; diff --git a/scp/lib/timetable/theorySection.dart b/scp/lib/timetable/theorySection.dart index e1855bb..b8c4aca 100755 --- a/scp/lib/timetable/theorySection.dart +++ b/scp/lib/timetable/theorySection.dart @@ -1,3 +1,5 @@ +// ignore_for_file: invalid_use_of_protected_member + import 'dart:math'; import 'package:flutter/material.dart'; import 'package:scp/time_table.dart'; diff --git a/scp/lib/timetable/timeTable.dart b/scp/lib/timetable/timeTable.dart index c0fb4b7..2b5f89f 100644 --- a/scp/lib/timetable/timeTable.dart +++ b/scp/lib/timetable/timeTable.dart @@ -1,3 +1,5 @@ +// ignore_for_file: invalid_use_of_protected_member + import 'dart:math'; import 'package:flutter/material.dart'; import 'package:scp/time_table.dart'; diff --git a/scp/lib/timetable/tutorialSection.dart b/scp/lib/timetable/tutorialSection.dart index 039add0..11fa303 100644 --- a/scp/lib/timetable/tutorialSection.dart +++ b/scp/lib/timetable/tutorialSection.dart @@ -1,3 +1,5 @@ +// ignore_for_file: invalid_use_of_protected_member + import 'dart:math'; import 'package:flutter/material.dart'; diff --git a/scp/lib/ui/cards.dart b/scp/lib/ui/cards.dart index 1521d1b..183cd34 100644 --- a/scp/lib/ui/cards.dart +++ b/scp/lib/ui/cards.dart @@ -1,3 +1,5 @@ +// ignore_for_file: unused_import, unnecessary_null_comparison + import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:scp/firebase/timetable_data.dart'; diff --git a/scp/lib/ui/views/mentor_search/mentee_page.dart b/scp/lib/ui/views/mentor_search/mentee_page.dart index 3056dde..f3a9c3e 100644 --- a/scp/lib/ui/views/mentor_search/mentee_page.dart +++ b/scp/lib/ui/views/mentor_search/mentee_page.dart @@ -83,7 +83,7 @@ class _MenteeDetailsState extends State { builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.waiting || snapshot.connectionState == ConnectionState.none) { - return const CircularProgressIndicator(); + return Center(child: const CircularProgressIndicator()); } if (snapshot.hasError) { return Center( diff --git a/scp/lib/utils/routes.dart b/scp/lib/utils/routes.dart index 699531f..3d4cdc2 100644 --- a/scp/lib/utils/routes.dart +++ b/scp/lib/utils/routes.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; +import 'package:scp/FAQ/faqPage.dart'; import 'package:scp/acadVault.dart'; import 'package:scp/counselling/counsellingPage.dart'; import 'package:scp/drawer_screens/notifications/notifications_view.dart'; -import 'package:scp/faqPage.dart'; import 'package:scp/home_page.dart'; import 'package:scp/chat.dart'; import 'package:scp/drawer_screens/about_scs.dart'; diff --git a/scp/pubspec.lock b/scp/pubspec.lock index 7a3b5f5..80115ae 100644 --- a/scp/pubspec.lock +++ b/scp/pubspec.lock @@ -109,10 +109,10 @@ packages: dependency: transitive description: name: collection - sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" + sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 url: "https://pub.dev" source: hosted - version: "1.17.1" + version: "1.17.2" connectivity: dependency: "direct main" description: @@ -644,18 +644,18 @@ packages: dependency: transitive description: name: matcher - sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" url: "https://pub.dev" source: hosted - version: "0.12.15" + version: "0.12.16" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.5.0" meta: dependency: transitive description: @@ -801,7 +801,7 @@ packages: source: hosted version: "3.7.3" provider: - dependency: transitive + dependency: "direct main" description: name: provider sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f @@ -897,10 +897,10 @@ packages: dependency: transitive description: name: source_span - sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" stack_trace: dependency: transitive description: @@ -961,10 +961,10 @@ packages: dependency: transitive description: name: test_api - sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb + sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "0.6.0" typed_data: dependency: transitive description: @@ -1061,6 +1061,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + web: + dependency: transitive + description: + name: web + sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + url: "https://pub.dev" + source: hosted + version: "0.1.4-beta" web_socket_channel: dependency: transitive description: @@ -1102,5 +1110,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.0.0 <4.0.0" + dart: ">=3.1.0-185.0.dev <4.0.0" flutter: ">=3.10.0" diff --git a/scp/pubspec.yaml b/scp/pubspec.yaml index 227d20d..cab6b4a 100644 --- a/scp/pubspec.yaml +++ b/scp/pubspec.yaml @@ -10,13 +10,13 @@ description: Mobile app of ICS NIT Rourkela version: 4.6.0+20 environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=3.0.0 <4.0.0" dependencies: flutter: sdk: flutter cloud_firestore: ^4.0.3 - connectivity: ^3.0.6 + connectivity: ^3.0.6 firebase_auth: ^4.1.0 firebase_core: ^2.1.1 firebase_core_platform_interface: ^4.5.1 @@ -24,7 +24,7 @@ dependencies: firebase_database: ^10.0.3 firebase_messaging: ^14.0.3 firebase_remote_config: ^4.2.4 - firebase_storage: ^11.0.3 + firebase_storage: ^11.0.3 flutter_contacts: ^1.1.1+2 font_awesome_flutter: ^10.2.1 get_it: ^7.2.0 @@ -33,7 +33,7 @@ dependencies: in_app_review: ^2.0.3 intl: ^0.18.1 lite_rolling_switch: ^1.0.0 - lottie: ^2.6.0 + lottie: ^2.6.0 ndialog: ^4.1.0 package_info: ^2.0.2 path_provider: ^2.0.3 @@ -48,6 +48,7 @@ dependencies: expansion_tile_card: ^3.0.0 flutter_inappwebview: ^5.3.2 firebase_analytics: ^10.0.3 + provider: ^6.0.5 dev_dependencies: flutter_test: