diff --git a/assets/images/devs-dark.png b/assets/images/devs-dark.png new file mode 100644 index 0000000..9c1f3fd Binary files /dev/null and b/assets/images/devs-dark.png differ diff --git a/lib/new_ui/screens/launch_screen/launch_screen.dart b/lib/new_ui/screens/launch_screen/launch_screen.dart new file mode 100644 index 0000000..c928329 --- /dev/null +++ b/lib/new_ui/screens/launch_screen/launch_screen.dart @@ -0,0 +1,176 @@ +import 'package:flutter/material.dart'; +import 'package:cloud_firestore/cloud_firestore.dart'; +import 'dart:async'; +import 'package:bcrypt/bcrypt.dart'; +import 'package:go_router/go_router.dart'; +import 'package:tsec_app/new_ui/colors.dart'; +// import 'package:tsec_app/new_ui/screens/login_screen/login_screen.dart'; + +class LaunchScreen extends StatefulWidget { + @override + _LaunchScreenState createState() => _LaunchScreenState(); +} + +class _LaunchScreenState extends State { + Timer? _timer; + Duration _duration = Duration(); + DateTime? _launchDate; + final TextEditingController _controller = TextEditingController(); + + @override + void initState() { + super.initState(); + _fetchLaunchDate(); + } + + Future _fetchLaunchDate() async { + try { + DocumentSnapshot> snapshot = await FirebaseFirestore.instance + .collection('Launch') + .doc('launch') + .get(); + Timestamp? timestamp = snapshot.data()?['date'] as Timestamp?; + setState(() { + _launchDate = timestamp?.toDate(); + if (_launchDate != null) { + _startTimer(); + } + }); + } catch (e) { + print('Error fetching launch date: $e'); + } + } + + void _startTimer() { + _timer = Timer.periodic(Duration(milliseconds: 1), (timer) { + if (_launchDate != null) { + setState(() { + _duration = _launchDate!.difference(DateTime.now()); + if (_duration.inMilliseconds <= 0) { + _timer?.cancel(); + _navigateToLogin(); + } + }); + } + }); + } + + void _navigateToLogin() { + print('Navigating to LoginScreen'); + context.go('/login'); + } + + Future _checkAnswer() async { + try { + DocumentSnapshot> snapshot = await FirebaseFirestore.instance + .collection('Launch') + .doc('launch') + .get(); + String hashedAnswer = snapshot.data()?['ans'] ?? ''; + + // Compare the hashed answer with the user input + if (BCrypt.checkpw(_controller.text.trim(), hashedAnswer)) { + _navigateToLogin(); + } else { + // Optionally show an error message + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text('Incorrect code. Please try again.')), + ); + } + } catch (e) { + print('Error checking answer: $e'); + } + } + + @override + void dispose() { + _timer?.cancel(); + _controller.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final int days = _duration.inDays; + final int hours = _duration.inHours % 24; + final int minutes = _duration.inMinutes % 60; + final int seconds = _duration.inSeconds % 60; + final int milliseconds = _duration.inMilliseconds % 1000; + + return Scaffold( + backgroundColor: commonbgblack, + body: Center( + child: Padding( + padding: const EdgeInsets.all(5.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Image.asset( + 'assets/images/devs-dark.png', + height: 250, + width: 250, + ), + Text( + "App Launch in", + style: TextStyle( + color: Colors.white, + fontSize: 24, + fontWeight: FontWeight.bold, + shadows: [ + Shadow( + offset: Offset(1.0, 1.0), + blurRadius: 4.0, + color: Colors.blue, + ), + ], + ), + ), + SizedBox(height: 10), + Text( + _launchDate == null + ? 'Loading...' + : '$days:${hours.toString().padLeft(2, '0')}:${minutes.toString().padLeft(2, '0')}:${seconds.toString().padLeft(2, '0')}:${milliseconds.toString().padLeft(3, '0')}', + style: TextStyle( + color: Colors.white, + fontSize: 20, + ), + ), + SizedBox(height: 50), + Text( + r'$2a$10$2FYV.6fyPfD4mO7arFVI3eUC.98haCmPBgSmO21IV6.nYbByoW2Ii', + style: TextStyle( + color: Colors.grey[600], + fontSize: 8, + ), + ), + SizedBox(height: 10), + Container( + width: MediaQuery.of(context).size.width * 0.8, + child: TextField( + controller: _controller, + decoration: InputDecoration( + filled: true, + fillColor: commonbgLightblack, + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(10.0), + borderSide: BorderSide( + color: commonbgLightblack, + width: 1.5, + ), + ), + hintText: 'Code for pre access', + hintStyle: TextStyle(color: Colors.grey[700], fontSize: 15), + ), + style: TextStyle(color: Colors.white), + onSubmitted: (value) { + _checkAnswer(); + }, + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/new_ui/screens/main_screen/main_screen.dart b/lib/new_ui/screens/main_screen/main_screen.dart index 2b76411..76ec106 100644 --- a/lib/new_ui/screens/main_screen/main_screen.dart +++ b/lib/new_ui/screens/main_screen/main_screen.dart @@ -21,6 +21,7 @@ import 'package:tsec_app/new_ui/screens/notes_screen/notes_screen.dart'; import 'package:tsec_app/new_ui/screens/profile_screen/profile_screen.dart'; import 'package:tsec_app/new_ui/screens/railway_screen/railway_screen.dart'; import 'package:tsec_app/new_ui/screens/railway_screen/railwayform.dart'; +import 'package:tsec_app/new_ui/screens/launch_screen/launch_screen.dart'; import 'package:tsec_app/new_ui/screens/timetable_screen/timetable_screen.dart'; import 'package:tsec_app/provider/appbar_title_provider.dart'; import 'package:tsec_app/provider/auth_provider.dart'; @@ -791,7 +792,7 @@ class _MainScreenState extends ConsumerState { width: size.width, padding: EdgeInsets.all(8), decoration: BoxDecoration( - borderRadius: BorderRadius.circular(5), + borderRadius: BorderRadius.circular(10), color: Color(0xff383838), ), child: InkWell( @@ -803,6 +804,8 @@ class _MainScreenState extends ConsumerState { .headlineMedium! .copyWith( fontSize: 22, + fontFamily: 'Montserrat', + fontWeight: FontWeight.bold, color: Theme .of(context) .colorScheme diff --git a/lib/new_ui/screens/splash_screen/splash_screen.dart b/lib/new_ui/screens/splash_screen/splash_screen.dart index ca0d41c..17769b3 100644 --- a/lib/new_ui/screens/splash_screen/splash_screen.dart +++ b/lib/new_ui/screens/splash_screen/splash_screen.dart @@ -1,16 +1,18 @@ +import 'package:flutter/material.dart'; +import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:tsec_app/models/user_model/user_model.dart'; import 'package:async/async.dart'; -import '/../utils/image_assets.dart'; import 'dart:async'; -import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:tsec_app/models/student_model/student_model.dart'; import 'package:tsec_app/new_ui/screens/main_screen/main_screen.dart'; import 'package:tsec_app/new_ui/screens/profile_screen/profile_screen.dart'; +import 'package:tsec_app/new_ui/screens/launch_screen/launch_screen.dart'; import 'package:tsec_app/provider/app_state_provider.dart'; import 'package:tsec_app/provider/auth_provider.dart'; +import '/../utils/image_assets.dart'; import 'package:tsec_app/provider/concession_provider.dart'; import 'package:tsec_app/provider/firebase_provider.dart'; import 'package:tsec_app/utils/notification_type.dart'; @@ -24,6 +26,8 @@ class SplashScreen extends ConsumerStatefulWidget { class _SplashScreenState extends ConsumerState { final AsyncMemoizer _memoizer = AsyncMemoizer(); + DateTime? _launchDate; + bool _isLaunchDateFetched = false; fetchUserDataOnce() { return _memoizer.runOnce(() async { @@ -32,6 +36,28 @@ class _SplashScreenState extends ConsumerState { }); } + Future _fetchLaunchDate() async { + try { + DocumentSnapshot> snapshot = await FirebaseFirestore.instance + .collection('Launch') + .doc('launch') + .get(); + Timestamp? timestamp = snapshot.data()?['date'] as Timestamp?; + setState(() { + _launchDate = timestamp?.toDate(); + _isLaunchDateFetched = true; + }); + } catch (e) { + print('Error fetching launch date: $e'); + } + } + + @override + void initState() { + super.initState(); + _fetchLaunchDate(); + } + //check permissions void requestpermission() async { final status = await Permission.storage.status; @@ -46,6 +72,18 @@ class _SplashScreenState extends ConsumerState { @override Widget build(BuildContext context) { + if (!_isLaunchDateFetched) { + return Scaffold( + body: Center( + child: CircularProgressIndicator(), + ), + ); + } + + if (_launchDate != null && DateTime.now().isBefore(_launchDate!)) { + return LaunchScreen(); + } + return FutureBuilder( future: fetchUserDataOnce(), builder: (context, snapshot) { @@ -59,17 +97,10 @@ class _SplashScreenState extends ConsumerState { } else { return MainScreen(); } - - // if (userModel != null) { - // return ProfilePage(justLoggedIn: true); - // } else { - // return MainScreen(); - // } } else { return Scaffold( body: Center( child: SizedBox( - //SECOND SCREEN LOGO child: Image.asset(ImageAssets.tsecapplogo), height: 250, width: 250, diff --git a/pubspec.lock b/pubspec.lock index 38701d0..6768492 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -13,10 +13,10 @@ packages: dependency: transitive description: name: _flutterfire_internals - sha256: "37a42d06068e2fe3deddb2da079a8c4d105f241225ba27b7122b37e9865fd8f7" + sha256: f5628cd9c92ed11083f425fd1f8f1bc60ecdda458c81d73b143aeda036c35fe7 url: "https://pub.dev" source: hosted - version: "1.3.35" + version: "1.3.16" analyzer: dependency: transitive description: @@ -65,6 +65,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.1" + bcrypt: + dependency: "direct main" + description: + name: bcrypt + sha256: "9dc3f234d5935a76917a6056613e1a6d9b53f7fa56f98e24cd49b8969307764b" + url: "https://pub.dev" + source: hosted + version: "1.1.3" boolean_selector: dependency: transitive description: @@ -93,10 +101,10 @@ packages: dependency: transitive description: name: build_daemon - sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" + sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9" url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "4.0.2" build_resolvers: dependency: transitive description: @@ -109,18 +117,18 @@ packages: dependency: "direct dev" description: name: build_runner - sha256: "3ac61a79bfb6f6cc11f693591063a7f19a7af628dc52f141743edac5c16e8c22" + sha256: "644dc98a0f179b872f612d3eb627924b578897c629788e858157fa5e704ca0c7" url: "https://pub.dev" source: hosted - version: "2.4.9" + version: "2.4.11" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" + sha256: e3c79f69a64bdfcd8a776a3c28db4eb6e3fb5356d013ae5eb2e52007706d5dbe url: "https://pub.dev" source: hosted - version: "7.3.0" + version: "7.3.1" built_collection: dependency: transitive description: @@ -205,26 +213,26 @@ packages: dependency: "direct main" description: name: cloud_firestore - sha256: a0f161b92610e078b4962d7e6ebeb66dc9cce0ada3514aeee442f68165d78185 + sha256: "8bfbb5a2edbc6052452326d60de0113fea2bcbf081d34a3f8e45c8b38307b31c" url: "https://pub.dev" source: hosted - version: "4.17.5" + version: "4.14.0" cloud_firestore_platform_interface: dependency: transitive description: name: cloud_firestore_platform_interface - sha256: "6a55b319f8d33c307396b9104512e8130a61904528ab7bd8b5402678fca54b81" + sha256: "73ff438fe46028f0e19f55da18b6ddc6906ab750562cd7d9ffab77ff8c0c4307" url: "https://pub.dev" source: hosted - version: "6.2.5" + version: "6.1.0" cloud_firestore_web: dependency: transitive description: name: cloud_firestore_web - sha256: "89dfa1304d3da48b3039abbb2865e3d30896ef858e569a16804a99f4362283a9" + sha256: "232e45e95970d3a6baab8f50f9c3a6e2838d145d9d91ec9a7392837c44296397" url: "https://pub.dev" source: hosted - version: "3.12.5" + version: "3.9.0" code_builder: dependency: transitive description: @@ -253,10 +261,10 @@ packages: dependency: transitive description: name: cross_file - sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32" + sha256: "2f9d2cbccb76127ba28528cb3ae2c2326a122446a83de5a056aaa3880d3882c5" url: "https://pub.dev" source: hosted - version: "0.3.4+1" + version: "0.3.3+7" crypto: dependency: transitive description: @@ -413,34 +421,34 @@ packages: dependency: "direct main" description: name: firebase_auth - sha256: cfc2d970829202eca09e2896f0a5aa7c87302817ecc0bdfa954f026046bf10ba + sha256: "279b2773ff61afd9763202cb5582e2b995ee57419d826b9af6517302a59b672f" url: "https://pub.dev" source: hosted - version: "4.20.0" + version: "4.16.0" firebase_auth_platform_interface: dependency: transitive description: name: firebase_auth_platform_interface - sha256: a0270e1db3b2098a14cb2a2342b3cd2e7e458e0c391b1f64f6f78b14296ec093 + sha256: "3c9cfaccb7549492edf5b0c67c6dd1c6727c7830891aa6727f2fb225f0226626" url: "https://pub.dev" source: hosted - version: "7.3.0" + version: "7.0.9" firebase_auth_web: dependency: transitive description: name: firebase_auth_web - sha256: "64e067e763c6378b7e774e872f0f59f6812885e43020e25cde08f42e9459837b" + sha256: c7b1379ccef7abf4b6816eede67a868c44142198e42350f51c01d8fc03f95a7d url: "https://pub.dev" source: hosted - version: "5.12.0" + version: "5.8.13" firebase_core: dependency: "direct main" description: name: firebase_core - sha256: "26de145bb9688a90962faec6f838247377b0b0d32cc0abecd9a4e43525fc856c" + sha256: "96607c0e829a581c2a483c658f04e8b159964c3bae2730f73297070bc85d40bb" url: "https://pub.dev" source: hosted - version: "2.32.0" + version: "2.24.2" firebase_core_platform_interface: dependency: transitive description: @@ -453,58 +461,58 @@ packages: dependency: transitive description: name: firebase_core_web - sha256: "23509cb3cddfb3c910c143279ac3f07f06d3120f7d835e4a5d4b42558e978712" + sha256: d585bdf3c656c3f7821ba1bd44da5f13365d22fcecaf5eb75c4295246aaa83c0 url: "https://pub.dev" source: hosted - version: "2.17.3" + version: "2.10.0" firebase_messaging: dependency: "direct main" description: name: firebase_messaging - sha256: a1662cc95d9750a324ad9df349b873360af6f11414902021f130c68ec02267c4 + sha256: "980259425fa5e2afc03e533f33723335731d21a56fd255611083bceebf4373a8" url: "https://pub.dev" source: hosted - version: "14.9.4" + version: "14.7.10" firebase_messaging_platform_interface: dependency: transitive description: name: firebase_messaging_platform_interface - sha256: "87c4a922cb6f811cfb7a889bdbb3622702443c52a0271636cbc90d813ceac147" + sha256: "54e283a0e41d81d854636ad0dad73066adc53407a60a7c3189c9656e2f1b6107" url: "https://pub.dev" source: hosted - version: "4.5.37" + version: "4.5.18" firebase_messaging_web: dependency: transitive description: name: firebase_messaging_web - sha256: "0d34dca01a7b103ed7f20138bffbb28eb0e61a677bf9e78a028a932e2c7322d5" + sha256: "90dc7ed885e90a24bb0e56d661d4d2b5f84429697fd2cbb9e5890a0ca370e6f4" url: "https://pub.dev" source: hosted - version: "3.8.7" + version: "3.5.18" firebase_storage: dependency: "direct main" description: name: firebase_storage - sha256: "2ae478ceec9f458c1bcbf0ee3e0100e4e909708979e83f16d5d9fba35a5b42c1" + sha256: "75e6cb6bed65138b5bbd86bfd7cf9bc9a175fb0c31aacc400e9203df117ffbe6" url: "https://pub.dev" source: hosted - version: "11.7.7" + version: "11.6.0" firebase_storage_platform_interface: dependency: transitive description: name: firebase_storage_platform_interface - sha256: "4e18662e6a66e2e0e181c06f94707de06d5097d70cfe2b5141bf64660c5b5da9" + sha256: "545a3a8edf337850403bb0fa03c8074a53deb87c0107d19755c77a82ce07919e" url: "https://pub.dev" source: hosted - version: "5.1.22" + version: "5.1.3" firebase_storage_web: dependency: transitive description: name: firebase_storage_web - sha256: "3a44aacd38a372efb159f6fe36bb4a7d79823949383816457fd43d3d47602a53" + sha256: ee6870ff79aa304b8996ba18a4aefe1e8b3fc31fd385eab6574180267aa8d393 url: "https://pub.dev" source: hosted - version: "3.9.7" + version: "3.6.17" fixnum: dependency: transitive description: @@ -562,10 +570,10 @@ packages: dependency: "direct main" description: name: flutter_local_notifications - sha256: "0a9068149f0225e81642b03562e99776106edbd967816ee68bc16310d457c60e" + sha256: dd6676d8c2926537eccdf9f72128bbb2a9d0814689527b17f92c248ff192eaf3 url: "https://pub.dev" source: hosted - version: "17.2.1+1" + version: "17.2.1+2" flutter_local_notifications_linux: dependency: transitive description: @@ -586,10 +594,10 @@ packages: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: "8cf40eebf5dec866a6d1956ad7b4f7016e6c0cc69847ab946833b7d43743809f" + sha256: c6b0b4c05c458e1c01ad9bcc14041dd7b1f6783d487be4386f793f47a8a4d03e url: "https://pub.dev" source: hosted - version: "2.0.19" + version: "2.0.20" flutter_riverpod: dependency: "direct main" description: @@ -644,18 +652,18 @@ packages: dependency: transitive description: name: graphs - sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" http: dependency: transitive description: name: http - sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" + sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" http_multi_server: dependency: transitive description: @@ -692,18 +700,18 @@ packages: dependency: transitive description: name: image_picker_android - sha256: "0f57fee1e8bfadf8cc41818bbcd7f72e53bb768a54d9496355d5e8a5681a19f1" + sha256: cea2bd5b9fcff039a4901d3b13c67fe747f940be9ba76bde1bcd218d168eeb7f url: "https://pub.dev" source: hosted - version: "0.8.12+1" + version: "0.8.12+6" image_picker_for_web: dependency: transitive description: name: image_picker_for_web - sha256: "5d6eb13048cd47b60dbf1a5495424dea226c5faf3950e20bf8120a58efb5b5f3" + sha256: e2423c53a68b579a7c37a1eda967b8ae536c3d98518e5db95ca1fe5719a730a3 url: "https://pub.dev" source: hosted - version: "3.0.4" + version: "3.0.2" image_picker_ios: dependency: transitive description: @@ -764,10 +772,10 @@ packages: dependency: transitive description: name: js - sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 url: "https://pub.dev" source: hosted - version: "0.7.1" + version: "0.6.7" json_annotation: dependency: "direct main" description: @@ -788,26 +796,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.1" linkify: dependency: transitive description: @@ -860,10 +868,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" mime: dependency: transitive description: @@ -916,10 +924,10 @@ packages: dependency: transitive description: name: path_provider_android - sha256: a248d8146ee5983446bf03ed5ea8f6533129a12b11f12057ad1b4a67a2b3b41d + sha256: "30c5aa827a6ae95ce2853cdc5fe3971daaac00f6f081c419c013f7f57bff2f5e" url: "https://pub.dev" source: hosted - version: "2.2.4" + version: "2.2.7" path_provider_foundation: dependency: transitive description: @@ -1068,10 +1076,10 @@ packages: dependency: transitive description: name: shared_preferences_android - sha256: "1ee8bf911094a1b592de7ab29add6f826a7331fb854273d55918693d5364a1f2" + sha256: "93d0ec9dd902d85f326068e6a899487d1f65ffcd5798721a95330b26c8131577" url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.2.3" shared_preferences_foundation: dependency: transitive description: @@ -1092,18 +1100,18 @@ packages: dependency: transitive description: name: shared_preferences_platform_interface - sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b" + sha256: "034650b71e73629ca08a0bd789fd1d83cc63c2d1e405946f7cef7bc37432f93a" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.0" shared_preferences_web: dependency: transitive description: name: shared_preferences_web - sha256: "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a" + sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.2.1" shared_preferences_windows: dependency: transitive description: @@ -1124,10 +1132,10 @@ packages: dependency: transitive description: name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "2.0.0" sky_engine: dependency: transitive description: flutter @@ -1137,10 +1145,10 @@ packages: dependency: "direct main" description: name: smooth_page_indicator - sha256: eebe23a5bd887ca4bc7b9c6173362edb2c625e37aee6043a567a342973357a7b + sha256: "3b28b0c545fa67ed9e5997d9f9720d486f54c0c607e056a1094544e36934dff3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.0+3" source_gen: dependency: transitive description: @@ -1249,10 +1257,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" textfield_search: dependency: "direct main" description: @@ -1305,10 +1313,10 @@ packages: dependency: transitive description: name: url_launcher_android - sha256: "17cd5e205ea615e2c6ea7a77323a11712dffa0720a8a90540db57a01347f9ad9" + sha256: "95d8027db36a0e52caf55680f91e33ea6aa12a3ce608c90b06f4e429a21067ac" url: "https://pub.dev" source: hosted - version: "6.3.2" + version: "6.3.5" url_launcher_ios: dependency: transitive description: @@ -1345,10 +1353,10 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a" + sha256: "7fd2f55fe86cea2897b963e864dc01a7eb0719ecc65fcef4c1cc3d686d718bb2" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.2.0" url_launcher_windows: dependency: transitive description: @@ -1377,10 +1385,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.2.1" watcher: dependency: transitive description: @@ -1393,18 +1401,26 @@ packages: dependency: transitive description: name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + sha256: d43c1d6b787bf0afad444700ae7f4db8827f701bc61c255ac8d328c6f4d52062 + url: "https://pub.dev" + source: hosted + version: "1.0.0" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "0.1.6" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: "58c6666b342a38816b2e7e50ed0f1e261959630becd4c879c4f26bfa14aa5a42" + sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f" url: "https://pub.dev" source: hosted - version: "2.4.5" + version: "3.0.1" webview_flutter: dependency: "direct main" description: @@ -1417,10 +1433,10 @@ packages: dependency: "direct main" description: name: webview_flutter_android - sha256: "0d21cfc3bfdd2e30ab2ebeced66512b91134b39e72e97b43db2d47dda1c4e53a" + sha256: f42447ca49523f11d8f70abea55ea211b3cafe172dd7a0e7ac007bb35dd356dc url: "https://pub.dev" source: hosted - version: "3.16.3" + version: "3.16.4" webview_flutter_platform_interface: dependency: transitive description: @@ -1441,10 +1457,10 @@ packages: dependency: transitive description: name: win32 - sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb" + sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 url: "https://pub.dev" source: hosted - version: "5.5.0" + version: "5.5.1" xdg_directories: dependency: transitive description: @@ -1470,5 +1486,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.3.0 <4.0.0" - flutter: ">=3.19.0" + dart: ">=3.4.0 <4.0.0" + flutter: ">=3.22.0" diff --git a/pubspec.yaml b/pubspec.yaml index 28927a9..12083ac 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -67,6 +67,7 @@ dependencies: easy_stepper: ^0.8.0 flutter_local_notifications: ^17.2.1+1 #firebase_ui_firestore: ^1.6.3 + bcrypt: ^1.1.3 dev_dependencies: build_runner: null @@ -107,6 +108,7 @@ flutter: - assets/images/tsecimage2.png - assets/images/railwayConcession.png - assets/images/devs.png + - assets/images/devs-dark.png - assets/images/tick2.png - assets/images/railway.png - assets/images/attendance.png