diff --git a/.tool-versions b/.tool-versions index a487aa36..fc05c635 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -gradle 7.5 +gradle 7.6.1 diff --git a/android/.tool-versions b/android/.tool-versions index 93158317..3d505cf2 100644 --- a/android/.tool-versions +++ b/android/.tool-versions @@ -1,2 +1,2 @@ -gradle 8.7 -kotlin 1.7.10 +gradle 8.10.2 +kotlin 2.0.20 diff --git a/android/app/build.gradle b/android/app/build.gradle index 9d29d984..00885235 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,7 +1,10 @@ plugins { - id "com.android.application" - id "kotlin-android" - id "dev.flutter.flutter-gradle-plugin" + id 'com.android.application' + id 'com.android.library' apply false + id 'org.jetbrains.kotlin.android' + + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" } def localProperties = new Properties() @@ -29,6 +32,7 @@ if (keystorePropertiesFile.exists()) { } android { + namespace 'com.freaccess.hub' compileSdkVersion 34 compileSdk 34 @@ -48,17 +52,17 @@ android { versionCode flutterVersionCode.toInteger() versionName flutterVersionName multiDexEnabled true - } - compileOptions { - // Flag to enable support for the new language APIs - coreLibraryDesugaringEnabled true - // Sets Java compatibility to Java 8 - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } + compileOptions { + coreLibraryDesugaringEnabled true + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } signingConfigs { release { @@ -86,18 +90,12 @@ flutter { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10" - // id "org.jetbrains.kotlin.android" version "1.8.10" apply false - - implementation 'com.android.support:multidex:1.0.3' // Se necessário, adicione suporte ao multidex - // Adicione outras dependências do seu aplicativo aqui - + implementation 'com.android.support:multidex:1.0.3' implementation 'androidx.window:window:1.0.0' implementation 'androidx.window:window-java:1.0.0' implementation ('com.google.firebase:firebase-messaging:24.0.0') { exclude group: 'com.google.firebase', module: 'firebase-iid' } - - } apply plugin: 'com.google.gms.google-services' \ No newline at end of file diff --git a/android/build.gradle b/android/build.gradle index 1e3b46cb..c652f990 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,16 +1,17 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.8.10' // Replace with the latest version + ext.kotlin_version = '2.0.20' // Replace with the latest version + ext.gradle_version = '8.6.0' // Replace with the latest version + ext.google_services_version = '4.4.2' // Replace with the latest version repositories { google() mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.3.1' // Use a versão do Gradle que corresponde à sua configuração + classpath "com.android.tools.build:gradle:$gradle_version" // Use a versão do Gradle que corresponde à sua configuração classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath 'com.google.gms:google-services:4.4.2' // Google Services plugin - // Certifique-se de adicionar outras dependências do classpath aqui, se necessário. - } + classpath "com.google.gms:google-services:$google_services_version" // Google Services plugin + } } allprojects { diff --git a/android/gradle.properties b/android/gradle.properties index 498c33b7..ed508580 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,4 +1,3 @@ org.gradle.jvmargs=-Xmx4608m android.useAndroidX=true android.enableJetifier=true -android.enableR8=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 50832291..df97d72b 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/android/settings.gradle b/android/settings.gradle index c944fca3..4fdec649 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -18,12 +18,16 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "7.3.0" apply false + id 'com.android.application' version '8.6.0' apply false + id 'com.android.library' version '8.6.0' apply false + id 'org.jetbrains.kotlin.android' version '2.0.20' apply false + + // START: FlutterFire Configuration id "com.google.gms.google-services" version "4.3.15" apply false // END: FlutterFire Configuration // id "org.jetbrains.kotlin.android" version "1.7.10" apply false - id "org.jetbrains.kotlin.android" version "1.8.10" apply false +// id "org.jetbrains.kotlin.android" version "1.8.10" apply false diff --git a/integration_test/app_test.dart b/integration_test/app_test.dart new file mode 100644 index 00000000..bb1a3f8e --- /dev/null +++ b/integration_test/app_test.dart @@ -0,0 +1,48 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:hub/main.dart'; +import 'package:integration_test/integration_test.dart'; + +void main() { + IntegrationTestWidgetsFlutterBinding.ensureInitialized(); + + group('Authentication Tests', () { + setUp(() async { + await initializeApp(); + }); + + testWidgets('Test MyApp', (WidgetTester tester) async { + await tester.pumpWidget(const App()); + await _navToSignIn(tester); + await _enterCredentialsAndSignIn(tester); + await _login(tester); + }); + }); +} + +Future _navToSignIn(WidgetTester tester) async { + final navToSignIn = find.byKey(const Key('toggleSignInPage')); + if (navToSignIn.evaluate().isNotEmpty) { + await tester.tap(navToSignIn); + await tester.pumpAndSettle(); + } +} + +Future _enterCredentialsAndSignIn(WidgetTester tester) async { + final emailField = find.byKey(const ValueKey('emailField')); + await tester.enterText(emailField, 'test@example.com'); + await tester.pumpAndSettle(); + + final passwordField = find.byKey(const ValueKey('passwordField')); + await tester.enterText(passwordField, 'password123'); + await tester.pumpAndSettle(); +} + +Future _login(WidgetTester tester) async { + // Encontre o botão de login e clique nele + final signInButton = find.byKey(const Key('loginCallback')); + // expect(signInButton, findsOneWidget); + tester.press(signInButton); + + await tester.pumpAndSettle(); +} diff --git a/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart b/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart index 945fa394..b9e0dc69 100644 --- a/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart +++ b/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart @@ -236,6 +236,8 @@ class _SignInTemplateComponentWidgetState child: SizedBox( width: double.infinity, child: TextFormField( + key: const ValueKey( + 'emailField'), controller: _model .emailAddressTextController, focusNode: _model @@ -383,6 +385,8 @@ class _SignInTemplateComponentWidgetState child: SizedBox( width: double.infinity, child: TextFormField( + key: const ValueKey( + 'passwordField'), controller: _model .passwordTextController, cursorColor: @@ -711,6 +715,9 @@ class _SignInTemplateComponentWidgetState .fromSTEB(0.0, 0.0, 0.0, 16.0), child: FFButtonWidget( + key: const ValueKey< + String>( + 'loginCallback'), onPressed: _isFormInvalid() ? null diff --git a/lib/components/templates_components/welcome_template_component/welcome_template_component_widget.dart b/lib/components/templates_components/welcome_template_component/welcome_template_component_widget.dart index 999a3a80..21411d4f 100644 --- a/lib/components/templates_components/welcome_template_component/welcome_template_component_widget.dart +++ b/lib/components/templates_components/welcome_template_component/welcome_template_component_widget.dart @@ -1,13 +1,14 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_animate/flutter_animate.dart'; +import 'package:google_fonts/google_fonts.dart'; import 'package:hub/components/atomic_components/shared_components_atoms/atom_image_svg_theme.dart'; import '/flutter_flow/flutter_flow_animations.dart'; import '/flutter_flow/flutter_flow_theme.dart'; import '/flutter_flow/flutter_flow_util.dart'; import '/flutter_flow/flutter_flow_widgets.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_animate/flutter_animate.dart'; -import 'package:google_fonts/google_fonts.dart'; import 'welcome_template_component_model.dart'; + export 'welcome_template_component_model.dart'; class WelcomeTemplateComponentWidget extends StatefulWidget { @@ -165,7 +166,8 @@ class _WelcomeTemplateComponentWidgetState decoration: const BoxDecoration(), child: ClipRRect( borderRadius: BorderRadius.circular(0.0), - child: const AtomImageSvgTheme(filename: 'welcome', width: 600, height: double.infinity), + child: const AtomImageSvgTheme( + filename: 'welcome', width: 600, height: double.infinity), ), ), Align( @@ -209,9 +211,12 @@ class _WelcomeTemplateComponentWidgetState mainAxisSize: MainAxisSize.max, children: [ Padding( - padding: const EdgeInsetsDirectional.fromSTEB( - 0.0, 0.0, 0.0, 16.0), + padding: + const EdgeInsetsDirectional.fromSTEB( + 0.0, 0.0, 0.0, 16.0), child: FFButtonWidget( + key: const ValueKey( + 'toggleSignInPage'), onPressed: () async { await widget.toggleSignInPage?.call(); }, @@ -222,12 +227,11 @@ class _WelcomeTemplateComponentWidgetState options: FFButtonOptions( width: double.infinity, height: 44.0, - padding: - const EdgeInsetsDirectional.fromSTEB( - 0.0, 0.0, 0.0, 0.0), + padding: const EdgeInsetsDirectional + .fromSTEB(0.0, 0.0, 0.0, 0.0), iconPadding: - const EdgeInsetsDirectional.fromSTEB( - 0.0, 0.0, 0.0, 0.0), + const EdgeInsetsDirectional + .fromSTEB(0.0, 0.0, 0.0, 0.0), color: FlutterFlowTheme.of(context) .primary, textStyle: FlutterFlowTheme.of( @@ -258,9 +262,12 @@ class _WelcomeTemplateComponentWidgetState ), ), Padding( - padding: const EdgeInsetsDirectional.fromSTEB( - 0.0, 0.0, 0.0, 16.0), + padding: + const EdgeInsetsDirectional.fromSTEB( + 0.0, 0.0, 0.0, 16.0), child: FFButtonWidget( + key: const ValueKey( + 'toggleSignUpPage'), onPressed: () async { await widget.toggleSignUpPage?.call(); }, @@ -271,12 +278,11 @@ class _WelcomeTemplateComponentWidgetState options: FFButtonOptions( width: double.infinity, height: 44.0, - padding: - const EdgeInsetsDirectional.fromSTEB( - 0.0, 0.0, 0.0, 0.0), + padding: const EdgeInsetsDirectional + .fromSTEB(0.0, 0.0, 0.0, 0.0), iconPadding: - const EdgeInsetsDirectional.fromSTEB( - 0.0, 0.0, 0.0, 0.0), + const EdgeInsetsDirectional + .fromSTEB(0.0, 0.0, 0.0, 0.0), color: FlutterFlowTheme.of(context) .customColor1, textStyle: FlutterFlowTheme.of( @@ -316,8 +322,8 @@ class _WelcomeTemplateComponentWidgetState children: [ Expanded( child: Padding( - padding: const EdgeInsetsDirectional.fromSTEB( - 0.0, 0.0, 0.0, 16.0), + padding: const EdgeInsetsDirectional + .fromSTEB(0.0, 0.0, 0.0, 16.0), child: FFButtonWidget( onPressed: () async { await widget.toggleSignInPage @@ -330,11 +336,11 @@ class _WelcomeTemplateComponentWidgetState options: FFButtonOptions( width: double.infinity, height: 44.0, - padding: - const EdgeInsetsDirectional.fromSTEB( - 0.0, 0.0, 0.0, 0.0), + padding: const EdgeInsetsDirectional + .fromSTEB(0.0, 0.0, 0.0, 0.0), iconPadding: - const EdgeInsetsDirectional.fromSTEB( + const EdgeInsetsDirectional + .fromSTEB( 0.0, 0.0, 0.0, 0.0), color: FlutterFlowTheme.of(context) .primary, @@ -369,8 +375,8 @@ class _WelcomeTemplateComponentWidgetState ), Expanded( child: Padding( - padding: const EdgeInsetsDirectional.fromSTEB( - 0.0, 0.0, 0.0, 16.0), + padding: const EdgeInsetsDirectional + .fromSTEB(0.0, 0.0, 0.0, 16.0), child: FFButtonWidget( onPressed: () async { await widget.toggleSignUpPage @@ -383,11 +389,11 @@ class _WelcomeTemplateComponentWidgetState options: FFButtonOptions( width: double.infinity, height: 44.0, - padding: - const EdgeInsetsDirectional.fromSTEB( - 0.0, 0.0, 0.0, 0.0), + padding: const EdgeInsetsDirectional + .fromSTEB(0.0, 0.0, 0.0, 0.0), iconPadding: - const EdgeInsetsDirectional.fromSTEB( + const EdgeInsetsDirectional + .fromSTEB( 0.0, 0.0, 0.0, 0.0), color: FlutterFlowTheme.of(context) .primary, diff --git a/lib/flutter_flow/internationalization.dart b/lib/flutter_flow/internationalization.dart index ac5543a0..fc8877a3 100644 --- a/lib/flutter_flow/internationalization.dart +++ b/lib/flutter_flow/internationalization.dart @@ -254,7 +254,7 @@ final kTranslationsMap = >>[ 'en': 'End of Visit', }, 'xpgc5e8d': { - 'pt': 'Quando a visita terminá?', + 'pt': 'Quando a visita terminará?', 'en': 'When will the visit end?', }, '0meymh6u': { diff --git a/lib/flutter_flow/upload_data.dart b/lib/flutter_flow/upload_data.dart index d936206c..5673b06a 100644 --- a/lib/flutter_flow/upload_data.dart +++ b/lib/flutter_flow/upload_data.dart @@ -9,7 +9,6 @@ import 'package:hub/flutter_flow/nav/nav.dart'; import 'package:hub/shared/utils/dialog_util.dart'; import 'package:image_picker/image_picker.dart'; import 'package:mime_type/mime_type.dart'; -import 'package:video_player/video_player.dart'; import 'flutter_flow_theme.dart'; import 'flutter_flow_util.dart'; @@ -533,10 +532,12 @@ Future _getImageDimensions(Uint8List mediaBytes) async { } Future _getVideoDimensions(String path) async { - final VideoPlayerController videoPlayerController = - VideoPlayerController.asset(path); - await videoPlayerController.initialize(); - final size = videoPlayerController.value.size; + // final VideoPlayerController videoPlayerController = + // VideoPlayerController.asset(path); + // await videoPlayerController.initialize(); + // final size = videoPlayerController.value.size; + //mock + final size = const Size(1920, 1080); return MediaDimensions(width: size.width, height: size.height); } diff --git a/lib/main.dart b/lib/main.dart index 0cd33e88..009bf551 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,7 +2,6 @@ import 'dart:developer'; import 'dart:io'; import 'package:app_tracking_transparency/app_tracking_transparency.dart'; -import 'package:awesome_notifications/awesome_notifications.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_crashlytics/firebase_crashlytics.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; @@ -15,19 +14,18 @@ import 'package:hub/backend/notifications/notification_service.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/internationalization.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/helpers/secure_storage_helper.dart'; import 'package:hub/shared/utils/storage_util.dart'; import 'package:responsive_framework/responsive_framework.dart'; final GlobalKey navigatorKey = GlobalKey(); void main() async { - await _initializeApp(); + await initializeApp(); runApp(const App()); FirebaseMessaging.onBackgroundMessage(_backgroundHandlerMessage); } -Future _initializeApp() async { +Future initializeApp() async { WidgetsFlutterBinding.ensureInitialized(); await _initializeStorageHelpers(); @@ -165,11 +163,15 @@ class _AppState extends State { ]; Widget Function(BuildContext, Widget?)? builder = (context, widget) { + const String HD4K = '4K'; + const String ULTRAWIDE = 'ULTRAWIDE'; + final breakpoints = [ const Breakpoint(start: 0, end: 450, name: MOBILE), const Breakpoint(start: 451, end: 800, name: TABLET), const Breakpoint(start: 801, end: 1920, name: DESKTOP), - const Breakpoint(start: 1921, end: double.infinity, name: '4K'), + const Breakpoint(start: 1921, end: 2560, name: HD4K), + const Breakpoint(start: 2561, end: double.infinity, name: ULTRAWIDE), ]; return ResponsiveBreakpoints.builder( child: BouncingScrollWrapper.builder(context, widget!), diff --git a/lib/pages/home_page/home_page_model.dart b/lib/pages/home_page/home_page_model.dart index 11baa3ae..a648e58b 100644 --- a/lib/pages/home_page/home_page_model.dart +++ b/lib/pages/home_page/home_page_model.dart @@ -4,8 +4,6 @@ import 'package:hub/components/organism_components/menu_component/menu_component import 'package:hub/components/organism_components/message_well_component/message_well_component_model.dart'; import 'package:hub/flutter_flow/flutter_flow_model.dart'; import 'package:hub/pages/home_page/home_page_widget.dart'; -import 'package:hub/shared/helpers/secure_storage_helper.dart'; -import 'package:hub/shared/helpers/sqlite_storage_helper.dart'; import 'package:hub/shared/utils/storage_util.dart'; class HomePageModel extends FlutterFlowModel { @@ -28,7 +26,7 @@ class HomePageModel extends FlutterFlowModel { devUUID = StorageUtil().devUUID; cliUUID = StorageUtil().cliUUID; userUUID = StorageUtil().userUUID; - userName = StorageUtil().cliName; + userName = StorageUtil().userName; userEmail = StorageUtil().email; } diff --git a/lib/pages/schedule_complete_visit_page/schedule_complete_visit_page_model.dart b/lib/pages/schedule_complete_visit_page/schedule_complete_visit_page_model.dart index df5c29f0..5e7de008 100644 --- a/lib/pages/schedule_complete_visit_page/schedule_complete_visit_page_model.dart +++ b/lib/pages/schedule_complete_visit_page/schedule_complete_visit_page_model.dart @@ -1,27 +1,19 @@ -import 'dart:developer'; - +import 'package:flutter/material.dart'; import 'package:hub/backend/api_requests/api_calls.dart'; -import 'package:hub/backend/api_requests/api_manager.dart'; import 'package:hub/components/templates_components/details_component/details_component_widget.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; - import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/flutter_flow_widgets.dart'; import 'package:hub/flutter_flow/form_field_controller.dart'; -import 'package:hub/flutter_flow/internationalization.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; import 'package:hub/flutter_flow/request_manager.dart'; - -import 'package:flutter/material.dart'; import 'package:hub/pages/schedule_complete_visit_page/schedule_complete_visit_page_widget.dart'; -import 'package:hub/pages/schedule_complete_visit_page/visit_history_page_widget.dart'; -import 'package:hub/shared/helpers/sqlite_storage_helper.dart'; import 'package:hub/shared/mixins/status_mixin.dart'; import 'package:hub/shared/utils/storage_util.dart'; -import 'package:hub/shared/utils/validator_util.dart'; -import 'package:intl/intl.dart'; import 'package:share_plus/share_plus.dart'; +import '../../shared/utils/validator_util.dart'; + class ScheduleCompleteVisitPageModel extends FlutterFlowModel { late VoidCallback safeSetState; @@ -111,8 +103,7 @@ class ScheduleCompleteVisitPageModel return false; } - if (selectedDateTime1.isBefore(currentDateTime) || - selectedDateTime2.isBefore(currentDateTime)) { + if (selectedDateTime2.isBefore(currentDateTime)) { return false; } @@ -120,6 +111,10 @@ class ScheduleCompleteVisitPageModel return false; } + if (selectedDateTime1.isAtSameMomentAs(selectedDateTime2)) { + return false; + } + return true; } @@ -156,6 +151,12 @@ class ScheduleCompleteVisitPageModel ptText: 'A data de início deve ser posterior à data atual.', ); } + if (startDate.isAtSameMomentAs(endDate)) { + return FFLocalizations.of(context).getVariableText( + enText: 'Start date must be different from end date.', + ptText: 'A data de início deve ser diferente da data de término.', + ); + } } catch (e) { return FFLocalizations.of(context).getVariableText( ptText: 'Preencha corretamente o campo de término da visita!', @@ -195,6 +196,12 @@ class ScheduleCompleteVisitPageModel ptText: 'A data de término deve ser posterior à data atual.', ); } + if (startDate.isAtSameMomentAs(endDate)) { + return FFLocalizations.of(context).getVariableText( + enText: 'End date must be different from start date.', + ptText: 'A data de término deve ser diferente da data de início.', + ); + } } catch (e) { return FFLocalizations.of(context).getVariableText( ptText: 'Preencha corretamente o campo de início da visita!', diff --git a/lib/pages/sign_up_page/sign_up_page_widget.dart b/lib/pages/sign_up_page/sign_up_page_widget.dart index 4af08b3a..7402c828 100644 --- a/lib/pages/sign_up_page/sign_up_page_widget.dart +++ b/lib/pages/sign_up_page/sign_up_page_widget.dart @@ -1,10 +1,11 @@ +import 'package:flutter/material.dart'; import 'package:hub/shared/mixins/switcher_mixin.dart'; import '/components/templates_components/sign_up_template_component/sign_up_template_component_widget.dart'; import '/flutter_flow/flutter_flow_theme.dart'; import '/flutter_flow/flutter_flow_util.dart'; -import 'package:flutter/material.dart'; import 'sign_up_page_model.dart'; + export 'sign_up_page_model.dart'; class SignUpPageWidget extends StatefulWidget with Switcher { @@ -50,7 +51,7 @@ class _SignUpPageWidgetState extends State { child: SignUpTemplateComponentWidget( toggleSignInPage: () async { await Switcher.toggleSignInPage(context); - setState(() {}); + safeSetState(() {}); }, ), ), diff --git a/lib/shared/helpers/secure_storage_helper.dart b/lib/shared/helpers/secure_storage_helper.dart index 7e135cb3..5992d1b7 100644 --- a/lib/shared/helpers/secure_storage_helper.dart +++ b/lib/shared/helpers/secure_storage_helper.dart @@ -1,8 +1,9 @@ import 'dart:developer'; + import 'package:flutter/material.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; -import 'package:hub/shared/utils/storage_util.dart'; import 'package:hub/shared/utils/cache_util.dart'; +import 'package:hub/shared/utils/storage_util.dart'; class SecureStorageHelper extends ChangeNotifier implements Storage { static final SecureStorageHelper _instance = SecureStorageHelper._internal(); diff --git a/lib/shared/utils/storage_util.dart b/lib/shared/utils/storage_util.dart index 3b9e2a64..ebe919b5 100644 --- a/lib/shared/utils/storage_util.dart +++ b/lib/shared/utils/storage_util.dart @@ -7,7 +7,7 @@ import 'package:hub/shared/helpers/sqlite_storage_helper.dart'; import 'package:hub/shared/utils/cache_util.dart'; import 'package:shared_preferences/shared_preferences.dart'; -enum StorageType { SecureStorage, SharedPreferences, SQLite3 } +enum StorageType { secureStorage, sharedPreferences, dbSQLite3 } abstract class Storage { Future set(String key, dynamic value, Function(dynamic) cacheSetter); @@ -47,14 +47,14 @@ class StorageUtil { } switch (data.type) { - case StorageType.SecureStorage: + case StorageType.secureStorage: await SecureStorageHelper().set(data.key, data.value, (v) {}); break; - case StorageType.SharedPreferences: + case StorageType.sharedPreferences: await SharedPreferencesStorageHelper() .set(data.key, data.value, (v) {}); break; - case StorageType.SQLite3: + case StorageType.dbSQLite3: await SQLiteStorageHelper().set(data.key, data.value, (v) {}); break; } @@ -69,13 +69,13 @@ class StorageUtil { var value = CacheUtil().get(data.key); if (value == null) { switch (data.type) { - case StorageType.SecureStorage: + case StorageType.secureStorage: value = await SecureStorageHelper().get(data.key); break; - case StorageType.SharedPreferences: + case StorageType.sharedPreferences: value = await SharedPreferencesStorageHelper().get(data.key); break; - case StorageType.SQLite3: + case StorageType.dbSQLite3: value = await SQLiteStorageHelper().get(data.key); break; } @@ -92,13 +92,13 @@ class StorageUtil { try { CacheUtil().delete(data.key); switch (data.type) { - case StorageType.SecureStorage: + case StorageType.secureStorage: await SecureStorageHelper().delete(data.key); break; - case StorageType.SharedPreferences: + case StorageType.sharedPreferences: await SharedPreferencesStorageHelper().delete(data.key); break; - case StorageType.SQLite3: + case StorageType.dbSQLite3: await SQLiteStorageHelper().delete(data.key); break; } diff --git a/lib/shared/widgets/drawer_widget/drawer_widget.dart b/lib/shared/widgets/drawer_widget/drawer_widget.dart index 80af1bf1..5636717f 100644 --- a/lib/shared/widgets/drawer_widget/drawer_widget.dart +++ b/lib/shared/widgets/drawer_widget/drawer_widget.dart @@ -1,12 +1,12 @@ import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:hub/backend/schema/enums/enums.dart'; -import 'package:hub/components/organism_components/menu_component/menu_component_widget.dart'; -import 'package:hub/flutter_flow/custom_functions.dart'; -import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/pages/home_page/home_page_model.dart'; +import '../../../components/organism_components/menu_component/menu_component_widget.dart'; +import '../../../flutter_flow/flutter_flow_theme.dart'; + class CustomDrawer extends StatelessWidget { const CustomDrawer({super.key, required this.model}); final HomePageModel model; @@ -79,7 +79,7 @@ class CustomDrawer extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - convertToUppercase(model.userName) ?? '', + model.userName, style: FlutterFlowTheme.of(context).bodyLarge.override( fontFamily: 'Nunito Sans', color: FlutterFlowTheme.of(context).primaryText, diff --git a/pubspec.lock b/pubspec.lock index 23421e70..886ddab0 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1,6 +1,14 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834 + url: "https://pub.dev" + source: hosted + version: "72.0.0" _flutterfire_internals: dependency: transitive description: @@ -9,6 +17,19 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.37" + _macros: + dependency: transitive + description: dart + source: sdk + version: "0.3.2" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139 + url: "https://pub.dev" + source: hosted + version: "6.7.0" app_tracking_transparency: dependency: "direct main" description: @@ -89,6 +110,70 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" + build: + dependency: transitive + description: + name: build + sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + build_config: + dependency: transitive + description: + name: build_config + sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + url: "https://pub.dev" + source: hosted + version: "1.1.1" + build_daemon: + dependency: transitive + description: + name: build_daemon + sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9" + url: "https://pub.dev" + source: hosted + version: "4.0.2" + build_resolvers: + dependency: transitive + description: + name: build_resolvers + sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" + url: "https://pub.dev" + source: hosted + version: "2.4.2" + build_runner: + dependency: "direct dev" + description: + name: build_runner + sha256: "028819cfb90051c6b5440c7e574d1896f8037e3c96cf17aaeb054c9311cfbf4d" + url: "https://pub.dev" + source: hosted + version: "2.4.13" + build_runner_core: + dependency: transitive + description: + name: build_runner_core + sha256: f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0 + url: "https://pub.dev" + source: hosted + version: "7.3.2" + built_collection: + dependency: transitive + description: + name: built_collection + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" + source: hosted + version: "5.1.1" + built_value: + dependency: transitive + description: + name: built_value + sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb + url: "https://pub.dev" + source: hosted + version: "8.9.2" cached_network_image: dependency: "direct main" description: @@ -125,10 +210,10 @@ packages: dependency: transitive description: name: camera_android_camerax - sha256: "7cd93578ad201dcc6bb5810451fb00d76a86bab9b68dceb68b8cbd7038ac5846" + sha256: "803e45c406de922bd107199089be3f3d5ae7ab0a1ff119a27a0062325541c50e" url: "https://pub.dev" source: hosted - version: "0.6.8+3" + version: "0.6.9" camera_avfoundation: dependency: transitive description: @@ -185,6 +270,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.1" + code_builder: + dependency: transitive + description: + name: code_builder + sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 + url: "https://pub.dev" + source: hosted + version: "4.10.0" collection: dependency: "direct main" description: @@ -209,6 +302,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.1" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" crop_your_image: dependency: "direct main" description: @@ -233,14 +334,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.5" - csslib: - dependency: transitive - description: - name: csslib - sha256: "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb" - url: "https://pub.dev" - source: hosted - version: "1.0.0" csv: dependency: "direct main" description: @@ -257,6 +350,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.8" + dart_style: + dependency: transitive + description: + name: dart_style + sha256: "7856d364b589d1f08986e140938578ed36ed948581fbc3bc9aef1805039ac5ab" + url: "https://pub.dev" + source: hosted + version: "2.3.7" dbus: dependency: transitive description: @@ -357,18 +458,18 @@ packages: dependency: transitive description: name: file_selector_linux - sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492" + sha256: "712ce7fab537ba532c8febdb1a8f167b32441e74acd68c3ccb2e36dcb52c4ab2" url: "https://pub.dev" source: hosted - version: "0.9.2+1" + version: "0.9.3" file_selector_macos: dependency: transitive description: name: file_selector_macos - sha256: f42eacb83b318e183b1ae24eead1373ab1334084404c8c16e0354f9a3e55d385 + sha256: cb284e267f8e2a45a904b5c094d2ba51d0aabfc20b1538ab786d9ef7dc2bf75c url: "https://pub.dev" source: hosted - version: "0.9.4" + version: "0.9.4+1" file_selector_platform_interface: dependency: transitive description: @@ -381,10 +482,10 @@ packages: dependency: transitive description: name: file_selector_windows - sha256: "2ad726953f6e8affbc4df8dc78b77c3b4a060967a291e528ef72ae846c60fb69" + sha256: "8f5d2f6590d51ecd9179ba39c64f722edc15226cc93dcc8698466ad36a4a85a4" url: "https://pub.dev" source: hosted - version: "0.9.3+2" + version: "0.9.3+3" firebase_analytics: dependency: "direct main" description: @@ -421,18 +522,18 @@ packages: dependency: transitive description: name: firebase_core_platform_interface - sha256: "3c3a1e92d6f4916c32deea79c4a7587aa0e9dbbe5889c7a16afcf005a485ee02" + sha256: e30da58198a6d4b49d5bce4e852f985c32cb10db329ebef9473db2b9f09ce810 url: "https://pub.dev" source: hosted - version: "5.2.0" + version: "5.3.0" firebase_core_web: dependency: transitive description: name: firebase_core_web - sha256: e8d1e22de72cb21cdcfc5eed7acddab3e99cd83f3b317f54f7a96c32f25fd11e + sha256: "362e52457ed2b7b180964769c1e04d1e0ea0259fdf7025fdfedd019d4ae2bd88" url: "https://pub.dev" source: hosted - version: "2.17.4" + version: "2.17.5" firebase_crashlytics: dependency: "direct main" description: @@ -510,14 +611,19 @@ packages: url: "https://pub.dev" source: hosted version: "3.3.2" + flutter_driver: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" flutter_expandable_fab: dependency: "direct main" description: name: flutter_expandable_fab - sha256: f4692d1949cda81e10ca0c3e75aea1e14e29ecc12d9328996321b96e9747a955 + sha256: "85275279d19faf4fbe5639dc1f139b4555b150e079d056f085601a45688af12c" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" flutter_inappwebview: dependency: "direct main" description: @@ -530,10 +636,10 @@ packages: dependency: transitive description: name: flutter_inappwebview_android - sha256: d247f6ed417f1f8c364612fa05a2ecba7f775c8d0c044c1d3b9ee33a6515c421 + sha256: "62557c15a5c2db5d195cb3892aab74fcaec266d7b86d59a6f0027abd672cddba" url: "https://pub.dev" source: hosted - version: "1.0.13" + version: "1.1.3" flutter_inappwebview_internal_annotations: dependency: transitive description: @@ -546,26 +652,26 @@ packages: dependency: transitive description: name: flutter_inappwebview_ios - sha256: f363577208b97b10b319cd0c428555cd8493e88b468019a8c5635a0e4312bd0f + sha256: "5818cf9b26cf0cbb0f62ff50772217d41ea8d3d9cc00279c45f8aabaa1b4025d" url: "https://pub.dev" source: hosted - version: "1.0.13" + version: "1.1.2" flutter_inappwebview_macos: dependency: transitive description: name: flutter_inappwebview_macos - sha256: b55b9e506c549ce88e26580351d2c71d54f4825901666bd6cfa4be9415bb2636 + sha256: c1fbb86af1a3738e3541364d7d1866315ffb0468a1a77e34198c9be571287da1 url: "https://pub.dev" source: hosted - version: "1.0.11" + version: "1.1.2" flutter_inappwebview_platform_interface: dependency: transitive description: name: flutter_inappwebview_platform_interface - sha256: "545fd4c25a07d2775f7d5af05a979b2cac4fbf79393b0a7f5d33ba39ba4f6187" + sha256: "6862f4e08aa8f6136762e022c9c1edafb18c1dc3beb03052f2f3f2a48605a182" url: "https://pub.dev" source: hosted - version: "1.0.10" + version: "1.3.0" flutter_inappwebview_web: dependency: transitive description: @@ -663,10 +769,10 @@ packages: dependency: transitive description: name: flutter_shaders - sha256: "02750b545c01ff4d8e9bbe8f27a7731aa3778402506c67daa1de7f5fc3f4befe" + sha256: "34794acadd8275d971e02df03afee3dee0f98dbfb8c4837082ad0034f612a3e2" url: "https://pub.dev" source: hosted - version: "0.1.2" + version: "0.1.3" flutter_spinkit: dependency: "direct main" description: @@ -725,6 +831,27 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.0" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 + url: "https://pub.dev" + source: hosted + version: "4.0.0" + fuchsia_remote_debug_protocol: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + glob: + dependency: transitive + description: + name: glob + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + url: "https://pub.dev" + source: hosted + version: "2.1.2" go_router: dependency: "direct main" description: @@ -757,14 +884,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.11.1" - html: + graphs: dependency: transitive description: - name: html - sha256: "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a" + name: graphs + sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" url: "https://pub.dev" source: hosted - version: "0.15.4" + version: "2.3.2" http: dependency: "direct main" description: @@ -773,6 +900,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.1" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + url: "https://pub.dev" + source: hosted + version: "3.2.1" http_parser: dependency: transitive description: @@ -853,6 +988,11 @@ packages: url: "https://pub.dev" source: hosted version: "0.2.1+1" + integration_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" intl: dependency: "direct main" description: @@ -861,6 +1001,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.19.0" + io: + dependency: transitive + description: + name: io + sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + url: "https://pub.dev" + source: hosted + version: "1.0.4" iregexp: dependency: transitive description: @@ -937,18 +1085,18 @@ packages: dependency: transitive description: name: local_auth_android - sha256: e99c44ca0bce08f26f25e2a2e07d3b443d69986e1c3acf67c1449f7d847e3625 + sha256: "5351c7eea8823de28e37d8b7b3e386d944b80f2a77edb91a5707fb97a41fc1b1" url: "https://pub.dev" source: hosted - version: "1.0.43" + version: "1.0.45" local_auth_darwin: dependency: transitive description: name: local_auth_darwin - sha256: "7ba5738c874ca2b910d72385d00d2bebad9d4e807612936cf5e32bc01a048c71" + sha256: "6d2950da311d26d492a89aeb247c72b4653ddc93601ea36a84924a396806d49c" url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" local_auth_platform_interface: dependency: transitive description: @@ -973,6 +1121,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" + macros: + dependency: transitive + description: + name: macros + sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" + url: "https://pub.dev" + source: hosted + version: "0.1.2-main.4" matcher: dependency: transitive description: @@ -993,10 +1149,10 @@ packages: dependency: "direct main" description: name: material_symbols_icons - sha256: b72bf7566d024d51627dce81b1b98539830a0e3ffbb5784989aa3e97c8493160 + sha256: "66416c4e30bd363508e12669634fc4f3250b83b69e862de67f4f9c480cf42414" url: "https://pub.dev" source: hosted - version: "4.2784.0" + version: "4.2785.1" maybe_just_nothing: dependency: transitive description: @@ -1017,10 +1173,10 @@ packages: dependency: transitive description: name: mime - sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" + sha256: "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a" url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "1.0.6" mime_type: dependency: "direct main" description: @@ -1029,6 +1185,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.0" + mockito: + dependency: "direct dev" + description: + name: mockito + sha256: "6841eed20a7befac0ce07df8116c8b8233ed1f4486a7647c7fc5a02ae6163917" + url: "https://pub.dev" + source: hosted + version: "5.4.4" nested: dependency: transitive description: @@ -1053,6 +1217,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" + package_config: + dependency: transitive + description: + name: package_config + sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + url: "https://pub.dev" + source: hosted + version: "2.1.0" page_transition: dependency: "direct main" description: @@ -1169,10 +1341,10 @@ packages: dependency: transitive description: name: permission_handler_platform_interface - sha256: fe0ffe274d665be8e34f9c59705441a7d248edebbe5d9e3ec2665f88b79358ea + sha256: e9c8eadee926c4532d0305dff94b85bf961f16759c3af791486613152af4b4f9 url: "https://pub.dev" source: hosted - version: "4.2.2" + version: "4.2.3" permission_handler_windows: dependency: transitive description: @@ -1213,6 +1385,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.8" + pool: + dependency: transitive + description: + name: pool + sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + url: "https://pub.dev" + source: hosted + version: "1.5.1" + process: + dependency: transitive + description: + name: process + sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32" + url: "https://pub.dev" + source: hosted + version: "5.0.2" provider: dependency: "direct main" description: @@ -1221,6 +1409,22 @@ packages: url: "https://pub.dev" source: hosted version: "6.1.2" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + pubspec_parse: + dependency: transitive + description: + name: pubspec_parse + sha256: c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8 + url: "https://pub.dev" + source: hosted + version: "1.3.0" qr: dependency: transitive description: @@ -1341,11 +1545,35 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.2" + shelf: + dependency: transitive + description: + name: shelf + sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 + url: "https://pub.dev" + source: hosted + version: "1.4.1" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" + url: "https://pub.dev" + source: hosted + version: "2.0.0" sky_engine: dependency: transitive description: flutter source: sdk version: "0.0.99" + source_gen: + dependency: transitive + description: + name: source_gen + sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + url: "https://pub.dev" + source: hosted + version: "1.5.0" source_span: dependency: transitive description: @@ -1374,10 +1602,10 @@ packages: dependency: transitive description: name: sqflite_common - sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4" + sha256: "2d8e607db72e9cb7748c9c6e739e2c9618320a5517de693d5a24609c4671b1a4" url: "https://pub.dev" source: hosted - version: "2.5.4" + version: "2.5.4+4" stack_trace: dependency: transitive description: @@ -1418,6 +1646,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" + sync_http: + dependency: transitive + description: + name: sync_http + sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961" + url: "https://pub.dev" + source: hosted + version: "0.3.1" synchronized: dependency: "direct main" description: @@ -1450,6 +1686,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.6.1" + timing: + dependency: transitive + description: + name: timing + sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" + url: "https://pub.dev" + source: hosted + version: "1.0.1" typed_data: dependency: transitive description: @@ -1494,10 +1738,10 @@ packages: dependency: transitive description: name: url_launcher_macos - sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de" + sha256: "769549c999acdb42b8bcfa7c43d72bf79a382ca7441ab18a808e101149daf672" url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "3.2.1" url_launcher_platform_interface: dependency: "direct main" description: @@ -1526,10 +1770,10 @@ packages: dependency: "direct overridden" description: name: uuid - sha256: "83d37c7ad7aaf9aa8e275490669535c8080377cfa7a7004c24dfac53afffaa90" + sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff url: "https://pub.dev" source: hosted - version: "4.4.2" + version: "4.5.1" vector_graphics: dependency: transitive description: @@ -1562,46 +1806,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" - video_player: - dependency: "direct main" - description: - name: video_player - sha256: aced48e701e24c02b0b7f881a8819e4937794e46b5a5821005e2bf3b40a324cc - url: "https://pub.dev" - source: hosted - version: "2.8.7" - video_player_android: - dependency: "direct main" - description: - name: video_player_android - sha256: "9529001630e42988f755772972d5014d30121610700e8e502278a245939f8fc8" - url: "https://pub.dev" - source: hosted - version: "2.5.0" - video_player_avfoundation: - dependency: "direct main" - description: - name: video_player_avfoundation - sha256: d1e9a824f2b324000dc8fb2dcb2a3285b6c1c7c487521c63306cc5b394f68a7c - url: "https://pub.dev" - source: hosted - version: "2.6.1" - video_player_platform_interface: - dependency: "direct main" - description: - name: video_player_platform_interface - sha256: "236454725fafcacf98f0f39af0d7c7ab2ce84762e3b63f2cbb3ef9a7e0550bc6" - url: "https://pub.dev" - source: hosted - version: "6.2.2" - video_player_web: - dependency: "direct main" - description: - name: video_player_web - sha256: ff4d69a6614b03f055397c27a71c9d3ddea2b2a23d71b2ba0164f59ca32b8fe2 - url: "https://pub.dev" - source: hosted - version: "2.3.1" vm_service: dependency: transitive description: @@ -1610,6 +1814,14 @@ packages: url: "https://pub.dev" source: hosted version: "14.2.5" + watcher: + dependency: transitive + description: + name: watcher + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + url: "https://pub.dev" + source: hosted + version: "1.1.0" web: dependency: transitive description: @@ -1618,22 +1830,46 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" + url: "https://pub.dev" + source: hosted + version: "0.1.6" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f" + url: "https://pub.dev" + source: hosted + version: "3.0.1" + webdriver: + dependency: transitive + description: + name: webdriver + sha256: "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e" + url: "https://pub.dev" + source: hosted + version: "3.0.3" webview_flutter: dependency: "direct main" description: name: webview_flutter - sha256: "6869c8786d179f929144b4a1f86e09ac0eddfe475984951ea6c634774c16b522" + sha256: ec81f57aa1611f8ebecf1d2259da4ef052281cb5ad624131c93546c79ccc7736 url: "https://pub.dev" source: hosted - version: "4.8.0" + version: "4.9.0" webview_flutter_android: dependency: transitive description: name: webview_flutter_android - sha256: c66651fba15f9d7ddd31daec42da8d6bce46c85610a7127e3ebcb39a4395c3c9 + sha256: ed021f27ae621bc97a6019fb601ab16331a3db4bf8afa305e9f6689bdb3edced url: "https://pub.dev" source: hosted - version: "3.16.6" + version: "3.16.8" webview_flutter_platform_interface: dependency: transitive description: @@ -1646,10 +1882,10 @@ packages: dependency: transitive description: name: webview_flutter_wkwebview - sha256: "9c62cc46fa4f2d41e10ab81014c1de470a6c6f26051a2de32111b2ee55287feb" + sha256: "1942a12224ab31e9508cf00c0c6347b931b023b8a4f0811e5dec3b06f94f117d" url: "https://pub.dev" source: hosted - version: "3.14.0" + version: "3.15.0" win32: dependency: "direct overridden" description: @@ -1662,10 +1898,10 @@ packages: dependency: transitive description: name: win32_registry - sha256: "723b7f851e5724c55409bb3d5a32b203b3afe8587eaf5dafb93a5fed8ecda0d6" + sha256: "21ec76dfc731550fd3e2ce7a33a9ea90b828fdf19a5c3bcf556fa992cfa99852" url: "https://pub.dev" source: hosted - version: "1.1.4" + version: "1.1.5" xdg_directories: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 3295e84e..bd5d341e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -83,11 +83,11 @@ dependencies: url_launcher_android: 6.3.3 url_launcher_ios: 6.3.0 url_launcher_platform_interface: 2.3.2 - video_player: 2.8.7 - video_player_android: 2.5.0 - video_player_avfoundation: 2.6.1 - video_player_platform_interface: 6.2.2 - video_player_web: 2.3.1 + # video_player: 2.8.7 + # video_player_android: 2.5.0 + # video_player_avfoundation: 2.6.1 + # video_player_platform_interface: 6.2.2 + # video_player_web: 2.3.1 material_symbols_icons: ^4.2784.0 fluttertoast: ^8.2.8 @@ -112,10 +112,16 @@ dev_dependencies: flutter_lints: 4.0.0 image: 4.2.0 lints: 4.0.0 - + integration_test: + sdk: flutter + build_runner: ^2.4.13 + mockito: ^5.4.4 flutter_test: sdk: flutter + + + flutter_launcher_icons: android: "launcher_icon" ios: true @@ -125,7 +131,10 @@ flutter_launcher_icons: adaptive_icon_background: "assets/images/adaptive_background_icon.svg" adaptive_icon_foreground: "assets/images/adaptive_foreground_icon.svg" + + flutter: + uses-material-design: true assets: