diff --git a/.gitignore b/.gitignore index 29a3a50..79c113f 100644 --- a/.gitignore +++ b/.gitignore @@ -5,9 +5,11 @@ *.swp .DS_Store .atom/ +.build/ .buildlog/ .history .svn/ +.swiftpm/ migrate_working_dir/ # IntelliJ related diff --git a/lib/contacts_module/ui_screen/interactionform/new_dynamicform.dart b/lib/contacts_module/ui_screen/interactionform/new_dynamicform.dart index f379d97..4b07c1a 100644 --- a/lib/contacts_module/ui_screen/interactionform/new_dynamicform.dart +++ b/lib/contacts_module/ui_screen/interactionform/new_dynamicform.dart @@ -1,14 +1,6 @@ import 'dart:convert'; import 'dart:io'; -import 'package:konectar_events/contacts_module/constants.dart'; -import 'package:konectar_events/contacts_module/ui_screen/interactionform/interactionprovider.dart'; -import 'package:konectar_events/contacts_module/ui_screen/interactionform/model/interaction_data.dart'; -import 'package:konectar_events/contacts_module/ui_screen/interactionform/util.dart'; -import 'package:konectar_events/contacts_module/ui_screen/interactionform/viewinteractionprovider.dart'; -import 'package:konectar_events/contacts_module/ui_screen/interactionform/widget/custombutton.dart'; -import 'package:konectar_events/contacts_module/ui_screen/interactionform/widget/customrangeslider.dart'; -import 'package:konectar_events/contacts_module/ui_screen/interactionform/widget/responsive_ext.dart'; import 'package:dropdownfield2/dropdownfield2.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; @@ -16,6 +8,15 @@ import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; import 'package:intl/intl.dart'; +import 'package:konectar_events/contacts_module/constants.dart'; +import 'package:konectar_events/contacts_module/ui_screen/interactionform/interactionprovider.dart'; +import 'package:konectar_events/contacts_module/ui_screen/interactionform/model/interaction_data.dart'; +import 'package:konectar_events/contacts_module/ui_screen/interactionform/viewinteractionprovider.dart'; +import 'package:konectar_events/contacts_module/ui_screen/interactionform/widget/customrangeslider.dart'; +import 'package:konectar_events/contacts_module/ui_screen/interactionform/widget/responsive_ext.dart'; +import 'package:konectar_events/utils/appcolors.dart'; +import 'package:konectar_events/utils/util.dart'; +import 'package:konectar_events/widgets/custombutton.dart'; import 'package:path_provider/path_provider.dart'; import 'package:popover/popover.dart'; import 'package:provider/provider.dart'; @@ -102,7 +103,7 @@ class _InteractionScreen1State extends State { setState(() {}); } - final CarouselController _controller = CarouselController(); + final FlutterCarouselController _controller = FlutterCarouselController(); @override void dispose() { @@ -157,7 +158,7 @@ class _InteractionScreen1State extends State { // sectionList = item.sectionList; // print("Section_ListttPooja: $sectionList"); FlutterCarousel( - options: CarouselOptions( + options: FlutterCarouselOptions( onPageChanged: (index, reason) { setState(() { _currentPage = index; diff --git a/lib/contacts_module/ui_screen/new_editinteraction.dart b/lib/contacts_module/ui_screen/new_editinteraction.dart index 825eb8a..2f4cd49 100644 --- a/lib/contacts_module/ui_screen/new_editinteraction.dart +++ b/lib/contacts_module/ui_screen/new_editinteraction.dart @@ -60,7 +60,7 @@ class _EditInteractionScreenState extends State { String? fileName; final TextEditingController textEditingController = TextEditingController(); - final CarouselController _controller = CarouselController(); + final FlutterCarouselController _controller = FlutterCarouselController(); int _currentPage = 0; late int _totalPages = @@ -156,7 +156,7 @@ class _EditInteractionScreenState extends State { // var item = provider.interactionReponseList[index]; // sectionList = item.sectionList; child: FlutterCarousel( - options: CarouselOptions( + options: FlutterCarouselOptions( onPageChanged: (index, reason) { setState(() { _currentPage = index; diff --git a/lib/main.dart b/lib/main.dart index 4fdda30..bac4c03 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -260,39 +260,41 @@ Future main() async { create: (_) => HiveDataRepository( Hive.box('InteractionConfigDataBox'))), ], - child: SafeArea( - top: true, - child: MaterialApp( - theme: ThemeData( - //fontFamily: "SourceSerif", - ), - debugShowCheckedModeBanner: false, - title: 'Dynamic Links Example', - initialRoute: '/', - routes: { - '/': (BuildContext context) => FutureBuilder( - future: SessionManager().isLoggedIn(), - builder: (context, snapshot) { - print("Data_is : $snapshot"); - if (snapshot.connectionState == ConnectionState.waiting) { - return const CircularProgressIndicator(); - } else if (snapshot.hasError) { - return Text('Error: ${snapshot.error}'); - } else { - final isLoggedIn = snapshot.data ?? false; - print("isLoggedIn_is : $isLoggedIn"); - print("secret : $secretkey"); - return isLoggedIn - ? NavigationHomeScreen() - : IntroductionAnimationScreen(); - } - }, - ), //userInfo != null ? const Home() : OpenidScreen(credential: credential,), - // '/details': (BuildContext context) => const HomeScreen(), - }, - ), + child: + // SafeArea( + // top: true, + // child: + MaterialApp( + theme: ThemeData( + //fontFamily: "SourceSerif", + ), + debugShowCheckedModeBanner: false, + title: 'Dynamic Links Example', + initialRoute: '/', + routes: { + '/': (BuildContext context) => FutureBuilder( + future: SessionManager().isLoggedIn(), + builder: (context, snapshot) { + print("Data_is : $snapshot"); + if (snapshot.connectionState == ConnectionState.waiting) { + return const CircularProgressIndicator(); + } else if (snapshot.hasError) { + return Text('Error: ${snapshot.error}'); + } else { + final isLoggedIn = snapshot.data ?? false; + print("isLoggedIn_is : $isLoggedIn"); + print("secret : $secretkey"); + return isLoggedIn + ? NavigationHomeScreen() + : IntroductionAnimationScreen(); + } + }, + ), //userInfo != null ? const Home() : OpenidScreen(credential: credential,), + // '/details': (BuildContext context) => const HomeScreen(), + }, ), ), + // ), ); }); } diff --git a/lib/utils/apicall.dart b/lib/utils/apicall.dart index aead3c3..b8f1327 100644 --- a/lib/utils/apicall.dart +++ b/lib/utils/apicall.dart @@ -27,13 +27,15 @@ import 'package:konectar_events/model/verify_user_resp.dart'; import 'package:konectar_events/utils/constants.dart'; import 'package:konectar_events/viewmodel/hive_repository.dart'; import 'package:shared_preferences/shared_preferences.dart'; +import 'package:http/http.dart' as http; class ApiCall { final dio = Dio(); final Future _prefs = SharedPreferences.getInstance(); late Future _token; - + String newtoken = + "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZWNyZXRlVG9rZW4iOiJiYjNmOTZmYmI5Y2U3ZjA2ZTliOTlkMzRiMGM3YjZkZTBlNjBmYWYzYmM1NDFhZjY0MGQ5ZjAzMGRlNzMxOWM4ZTAwZWNkMCIsImlhdCI6MTczNDM0OTUwNywiZXhwIjoxNzM0MzUxMzA3fQ.nN5XtgmWHVGGdyLEdICY6jTmlg1070rGFwsdyOd4CYY"; //K1 API CALLS Future parseInfo() async { Dio dio = Dio(); @@ -123,38 +125,44 @@ class ApiCall { return client; }; Response response; - var formData = FormData.fromMap({ - "start": "2024-12-05", - "end": "2024-12-31", - "order_by": 8, - 'type': type ?? 1 - }); + String date = "2024-12-17"; + var formData = + FormData.fromMap({"start": date, "order_by": 7, 'type': type ?? 1}); // "end": DateTime(2024, 12, 14).toIso8601String(), _token = _prefs.then((SharedPreferences prefs) { return prefs.getString('token') ?? ""; }); print("SAVED TOKEN :${await _token}"); - response = - await dio.post('${EventsConstants.url}${EventsConstants.eventslistapi}', - options: Options(headers: { - "Authorization": "Bearer ${await _token}", - }), - // queryParameters: { - // "user_email": "vinodh@aissel.com", - // "project_id": "", - // "start": 2024 - 11 - 22, - // "end": "", - // "order_by": 7, - // "type": 1, - // }, - data: formData); - print("response user eventssssss here!!!!!!!!!!!!!!!!!!!!! "); - print(response.data.toString()); - Map jsondata = json.decode(response.data); + try { + // dio.options.contentType = Headers.multipartFormDataContentType; + // dio.options.baseUrl = "https://cardio-staging.konectar.io/"; - EventsData eventresponse = EventsData.fromJson(jsondata); - List? eventdata = eventresponse.events; - return eventdata!; + // dio.options.headers["Authorization"] = "Bearer ${newtoken}"; + + response = await dio.post( + 'https://cardio-staging.konectar.io/apis/v1/events/loadFutureEvents/', + options: Options( + contentType: "multipart/form-data", + followRedirects: false, + // will not throw errors + validateStatus: (status) => true, + headers: { + 'Authorization': 'Bearer ${newtoken}', + }), + data: formData); + + print("RESPONSE"); + print(response.data.toString()); + Map jsondata = json.decode(response.data); + + EventsData eventresponse = EventsData.fromJson(jsondata); + List? eventdata = eventresponse.events; + return eventdata!; + } catch (e) { + print("EXCEPTION:${e.toString()}"); + } + print("response user eventssssss here!!!!!!!!!!!!!!!!!!!!! "); + return []; } Future followUnfollowEvent(String flag, String eventid) async { @@ -588,7 +596,7 @@ class ApiCall { //VERIFY EMAIL K1 Future verifyEmail( - String email, String deviceid, String platform) async { + String url, String email, String deviceid, String platform) async { Dio dio = Dio(); (dio.httpClientAdapter as IOHttpClientAdapter).onHttpClientCreate = (HttpClient client) { @@ -601,19 +609,25 @@ class ApiCall { "email_id": email, "device_id": deviceid, }); - response = await dio.post( - '${EventsConstants.loginUrl}${EventsConstants.getVerificationCode}', - options: Options(), - data: formData); - if (response.statusCode == 200) { - print("response user login!!!!!!!!!!!!!!!!!!!!! \n ${response.data} "); - Map jsondata = json.decode(response.data); + try { + response = await dio.post( + '${url}${EventsConstants.loginmodule}/${EventsConstants.getVerificationCode}', + options: Options(), + data: formData); + if (response.statusCode == 200) { + print("response user login!!!!!!!!!!!!!!!!!!!!! \n ${response.data} "); + //Map jsondata = json.decode(response.data); + VerificationResponse verificationResponse = + verificationResponseFromJson(response.data); + return verificationResponse; + } else { + print("isEmpty"); + return null; + } + } catch (e) { VerificationResponse verificationResponse = - verificationResponseFromJson(response.data); + VerificationResponse(status: 1401, message: "Invalid Domain"); return verificationResponse; - } else { - print("isEmpty"); - return null; } } @@ -656,14 +670,24 @@ class ApiCall { (X509Certificate cert, String host, int port) => true; return client; }; + print("email : $email,device : $deviceid"); + _token = _prefs.then((SharedPreferences prefs) { + return prefs.getString('token') ?? ""; + }); Response response; - print("url :${EventsConstants.loginUrl}${EventsConstants.logout}"); + print("url :${EventsConstants.loginUrl}${EventsConstants.logout}/"); var formData = FormData.fromMap({ "email_id": email, "device_id": deviceid, }); response = await dio.post( '${EventsConstants.loginUrl}${EventsConstants.logout}', + options: Options( + contentType: "application/x-www-form-urlencoded", + followRedirects: false, + // will not throw errors + validateStatus: (status) => true, + headers: {"Authorization": "Bearer $_token"}), data: formData, // queryParameters: { // "token": token, diff --git a/lib/utils/app_theme.dart b/lib/utils/app_theme.dart index 7f6f509..dd7f8c0 100644 --- a/lib/utils/app_theme.dart +++ b/lib/utils/app_theme.dart @@ -19,16 +19,6 @@ class AppTheme { static const Color spacer = Color(0xFFF2F2F2); static const String fontName = 'WorkSans'; - static const TextTheme textTheme = TextTheme( - headline4: display1, - headline5: headline, - headline6: title, - subtitle2: subtitle, - bodyText2: body2, - bodyText1: body1, - caption: caption, - ); - static const TextStyle display1 = TextStyle( // h4 -> display1 fontFamily: fontName, diff --git a/lib/utils/validations.dart b/lib/utils/validations.dart index a756a91..e84c33f 100644 --- a/lib/utils/validations.dart +++ b/lib/utils/validations.dart @@ -37,13 +37,13 @@ class FieldValidation { static String validateUrl(String url) { if (url.isEmpty) { - return 'Please enter application url'; + return 'Please enter domain url'; } else { bool isURLValid = Uri.parse(url).host.isNotEmpty; if (isURLValid) { return ''; } else { - return 'Please enter valid application url'; + return 'Please enter valid domain url'; } } } diff --git a/lib/view/login.dart b/lib/view/login.dart index c69404a..380bf8a 100644 --- a/lib/view/login.dart +++ b/lib/view/login.dart @@ -19,6 +19,7 @@ import 'package:konectar_events/viewmodel/loginprovider.dart'; import 'package:konectar_events/widgets/customappbar.dart'; import 'package:konectar_events/widgets/custombutton.dart'; import 'package:konectar_events/widgets/customtextfield.dart'; +import 'package:konectar_events/widgets/snackbar.dart'; import 'package:provider/provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:mobile_device_identifier/mobile_device_identifier.dart'; @@ -52,7 +53,6 @@ class _LoginScreenState extends State { void initState() { super.initState(); WidgetsBinding.instance.addPostFrameCallback((timeStamp) { - init(); provider = Provider.of(context, listen: false); initDeviceId(); if (Platform.isAndroid) { @@ -98,10 +98,6 @@ class _LoginScreenState extends State { print("DEVICE ID########################## :$deviceId"); } - init() async { - await ApiCall().parseInfo(); - } - @override Widget build(BuildContext context) { return Consumer( @@ -281,6 +277,28 @@ class _LoginScreenState extends State { const SizedBox( height: 20, ), + SizedBox( + height: 50, + child: TextField( + controller: domainTextConrtroller, + style: TextStyle(fontSize: isTablet ? 18.0 : 16), + decoration: InputDecoration( + border: const OutlineInputBorder(), + labelStyle: TextStyle(fontSize: isTablet ? 18.0 : 16), + labelText: "Domain", + hintStyle: TextStyle(fontSize: isTablet ? 18.0 : 16), + prefix: Text("https://"), + suffix: Text(".io/"), + hintText: "Enter your Domain"), + ), + ), + // CustomTextField( + // labelText: "Domain Url", + // controller: domainTextConrtroller, + // ), + const SizedBox( + height: 10, + ), CustomTextField( labelText: "Email", controller: emailTextController), // const SizedBox(), @@ -307,12 +325,11 @@ class _LoginScreenState extends State { child: CustomButton( backgroundColor: EventsConstants.onboardButtonColor, onPressed: () async { - setState(() { - print("loading"); - provider.loading = true; - }); - if (textFieldsValidation(provider).isEmpty) { + setState(() { + print("loading"); + provider.loading = true; + }); print("email:${emailTextController.text}"); // if (await _logout) { // print("LOGOUT"); @@ -341,44 +358,57 @@ class _LoginScreenState extends State { provider.email = emailTextController.text; // String encoded = // base64.encode(utf8.encode(deviceId)); - - VerificationResponse resp = await provider.verifyEmail( + String domain = + "https://${domainTextConrtroller.text}.io/"; + var resp = await provider.verifyEmail(domain, emailTextController.text, deviceId!, platform); - print("resp:${resp.status}"); + if (resp != null) { + print("resp:${resp.status}"); - if (resp.status == 1200 && - resp.verification_code != null) { - provider.loading = false; - provider.showCodeField = true; - provider.showMessage = true; - } else if (resp.status == 1200 && - resp.accessToken != "") { - provider.loading = false; - provider.showCodeField = false; - provider.showMessage = true; - _displaySnackBar("You have logged in successfully"); - _saveprefs( - resp.accessToken!, - resp.user?.email ?? emailTextController.text, - secretKeyTextConrtroller.text, - deviceId!, - true) - .then((value) { - Navigator.of(context).pushReplacement( - MaterialPageRoute( - builder: (context) => NavigationHomeScreen()), - ); + if (resp.status == 1200 && + resp.verification_code != null) { + provider.loading = false; + provider.showCodeField = true; + provider.showMessage = true; + // secretKeyTextConrtroller.text = + // resp.verification_code!; + } else if (resp.status == 1200 && + resp.accessToken != "") { + provider.loading = false; + provider.showCodeField = false; + + provider.showMessage = true; + SnackBarWidget.displaySnackBar( + "You have logged in successfully", context); + _saveprefs( + resp.accessToken!, + resp.user?.email ?? + emailTextController.text, + secretKeyTextConrtroller.text, + deviceId!, + true) + .then((value) { + Navigator.of(context).pushReplacement( + MaterialPageRoute( + builder: (context) => + NavigationHomeScreen()), + ); + }); + } else { + provider.loading = false; + provider.showCodeField = false; + // provider.showMessage = true; + SnackBarWidget.displaySnackBar( + resp.message, context, + error: true); + (); + } + + provider.message = resp.message; + setState(() { + emailTextController.text = provider.email!; }); - } else { - provider.loading = false; - provider.showCodeField = false; - provider.showMessage = true; } - - provider.message = resp.message; - setState(() { - emailTextController.text = provider.email!; - }); } else { provider.code = secretKeyTextConrtroller.text; VerificationResponse resp = await provider.verifyCode( @@ -409,6 +439,7 @@ class _LoginScreenState extends State { secretKeyTextConrtroller.text = provider.code!; }); } + // } //_joinMeeting(roomText.text, "demo meet2"); @@ -479,7 +510,7 @@ class _LoginScreenState extends State { return secretkey; }); _verification_code = - prefs.setString('verfication_code', key).then((bool success) { + prefs.setString('deviceid', vcode).then((bool success) { return verification_code; }); _login = prefs.setBool('isloggedin', login).then((bool success) { @@ -505,12 +536,15 @@ class _LoginScreenState extends State { // if (FieldValidation.validateName(nameTextController.text).isNotEmpty) { // return FieldValidation.validateName(nameTextController.text); // } + String domain = "https://${domainTextConrtroller.text}.io/"; + + if (FieldValidation.validateUrl(domain).isNotEmpty) { + return FieldValidation.validateUrl(domain); + } if (FieldValidation.validateEmail(emailTextController.text).isNotEmpty) { return FieldValidation.validateEmail(emailTextController.text); } - // if (FieldValidation.validateUrl(domainTextConrtroller.text).isNotEmpty) { - // return FieldValidation.validateUrl(domainTextConrtroller.text); - // } + if (provider.showCodeField) { if (FieldValidation.validateSecretKey(secretKeyTextConrtroller.text) .isNotEmpty) { diff --git a/lib/view/navigation_home_screen.dart b/lib/view/navigation_home_screen.dart index 508f475..bf662d9 100644 --- a/lib/view/navigation_home_screen.dart +++ b/lib/view/navigation_home_screen.dart @@ -36,12 +36,12 @@ class _NavigationHomeScreenState extends State { @override Widget build(BuildContext context) { return Container( - color: AppTheme.white, + color: Colors.white, child: SafeArea( top: false, bottom: false, child: Scaffold( - backgroundColor: AppTheme.nearlyWhite, + backgroundColor: Colors.white, body: DrawerUserController( screenIndex: drawerIndex, drawerWidth: MediaQuery.of(context).size.width * 0.75, diff --git a/lib/viewmodel/loginprovider.dart b/lib/viewmodel/loginprovider.dart index 95d2295..675cbae 100644 --- a/lib/viewmodel/loginprovider.dart +++ b/lib/viewmodel/loginprovider.dart @@ -19,8 +19,9 @@ class LoginProvider extends ChangeNotifier { String deviceId = 'Unknown'; init() {} - Future verifyEmail(String email, String deviceid, String platform) { - final response = ApiCall().verifyEmail(email, deviceid, platform); + Future verifyEmail( + String url, String email, String deviceid, String platform) { + dynamic response = ApiCall().verifyEmail(url, email, deviceid, platform); loading = true; return response; } diff --git a/lib/widgets/home_drawer.dart b/lib/widgets/home_drawer.dart index 6091449..5ec22c3 100644 --- a/lib/widgets/home_drawer.dart +++ b/lib/widgets/home_drawer.dart @@ -36,7 +36,7 @@ class _HomeDrawerState extends State { }); _deviceid = _prefs.then((SharedPreferences prefs) { - return prefs.getString('verfication_code') ?? ""; + return prefs.getString('deviceid') ?? ""; }); super.initState(); } diff --git a/pubspec.lock b/pubspec.lock index 4449f0f..78bc880 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -189,10 +189,10 @@ packages: dependency: "direct main" description: name: carousel_slider - sha256: "9c695cc963bf1d04a47bd6021f68befce8970bcd61d24938e1fb0918cf5d9c42" + sha256: "7b006ec356205054af5beaef62e2221160ea36b90fb70a35e4deacd49d0349ae" url: "https://pub.dev" source: hosted - version: "4.2.1" + version: "5.0.0" characters: dependency: transitive description: @@ -253,10 +253,10 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" connectivity_plus: dependency: "direct main" description: @@ -285,10 +285,10 @@ packages: dependency: transitive description: name: cross_file - sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32" + sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" url: "https://pub.dev" source: hosted - version: "0.3.4+1" + version: "0.3.4+2" crypto: dependency: transitive description: @@ -429,10 +429,10 @@ packages: dependency: "direct main" description: name: file_picker - sha256: "2ca051989f69d1b2ca012b2cf3ccf78c70d40144f0861ff2c063493f7c8c3d45" + sha256: c2376a6aae82358a9f9ccdd7d1f4006d08faa39a2767cce01031d9f593a8bd3b url: "https://pub.dev" source: hosted - version: "8.0.5" + version: "8.1.6" file_selector_linux: dependency: transitive description: @@ -477,18 +477,18 @@ packages: dependency: transitive description: name: firebase_core_platform_interface - sha256: c437ae5d17e6b5cc7981cf6fd458a5db4d12979905f9aafd1fea930428a9fe63 + sha256: b94b217e3ad745e784960603d33d99471621ecca151c99c670869b76e50ad2a6 url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "5.3.1" firebase_core_web: dependency: transitive description: name: firebase_core_web - sha256: "43d9e951ac52b87ae9cc38ecdcca1e8fa7b52a1dd26a96085ba41ce5108db8e9" + sha256: "9e69806bb3d905aeec3c1242e0e1475de6ea6d48f456af29d598fb229a2b4e5e" url: "https://pub.dev" source: hosted - version: "2.17.0" + version: "2.18.2" firebase_remote_config: dependency: "direct main" description: @@ -546,10 +546,10 @@ packages: dependency: "direct main" description: name: flutter_carousel_widget - sha256: "9476c39f1fcff57fb387a1a3c379a01f7c73eca4179ac1b41c07b7181fadec14" + sha256: "6473e6df04bfafea70efd58251fe5945d5aa8d19461575c1b9d83643f08e0c77" url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "3.1.0" flutter_heatmap_calendar: dependency: "direct main" description: @@ -689,7 +689,7 @@ packages: source: hosted version: "0.15.4" http: - dependency: transitive + dependency: "direct main" description: name: http sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 @@ -748,10 +748,10 @@ packages: dependency: transitive description: name: image_picker_for_web - sha256: "6a1704fdd75022272e7e7a897a9068e9c2ff3cd6a66820bf3ded810633eac954" + sha256: "717eb042ab08c40767684327be06a5d8dbb341fe791d514e4b92c7bbe1b7bb83" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.6" image_picker_ios: dependency: transitive description: @@ -860,26 +860,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.8" 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" logger: dependency: transitive description: @@ -908,18 +908,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.15.0" mime: dependency: transitive description: @@ -1276,10 +1276,10 @@ packages: 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: @@ -1308,7 +1308,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" sliver_tools: dependency: transitive description: @@ -1369,10 +1369,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" state_notifier: dependency: transitive description: @@ -1401,10 +1401,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" syncfusion_flutter_charts: dependency: "direct main" description: @@ -1457,10 +1457,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.3" textfield_tags: dependency: "direct dev" description: @@ -1553,10 +1553,10 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "3692a459204a33e04bc94f5fb91158faf4f2c8903281ddd82915adecdb1a901d" + sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.3.3" url_launcher_windows: dependency: transitive description: @@ -1609,10 +1609,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.3.0" watcher: dependency: transitive description: @@ -1625,26 +1625,26 @@ packages: dependency: transitive description: name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "1.1.0" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2" + sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b url: "https://pub.dev" source: hosted - version: "2.4.4" + version: "2.4.0" win32: dependency: transitive description: name: win32 - sha256: "0a989dc7ca2bb51eac91e8fd00851297cfffd641aa7538b165c62637ca0eaa4a" + sha256: "68d1e89a91ed61ad9c370f9f8b6effed9ae5e0ede22a270bdfa6daf79fc2290a" url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "5.5.4" word_cloud: dependency: "direct main" description: @@ -1694,5 +1694,5 @@ packages: source: hosted version: "2.0.1" 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 f0d4e5e..88e063b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -66,7 +66,7 @@ dependencies: path_provider: ^2.1.3 provider: ^6.1.2 dropdown_button2: ^2.3.9 - file_picker: ^8.0.2 + file_picker: ^8.1.4 permission_handler: ^11.3.1 connectivity_plus: ^6.0.3 @@ -82,8 +82,8 @@ dependencies: popover: ^0.3.0+1 data_table_2: ^2.5.15 expandable: ^5.0.1 - flutter_carousel_widget: ^2.2.0 - carousel_slider: ^4.2.1 + carousel_slider: ^5.0.0 + flutter_carousel_widget: ^3.1.0 popup_menu: ^2.0.0 adoptive_calendar: ^0.1.8 multi_dropdown: ^2.1.4 @@ -95,6 +95,7 @@ dependencies: overlay_support: ^2.1.0 flutter_svg_provider: ^1.0.7 zoom_widget: ^2.0.1 + http: ^1.2.2 dev_dependencies: