From aa2d9eddc4c03fbdf7f41b6418425ad02effcd45 Mon Sep 17 00:00:00 2001 From: Rajshinde046 Date: Mon, 27 May 2024 11:10:11 +0530 Subject: [PATCH] firebase --- android/app/build.gradle | 4 + android/app/google-services.json | 10 +- android/build.gradle | 4 + firebase.json | 1 + ios/Podfile.lock | 230 +++++++++++-- ios/Runner.xcodeproj/project.pbxproj | 41 +++ ios/Runner/GoogleService-Info.plist | 10 +- lib/firebase_options.dart | 22 +- lib/main.dart | 12 + lib/resources/routes/route_name.dart | 3 + lib/resources/routes/routes.dart | 10 +- lib/view/MainScreen/HomeScreen.dart | 7 +- lib/view/MainScreen/PastPerformance.dart | 8 - .../stockDetails/option_chain_screen.dart | 302 ++++++++++++++++++ .../stockDetails/stock_details_screen.dart | 46 +-- pubspec.lock | 112 ++++--- pubspec.yaml | 2 + 17 files changed, 710 insertions(+), 114 deletions(-) create mode 100644 firebase.json create mode 100644 lib/view/MainScreen/stockDetails/option_chain_screen.dart diff --git a/android/app/build.gradle b/android/app/build.gradle index 71df5dc..70ab4de 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -22,6 +22,10 @@ if (flutterVersionName == null) { } apply plugin: 'com.android.application' +// START: FlutterFire Configuration +apply plugin: 'com.google.gms.google-services' +apply plugin: 'com.google.firebase.crashlytics' +// END: FlutterFire Configuration apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" diff --git a/android/app/google-services.json b/android/app/google-services.json index 52edd0e..7b6b8b6 100644 --- a/android/app/google-services.json +++ b/android/app/google-services.json @@ -1,13 +1,13 @@ { "project_info": { - "project_number": "580254405290", - "project_id": "tradercircuit-b5744", - "storage_bucket": "tradercircuit-b5744.appspot.com" + "project_number": "307701736370", + "project_id": "traders-circuit", + "storage_bucket": "traders-circuit.appspot.com" }, "client": [ { "client_info": { - "mobilesdk_app_id": "1:580254405290:android:77f13f510048b79e10b6d3", + "mobilesdk_app_id": "1:307701736370:android:b11ba8d4970ce3b65d7aab", "android_client_info": { "package_name": "com.example.traderscircuit" } @@ -15,7 +15,7 @@ "oauth_client": [], "api_key": [ { - "current_key": "AIzaSyDA19anPZQE9wwK0Lbr-KMoa-dfIanZrlU" + "current_key": "AIzaSyCMQhYq9XDYcxNbCxM0aWl9Lu9-AI3BveU" } ], "services": { diff --git a/android/build.gradle b/android/build.gradle index 713d7f6..9ddd60e 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -6,6 +6,10 @@ buildscript { } dependencies { + // START: FlutterFire Configuration + classpath 'com.google.gms:google-services:4.3.15' + classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1' + // END: FlutterFire Configuration classpath 'com.android.tools.build:gradle:7.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } diff --git a/firebase.json b/firebase.json new file mode 100644 index 0000000..8235c5f --- /dev/null +++ b/firebase.json @@ -0,0 +1 @@ +{"flutter":{"platforms":{"android":{"default":{"projectId":"traders-circuit","appId":"1:307701736370:android:b11ba8d4970ce3b65d7aab","fileOutput":"android/app/google-services.json"}},"ios":{"default":{"projectId":"traders-circuit","appId":"1:307701736370:ios:aad00e1335564a465d7aab","uploadDebugSymbols":true,"fileOutput":"ios/Runner/GoogleService-Info.plist"}},"dart":{"lib/firebase_options.dart":{"projectId":"traders-circuit","configurations":{"android":"1:307701736370:android:b11ba8d4970ce3b65d7aab","ios":"1:307701736370:ios:aad00e1335564a465d7aab"}}}}}} \ No newline at end of file diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 5ffb66f..e114ee2 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,8 +1,12 @@ PODS: + - audio_session (0.0.1): + - Flutter - BranchSDK (3.3.0) - connectivity_plus (0.0.1): - Flutter - ReachabilitySwift + - device_info_plus (0.0.1): + - Flutter - DKImagePickerController/Core (4.3.4): - DKImagePickerController/ImageDataManager - DKImagePickerController/Resource @@ -37,17 +41,75 @@ PODS: - file_picker (0.0.1): - DKImagePickerController/PhotoGallery - Flutter - - Firebase/CoreOnly (10.18.0): - - FirebaseCore (= 10.18.0) - - firebase_core (2.24.2): - - Firebase/CoreOnly (= 10.18.0) + - Firebase/Analytics (10.22.0): + - Firebase/Core + - Firebase/Core (10.22.0): + - Firebase/CoreOnly + - FirebaseAnalytics (~> 10.22.0) + - Firebase/CoreOnly (10.22.0): + - FirebaseCore (= 10.22.0) + - Firebase/Crashlytics (10.22.0): + - Firebase/CoreOnly + - FirebaseCrashlytics (~> 10.22.0) + - firebase_analytics (10.8.9): + - Firebase/Analytics (= 10.22.0) + - firebase_core - Flutter - - FirebaseCore (10.18.0): + - firebase_core (2.27.0): + - Firebase/CoreOnly (= 10.22.0) + - Flutter + - firebase_crashlytics (3.4.18): + - Firebase/Crashlytics (= 10.22.0) + - firebase_core + - Flutter + - FirebaseAnalytics (10.22.0): + - FirebaseAnalytics/AdIdSupport (= 10.22.0) + - FirebaseCore (~> 10.0) + - FirebaseInstallations (~> 10.0) + - GoogleUtilities/AppDelegateSwizzler (~> 7.11) + - GoogleUtilities/MethodSwizzler (~> 7.11) + - GoogleUtilities/Network (~> 7.11) + - "GoogleUtilities/NSData+zlib (~> 7.11)" + - nanopb (< 2.30911.0, >= 2.30908.0) + - FirebaseAnalytics/AdIdSupport (10.22.0): + - FirebaseCore (~> 10.0) + - FirebaseInstallations (~> 10.0) + - GoogleAppMeasurement (= 10.22.0) + - GoogleUtilities/AppDelegateSwizzler (~> 7.11) + - GoogleUtilities/MethodSwizzler (~> 7.11) + - GoogleUtilities/Network (~> 7.11) + - "GoogleUtilities/NSData+zlib (~> 7.11)" + - nanopb (< 2.30911.0, >= 2.30908.0) + - FirebaseCore (10.22.0): - FirebaseCoreInternal (~> 10.0) - GoogleUtilities/Environment (~> 7.12) - GoogleUtilities/Logger (~> 7.12) - - FirebaseCoreInternal (10.23.0): + - FirebaseCoreExtension (10.25.0): + - FirebaseCore (~> 10.0) + - FirebaseCoreInternal (10.25.0): - "GoogleUtilities/NSData+zlib (~> 7.8)" + - FirebaseCrashlytics (10.22.0): + - FirebaseCore (~> 10.5) + - FirebaseInstallations (~> 10.0) + - FirebaseSessions (~> 10.5) + - GoogleDataTransport (~> 9.2) + - GoogleUtilities/Environment (~> 7.8) + - nanopb (< 2.30911.0, >= 2.30908.0) + - PromisesObjC (~> 2.1) + - FirebaseInstallations (10.25.0): + - FirebaseCore (~> 10.0) + - GoogleUtilities/Environment (~> 7.8) + - GoogleUtilities/UserDefaults (~> 7.8) + - PromisesObjC (~> 2.1) + - FirebaseSessions (10.25.0): + - FirebaseCore (~> 10.5) + - FirebaseCoreExtension (~> 10.0) + - FirebaseInstallations (~> 10.0) + - GoogleDataTransport (~> 9.2) + - GoogleUtilities/Environment (~> 7.13) + - GoogleUtilities/UserDefaults (~> 7.13) + - nanopb (< 2.30911.0, >= 2.30908.0) + - PromisesSwift (~> 2.1) - Flutter (1.0.0) - flutter_branch_sdk (7.1.0): - BranchSDK (~> 3.3.0) @@ -57,22 +119,75 @@ PODS: - fluttertoast (0.0.2): - Flutter - Toast - - GoogleUtilities/Environment (7.13.0): + - GoogleAppMeasurement (10.22.0): + - GoogleAppMeasurement/AdIdSupport (= 10.22.0) + - GoogleUtilities/AppDelegateSwizzler (~> 7.11) + - GoogleUtilities/MethodSwizzler (~> 7.11) + - GoogleUtilities/Network (~> 7.11) + - "GoogleUtilities/NSData+zlib (~> 7.11)" + - nanopb (< 2.30911.0, >= 2.30908.0) + - GoogleAppMeasurement/AdIdSupport (10.22.0): + - GoogleAppMeasurement/WithoutAdIdSupport (= 10.22.0) + - GoogleUtilities/AppDelegateSwizzler (~> 7.11) + - GoogleUtilities/MethodSwizzler (~> 7.11) + - GoogleUtilities/Network (~> 7.11) + - "GoogleUtilities/NSData+zlib (~> 7.11)" + - nanopb (< 2.30911.0, >= 2.30908.0) + - GoogleAppMeasurement/WithoutAdIdSupport (10.22.0): + - GoogleUtilities/AppDelegateSwizzler (~> 7.11) + - GoogleUtilities/MethodSwizzler (~> 7.11) + - GoogleUtilities/Network (~> 7.11) + - "GoogleUtilities/NSData+zlib (~> 7.11)" + - nanopb (< 2.30911.0, >= 2.30908.0) + - GoogleDataTransport (9.4.1): + - GoogleUtilities/Environment (~> 7.7) + - nanopb (< 2.30911.0, >= 2.30908.0) + - PromisesObjC (< 3.0, >= 1.2) + - GoogleUtilities/AppDelegateSwizzler (7.13.3): + - GoogleUtilities/Environment + - GoogleUtilities/Logger + - GoogleUtilities/Network + - GoogleUtilities/Privacy + - GoogleUtilities/Environment (7.13.3): - GoogleUtilities/Privacy - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.13.0): + - GoogleUtilities/Logger (7.13.3): - GoogleUtilities/Environment - GoogleUtilities/Privacy - - "GoogleUtilities/NSData+zlib (7.13.0)": + - GoogleUtilities/MethodSwizzler (7.13.3): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy + - GoogleUtilities/Network (7.13.3): + - GoogleUtilities/Logger + - "GoogleUtilities/NSData+zlib" + - GoogleUtilities/Privacy + - GoogleUtilities/Reachability + - "GoogleUtilities/NSData+zlib (7.13.3)": + - GoogleUtilities/Privacy + - GoogleUtilities/Privacy (7.13.3) + - GoogleUtilities/Reachability (7.13.3): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy + - GoogleUtilities/UserDefaults (7.13.3): + - GoogleUtilities/Logger - GoogleUtilities/Privacy - - GoogleUtilities/Privacy (7.13.0) - image_cropper (0.0.4): - Flutter - TOCropViewController (~> 2.6.1) - image_picker_ios (0.0.1): - Flutter - - local_auth_darwin (0.0.1): + - just_audio (0.0.1): - Flutter + - local_auth_ios (0.0.1): + - Flutter + - Mixpanel-swift (3.3.0): + - Mixpanel-swift/Complete (= 3.3.0) + - Mixpanel-swift/Complete (3.3.0) + - nanopb (2.30910.0): + - nanopb/decode (= 2.30910.0) + - nanopb/encode (= 2.30910.0) + - nanopb/decode (2.30910.0) + - nanopb/encode (2.30910.0) - onesignal_flutter (3.5.3): - Flutter - OneSignalXCFramework (= 3.12.9) @@ -89,8 +204,19 @@ PODS: - path_provider_foundation (0.0.1): - Flutter - FlutterMacOS + - permission_handler_apple (9.3.0): + - Flutter - PromisesObjC (2.4.0) + - PromisesSwift (2.4.0): + - PromisesObjC (= 2.4.0) - ReachabilitySwift (5.0.0) + - SCGateway (3.11.2): + - Mixpanel-swift (= 3.3.0) + - SCLoans (= 2.0.1) + - scgateway_flutter_plugin (0.0.1): + - Flutter + - SCGateway (= 3.11.2) + - SCLoans (2.0.1) - SDWebImage (5.19.1): - SDWebImage/Core (= 5.19.1) - SDWebImage/Core (5.19.1) @@ -103,8 +229,12 @@ PODS: - Flutter - FlutterMacOS - SwiftyGif (5.4.5) + - syncfusion_flutter_pdfviewer (0.0.1): + - Flutter - Toast (4.1.0) - TOCropViewController (2.6.1) + - url_launcher_ios (0.0.1): + - Flutter - video_player_avfoundation (0.0.1): - Flutter - FlutterMacOS @@ -112,21 +242,30 @@ PODS: - Flutter DEPENDENCIES: + - audio_session (from `.symlinks/plugins/audio_session/ios`) - connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`) + - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - file_picker (from `.symlinks/plugins/file_picker/ios`) + - firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`) - firebase_core (from `.symlinks/plugins/firebase_core/ios`) + - firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`) - Flutter (from `Flutter`) - flutter_branch_sdk (from `.symlinks/plugins/flutter_branch_sdk/ios`) - flutter_isolate (from `.symlinks/plugins/flutter_isolate/ios`) - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) - image_cropper (from `.symlinks/plugins/image_cropper/ios`) - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) - - local_auth_darwin (from `.symlinks/plugins/local_auth_darwin/darwin`) + - just_audio (from `.symlinks/plugins/just_audio/ios`) + - local_auth_ios (from `.symlinks/plugins/local_auth_ios/ios`) - onesignal_flutter (from `.symlinks/plugins/onesignal_flutter/ios`) - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) + - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) + - scgateway_flutter_plugin (from `.symlinks/plugins/scgateway_flutter_plugin/ios`) - share_plus (from `.symlinks/plugins/share_plus/ios`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - sqflite (from `.symlinks/plugins/sqflite/darwin`) + - syncfusion_flutter_pdfviewer (from `.symlinks/plugins/syncfusion_flutter_pdfviewer/ios`) + - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) - video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`) - wakelock (from `.symlinks/plugins/wakelock/ios`) @@ -136,24 +275,44 @@ SPEC REPOS: - DKImagePickerController - DKPhotoGallery - Firebase + - FirebaseAnalytics - FirebaseCore + - FirebaseCoreExtension - FirebaseCoreInternal + - FirebaseCrashlytics + - FirebaseInstallations + - FirebaseSessions + - GoogleAppMeasurement + - GoogleDataTransport - GoogleUtilities + - Mixpanel-swift + - nanopb - OneSignalXCFramework - PromisesObjC + - PromisesSwift - ReachabilitySwift + - SCGateway + - SCLoans - SDWebImage - SwiftyGif - Toast - TOCropViewController EXTERNAL SOURCES: + audio_session: + :path: ".symlinks/plugins/audio_session/ios" connectivity_plus: :path: ".symlinks/plugins/connectivity_plus/ios" + device_info_plus: + :path: ".symlinks/plugins/device_info_plus/ios" file_picker: :path: ".symlinks/plugins/file_picker/ios" + firebase_analytics: + :path: ".symlinks/plugins/firebase_analytics/ios" firebase_core: :path: ".symlinks/plugins/firebase_core/ios" + firebase_crashlytics: + :path: ".symlinks/plugins/firebase_crashlytics/ios" Flutter: :path: Flutter flutter_branch_sdk: @@ -166,53 +325,84 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/image_cropper/ios" image_picker_ios: :path: ".symlinks/plugins/image_picker_ios/ios" - local_auth_darwin: - :path: ".symlinks/plugins/local_auth_darwin/darwin" + just_audio: + :path: ".symlinks/plugins/just_audio/ios" + local_auth_ios: + :path: ".symlinks/plugins/local_auth_ios/ios" onesignal_flutter: :path: ".symlinks/plugins/onesignal_flutter/ios" path_provider_foundation: :path: ".symlinks/plugins/path_provider_foundation/darwin" + permission_handler_apple: + :path: ".symlinks/plugins/permission_handler_apple/ios" + scgateway_flutter_plugin: + :path: ".symlinks/plugins/scgateway_flutter_plugin/ios" share_plus: :path: ".symlinks/plugins/share_plus/ios" shared_preferences_foundation: :path: ".symlinks/plugins/shared_preferences_foundation/darwin" sqflite: :path: ".symlinks/plugins/sqflite/darwin" + syncfusion_flutter_pdfviewer: + :path: ".symlinks/plugins/syncfusion_flutter_pdfviewer/ios" + url_launcher_ios: + :path: ".symlinks/plugins/url_launcher_ios/ios" video_player_avfoundation: :path: ".symlinks/plugins/video_player_avfoundation/darwin" wakelock: :path: ".symlinks/plugins/wakelock/ios" SPEC CHECKSUMS: + audio_session: 088d2483ebd1dc43f51d253d4a1c517d9a2e7207 BranchSDK: 262dbab56b767807f49f45191c8499cd9c4b4d76 connectivity_plus: bf0076dd84a130856aa636df1c71ccaff908fa1d + device_info_plus: e5c5da33f982a436e103237c0c85f9031142abed DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 file_picker: ce3938a0df3cc1ef404671531facef740d03f920 - Firebase: 414ad272f8d02dfbf12662a9d43f4bba9bec2a06 - firebase_core: 0af4a2b24f62071f9bf283691c0ee41556dcb3f5 - FirebaseCore: 2322423314d92f946219c8791674d2f3345b598f - FirebaseCoreInternal: 6a292e6f0bece1243a737e81556e56e5e19282e3 + Firebase: 797fd7297b7e1be954432743a0b3f90038e45a71 + firebase_analytics: b9ce200bfc2c54629076bb22d6a510f31c296ab8 + firebase_core: 100945864b4aedce3cfef0c62ab864858bf013cf + firebase_crashlytics: 2b9ca6246501a03427eb43280be7615027e32142 + FirebaseAnalytics: 8d0ff929c63b7f72260f332b86ccf569776b75d3 + FirebaseCore: 0326ec9b05fbed8f8716cddbf0e36894a13837f7 + FirebaseCoreExtension: 8a47811d0b155501559ef05d089518152a0a1677 + FirebaseCoreInternal: 910a81992c33715fec9263ca7381d59ab3a750b7 + FirebaseCrashlytics: e568d68ce89117c80cddb04073ab9018725fbb8c + FirebaseInstallations: 91950fe859846fff0fbd296180909dd273103b09 + FirebaseSessions: c0939656253a1fa0e94ecc266ccf770cc8b33732 Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 flutter_branch_sdk: 1ca1798cfb9ff9acf11028dee0592e3fa0234649 flutter_isolate: 0edf5081826d071adf21759d1eb10ff5c24503b5 fluttertoast: 31b00dabfa7fb7bacd9e7dbee580d7a2ff4bf265 - GoogleUtilities: d053d902a8edaa9904e1bd00c37535385b8ed152 + GoogleAppMeasurement: ccefe3eac9b0aa27f96066809fb1a7fe4b462626 + GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a + GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15 image_cropper: a3291c624a953049bc6a02e1f8c8ceb162a24b25 image_picker_ios: 99dfe1854b4fa34d0364e74a78448a0151025425 - local_auth_darwin: c7e464000a6a89e952235699e32b329457608d98 + just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa + local_auth_ios: 1ba1475238daa33a6ffa2a29242558437be435ac + Mixpanel-swift: 6ffe368bcfc3b538f540f31372bc798afd90c1ad + nanopb: 438bc412db1928dac798aa6fd75726007be04262 onesignal_flutter: c56e81f5a422b0b1e06820338f299333ca85c171 OneSignalXCFramework: 3c3ef25ecca5eae1bf80a3272c49fd1dbab96b35 path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c + permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 + PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851 ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 + SCGateway: 2e7b3d365627c6d31c7575aa6a91af7e51b502d4 + scgateway_flutter_plugin: bfa753856d3496e095211dafd571a03f2cfee63f + SCLoans: 9ddfa93d171f244323ce9b804735e792d54554a9 SDWebImage: 40b0b4053e36c660a764958bff99eed16610acbb share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68 shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695 sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4 + syncfusion_flutter_pdfviewer: bb9998884b864cfedf72628df3503bdf57e397c0 Toast: ec33c32b8688982cecc6348adeae667c1b9938da TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863 + url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812 video_player_avfoundation: e9e6f9cae7d7a6d9b43519b0aab382bca60fcfd1 wakelock: d0fc7c864128eac40eba1617cb5264d9c940b46f diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index f03684d..052bd1b 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -9,6 +9,7 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 5E732EB6E790D0A9356BAC77 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 5AAAEB5FD2AF962D821AE9CA /* GoogleService-Info.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; @@ -34,6 +35,7 @@ 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 2BC458090944EAB20D4B99D4 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 5AAAEB5FD2AF962D821AE9CA /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; @@ -88,6 +90,7 @@ 97C146EF1CF9000F007C117D /* Products */, C89F5C8D77FA7378EC45576A /* Pods */, 312FD79F642630CA20F866A0 /* Frameworks */, + 5AAAEB5FD2AF962D821AE9CA /* GoogleService-Info.plist */, ); sourceTree = ""; }; @@ -139,6 +142,8 @@ 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, 0B649054ED34D466116A76B4 /* [CP] Embed Pods Frameworks */, + AEB6A3F5C2646ACD5FD07AD4 /* FlutterFire: "flutterfire upload-crashlytics-symbols" */, + 3991F7BB322D4A93148EBA5F /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -191,6 +196,7 @@ 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + 5E732EB6E790D0A9356BAC77 /* GoogleService-Info.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -214,6 +220,23 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; + 3991F7BB322D4A93148EBA5F /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -245,6 +268,24 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; + AEB6A3F5C2646ACD5FD07AD4 /* FlutterFire: "flutterfire upload-crashlytics-symbols" */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "FlutterFire: \"flutterfire upload-crashlytics-symbols\""; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\n#!/bin/bash\nPATH=${PATH}:$FLUTTER_ROOT/bin:$HOME/.pub-cache/bin\nflutterfire upload-crashlytics-symbols --upload-symbols-script-path=$PODS_ROOT/FirebaseCrashlytics/upload-symbols --platform=ios --apple-project-path=${SRCROOT} --env-platform-name=${PLATFORM_NAME} --env-configuration=${CONFIGURATION} --env-project-dir=${PROJECT_DIR} --env-built-products-dir=${BUILT_PRODUCTS_DIR} --env-dwarf-dsym-folder-path=${DWARF_DSYM_FOLDER_PATH} --env-dwarf-dsym-file-name=${DWARF_DSYM_FILE_NAME} --env-infoplist-path=${INFOPLIST_PATH} --default-config=default\n"; + }; F8F084BCF7BD9B22A56A9676 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/ios/Runner/GoogleService-Info.plist b/ios/Runner/GoogleService-Info.plist index 26ef972..344b7fe 100644 --- a/ios/Runner/GoogleService-Info.plist +++ b/ios/Runner/GoogleService-Info.plist @@ -3,17 +3,17 @@ API_KEY - AIzaSyDcB4KjuddPkpnWwqutw_4TlfKaOTZIXa0 + AIzaSyAX1quOawuuZYT8WuHjLNnfk_e6e6hdt-U GCM_SENDER_ID - 580254405290 + 307701736370 PLIST_VERSION 1 BUNDLE_ID com.example.traderscircuit PROJECT_ID - tradercircuit-b5744 + traders-circuit STORAGE_BUCKET - tradercircuit-b5744.appspot.com + traders-circuit.appspot.com IS_ADS_ENABLED IS_ANALYTICS_ENABLED @@ -25,6 +25,6 @@ IS_SIGNIN_ENABLED GOOGLE_APP_ID - 1:580254405290:ios:94435ecb64979c4a10b6d3 + 1:307701736370:ios:aad00e1335564a465d7aab \ No newline at end of file diff --git a/lib/firebase_options.dart b/lib/firebase_options.dart index d0ae85f..d9e7c0a 100644 --- a/lib/firebase_options.dart +++ b/lib/firebase_options.dart @@ -1,5 +1,5 @@ // File generated by FlutterFire CLI. -// ignore_for_file: lines_longer_than_80_chars, avoid_classes_with_only_static_members +// ignore_for_file: type=lint import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; import 'package:flutter/foundation.dart' show defaultTargetPlatform, kIsWeb, TargetPlatform; @@ -50,19 +50,19 @@ class DefaultFirebaseOptions { } static const FirebaseOptions android = FirebaseOptions( - apiKey: 'AIzaSyDA19anPZQE9wwK0Lbr-KMoa-dfIanZrlU', - appId: '1:580254405290:android:77f13f510048b79e10b6d3', - messagingSenderId: '580254405290', - projectId: 'tradercircuit-b5744', - storageBucket: 'tradercircuit-b5744.appspot.com', + apiKey: 'AIzaSyCMQhYq9XDYcxNbCxM0aWl9Lu9-AI3BveU', + appId: '1:307701736370:android:b11ba8d4970ce3b65d7aab', + messagingSenderId: '307701736370', + projectId: 'traders-circuit', + storageBucket: 'traders-circuit.appspot.com', ); static const FirebaseOptions ios = FirebaseOptions( - apiKey: 'AIzaSyDcB4KjuddPkpnWwqutw_4TlfKaOTZIXa0', - appId: '1:580254405290:ios:94435ecb64979c4a10b6d3', - messagingSenderId: '580254405290', - projectId: 'tradercircuit-b5744', - storageBucket: 'tradercircuit-b5744.appspot.com', + apiKey: 'AIzaSyAX1quOawuuZYT8WuHjLNnfk_e6e6hdt-U', + appId: '1:307701736370:ios:aad00e1335564a465d7aab', + messagingSenderId: '307701736370', + projectId: 'traders-circuit', + storageBucket: 'traders-circuit.appspot.com', iosBundleId: 'com.example.traderscircuit', ); } diff --git a/lib/main.dart b/lib/main.dart index 7b11ac8..0440b53 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,7 +1,9 @@ import 'dart:async'; import 'dart:developer'; +import 'dart:ui'; import 'package:connectivity_plus/connectivity_plus.dart'; +import 'package:firebase_crashlytics/firebase_crashlytics.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -25,6 +27,16 @@ Future main() async { await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); + + FlutterError.onError = (errorDetails) { + FirebaseCrashlytics.instance.recordFlutterFatalError(errorDetails); + }; + // Pass all uncaught asynchronous errors that aren't handled by the Flutter framework to Crashlytics + PlatformDispatcher.instance.onError = (error, stack) { + FirebaseCrashlytics.instance.recordError(error, stack, fatal: true); + return true; + }; + SharedPreferences prefs = await SharedPreferences.getInstance(); OneSignal.shared.setAppId("af55bb59-5ce9-4d95-92b8-e30d9ed06a73"); OneSignal.shared.promptUserForPushNotificationPermission(); diff --git a/lib/resources/routes/route_name.dart b/lib/resources/routes/route_name.dart index 2653a3f..12ca210 100644 --- a/lib/resources/routes/route_name.dart +++ b/lib/resources/routes/route_name.dart @@ -58,4 +58,7 @@ class RouteName { //stock deatils static const String stockDetails = '/stockDetails'; + + //option chain + static const String optionChain = '/optionChain'; } diff --git a/lib/resources/routes/routes.dart b/lib/resources/routes/routes.dart index 91a9b1e..ba483a8 100644 --- a/lib/resources/routes/routes.dart +++ b/lib/resources/routes/routes.dart @@ -1,7 +1,9 @@ import 'package:get/get.dart'; import 'package:traderscircuit/Utils/Common/noInternet.dart'; +import 'package:traderscircuit/model/StockDetailsModel/stock_details_model.dart'; import 'package:traderscircuit/resources/routes/route_name.dart'; import 'package:traderscircuit/view/MainScreen/ExploreUnseen.dart'; +import 'package:traderscircuit/view/MainScreen/stockDetails/option_chain_screen.dart'; import 'package:traderscircuit/view/MainScreen/stockDetails/stock_details_screen.dart'; import 'package:traderscircuit/view/Sidemenu/AboutUs.dart'; import 'package:traderscircuit/view/Sidemenu/ContentByte/ContentBytes.dart'; @@ -191,10 +193,16 @@ class AppRoutes { GetPage( name: RouteName.myProfileScreen, page: () => const MyProfileScreen(), - ), //stock details + ), + //stock details GetPage( name: RouteName.stockDetails, page: () => const StockDetailsScreen(), + ), + //stock details + GetPage( + name: RouteName.optionChain, + page: () => const OptionChainScreen(), ) ]; } diff --git a/lib/view/MainScreen/HomeScreen.dart b/lib/view/MainScreen/HomeScreen.dart index 2e1bed0..0610246 100644 --- a/lib/view/MainScreen/HomeScreen.dart +++ b/lib/view/MainScreen/HomeScreen.dart @@ -197,7 +197,12 @@ class _HomeScreenState extends State { SvgPicture.asset( 'assets/images/svg/Vector (2).svg'), sizedBoxWidth(10.w), - text18W500('UNLOCK NOW!'), + InkWell( + child: text18W500('UNLOCK NOW!'), + onTap: () { + throw Exception(); + }, + ), ], ), sizedBoxHeight(25.h), diff --git a/lib/view/MainScreen/PastPerformance.dart b/lib/view/MainScreen/PastPerformance.dart index 46dece6..e027825 100644 --- a/lib/view/MainScreen/PastPerformance.dart +++ b/lib/view/MainScreen/PastPerformance.dart @@ -1,26 +1,18 @@ import 'dart:async'; -import 'dart:convert'; import 'package:async/async.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:flutter_svg/flutter_svg.dart'; import 'package:get/get.dart'; import 'package:glassmorphism/glassmorphism.dart'; -import 'package:lottie/lottie.dart'; -import 'package:scgateway_flutter_plugin/scgateway_flutter_plugin.dart'; import 'package:traderscircuit/Utils/Common/CommonBottomNavigation.dart'; -import 'package:traderscircuit/Utils/Common/CustomTextFormField.dart'; -import 'package:traderscircuit/Utils/Common/commonBotton.dart'; import 'package:traderscircuit/Utils/Common/comonGlassmorphicContainer.dart'; import 'package:traderscircuit/Utils/Common/sized_box.dart'; import 'package:traderscircuit/Utils/text.dart'; import 'package:traderscircuit/view/MainScreen/MainScreen.dart'; -import 'package:traderscircuit/view/MainScreen/Portfolio/Holdings.dart'; import 'package:traderscircuit/view/Sidemenu/Sidemenu.dart'; import 'package:traderscircuit/view/onBoarding/splashScreen1.dart'; - import '../../../model/SmallCaseModel/broker_account_model.dart'; import '../../../view_model/SmallCaseApi/smallcase_api_methods.dart'; diff --git a/lib/view/MainScreen/stockDetails/option_chain_screen.dart b/lib/view/MainScreen/stockDetails/option_chain_screen.dart new file mode 100644 index 0000000..10f9c2d --- /dev/null +++ b/lib/view/MainScreen/stockDetails/option_chain_screen.dart @@ -0,0 +1,302 @@ +import 'package:fl_chart/fl_chart.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:gap/gap.dart'; +import 'package:get/get.dart' hide FormData; +import 'package:traderscircuit/Utils/Common/comonGlassmorphicContainer.dart'; +import 'package:traderscircuit/Utils/Common/sized_box.dart'; +import 'package:traderscircuit/Utils/text.dart'; +import 'package:traderscircuit/controller/products_controller.dart'; +import '../../../Utils/Common/CommonAppBar.dart'; +import '../../onBoarding/splashScreen1.dart'; + +class OptionChainScreen extends StatefulWidget { + const OptionChainScreen({super.key}); + + @override + State createState() => _OptionChainScreenState(); +} + +class _OptionChainScreenState extends State { + Color _indicatorColor = Color(0xff00C236); + List containerTexts = [ + "9 MAY", + "10 MAY", + "11 MAY", + "12 MAY", + "13 MAY" + ]; + ProductsController productsController = Get.put(ProductsController()); + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.black, + drawerEnableOpenDragGesture: false, + extendBody: true, + appBar: const CommonAppbar( + titleTxt: "", + ), + body: Stack( + children: [ + const CommonBlurLeft(), + const CommonBlurRight(), + Padding( + padding: const EdgeInsets.all(15.0), + child: DefaultTabController( + length: 5, // Number of tabs + child: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + text16W400('TATA MOTORS'), + text24W500('₹453.60'), + SizedBox( + height: 60, + width: double.infinity, + // color: Colors.amber, + child: ListView.builder( + shrinkWrap: true, + scrollDirection: Axis.horizontal, + itemCount: containerTexts.length, + itemBuilder: (context, index) { + return GestureDetector( + onTap: () { + productsController.selectedIndex.value = index; + }, + child: Row( + children: [ + topContainer(containerTexts[index], index), + sizedBoxWidth(10.w), + ], + ), + ); + }), + ), + Table( + border: TableBorder.symmetric( + outside: BorderSide( + width: 1, + color: Color(0xFF4A73FB).withOpacity(0.3), + ), + ), + columnWidths: { + 0: FlexColumnWidth(1), + 1: FlexColumnWidth(1), + 2: FlexColumnWidth(2), + 3: FlexColumnWidth(1), + 4: FlexColumnWidth(1), + }, + children: [ + TableRow( + decoration: BoxDecoration(color: Colors.transparent), + children: [ + tableMainHeader('Calls'), + tableMainHeader(''), + tableMainHeader('Option Chain'), + tableMainHeader(''), + tableMainHeader('Puts'), + ], + ), + TableRow( + decoration: BoxDecoration(color: Color(0xff00295C)), + children: [ + tableHeader('OI', 'change'), + tableHeader('LTP', 'change'), + tableHeader('Price', ''), + tableHeader('LTP', 'change'), + tableHeader('OI', 'change'), + ], + ), + ...List.generate( + 15, + (index) => tableRow(index), + ), + ], + ) + ], + ), + ), + ), + ), + ], + ), + ); + } + + Widget tableHeader(String text, String text1) { + return Center( + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 8.0), + child: RichText( + textAlign: TextAlign.center, + text: TextSpan( + text: text, + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 14.sp), + children: [ + TextSpan( + text: "\n${text1}", + style: + TextStyle(fontWeight: FontWeight.bold, fontSize: 11.sp)), + ], + ), + ), + ), + ); + } + + Widget tableMainHeader(String text) { + return Center( + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 127.0), + child: Text(text, + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: 16.sp)), + ), + ); + } + + TableRow tableRow(int index) { + return TableRow( + decoration: BoxDecoration( + color: index % 2 == 0 ? Colors.transparent : Colors.transparent, + ), + children: [ + tableCell('1,43,875', '\n59,625'), + tableCell('271.00', '\n-45.65'), + tableCell('22,250', ''), + tableCell('41.35', '\n-8.20'), + tableCell('10,07,275', '\n2,71,400'), + ], + ); + } + + Widget tableCell(String text, String text1) { + return Padding( + padding: const EdgeInsets.all(5.0), + child: RichText( + textAlign: TextAlign.center, + text: TextSpan( + text: text, + style: TextStyle( + fontWeight: FontWeight.w500, + fontSize: 12.sp, + ), + children: [ + TextSpan( + text: "\n${text1}", + style: TextStyle( + fontWeight: FontWeight.w300, + fontSize: 11.sp, + color: Colors.green), + ), + ], + ), + ), + ); + } + + Widget topContainer(String text, int index) { + return Obx(() { + return productsController.selectedIndex.value == index + ? Container( + height: 40.h, + width: 126.w, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5), + color: const Color(0Xff0093FF), + ), + child: Center(child: text16W500(text)), + ) + : commonGlassContainer( + width: 126.w, + height: 40.h, + borderradius: 5, + customWidget: Center(child: text16W400(text)), + ); + }); + } +} + +List listData(List data) { + return data.asMap().entries.map((e) { + return FlSpot(e.key.toDouble(), e.value.toDouble()); + }).toList(); +} + +class OptionChainTable extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: SingleChildScrollView( + child: Column( + children: [ + Table( + columnWidths: { + 0: FlexColumnWidth(1), + 1: FlexColumnWidth(1), + 2: FlexColumnWidth(1), + 3: FlexColumnWidth(1), + 4: FlexColumnWidth(1), + 5: FlexColumnWidth(1), + }, + // border: TableBorder.all(color: Colors.white), + children: [ + TableRow( + decoration: BoxDecoration(color: Colors.black), + children: [ + tableHeader('OI\nchange'), + tableHeader('LTP\nchange'), + tableHeader('Price'), + tableHeader('LTP\nchange'), + tableHeader('OI\nchange'), + ], + ), + ...List.generate(5, (index) => tableRow(index)), + ], + ), + ], + ), + ), + ); + } + + Widget tableHeader(String text) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: Center( + child: Text(text, + style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold)), + ), + ); + } + + TableRow tableRow(int index) { + return TableRow( + decoration: BoxDecoration( + color: index % 2 == 0 + ? Colors.black.withOpacity(0.8) + : Colors.black.withOpacity(0.6), + ), + children: [ + tableCell('1,43,875\n59,625'), + tableCell('271.00\n-45.65'), + tableCell('22,250'), + tableCell('41.35\n-8.20'), + tableCell('10,07,275\n2,71,400'), + ], + ); + } + + Widget tableCell(String text) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: Center( + child: Text(text, style: TextStyle(color: Colors.white)), + ), + ); + } +} diff --git a/lib/view/MainScreen/stockDetails/stock_details_screen.dart b/lib/view/MainScreen/stockDetails/stock_details_screen.dart index 4ac4bba..0cc1034 100644 --- a/lib/view/MainScreen/stockDetails/stock_details_screen.dart +++ b/lib/view/MainScreen/stockDetails/stock_details_screen.dart @@ -9,6 +9,7 @@ import 'package:get/get.dart' hide FormData; import 'package:traderscircuit/Utils/text.dart'; import 'package:traderscircuit/Utils/utils.dart'; import 'package:traderscircuit/model/StockDetailsModel/stock_details_model.dart'; +import 'package:traderscircuit/resources/routes/route_name.dart'; import 'package:traderscircuit/view_model/StockDetailsApi/stock_details_api.dart'; import 'dart:math'; @@ -117,25 +118,32 @@ class _StockDetailsScreenState extends State { children: [ text25W600( "₹${stockDetailsModel!.data!.stockData!.averagePrice!.toString()}"), - Container( - width: 145, - height: 40, - decoration: ShapeDecoration( - color: const Color(0xFF0093FF), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(5)), - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: - CrossAxisAlignment.center, - children: [ - SvgPicture.asset( - "assets/images/svg/option_chain_icon.svg"), - const Gap(5), - text12W600("Option Chain"), - ], - )), + InkWell( + onTap: () { + Get.toNamed(RouteName.optionChain); + }, + child: Container( + width: 145, + height: 40, + decoration: ShapeDecoration( + color: const Color(0xFF0093FF), + shape: RoundedRectangleBorder( + borderRadius: + BorderRadius.circular(5)), + ), + child: Row( + mainAxisAlignment: + MainAxisAlignment.center, + crossAxisAlignment: + CrossAxisAlignment.center, + children: [ + SvgPicture.asset( + "assets/images/svg/option_chain_icon.svg"), + const Gap(5), + text12W600("Option Chain"), + ], + )), + ), ], ), const Gap(8), diff --git a/pubspec.lock b/pubspec.lock index c4dd6d0..ca6da19 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1,6 +1,14 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + _flutterfire_internals: + dependency: transitive + description: + name: _flutterfire_internals + sha256: "4eec93681221723a686ad580c2e7d960e1017cf1a4e0a263c2573c2c6b0bf5cd" + url: "https://pub.dev" + source: hosted + version: "1.3.25" another_flushbar: dependency: transitive description: @@ -305,14 +313,38 @@ packages: url: "https://pub.dev" source: hosted version: "0.9.3+1" + firebase_analytics: + dependency: "direct main" + description: + name: firebase_analytics + sha256: b13cbf1ee78744ca5e6b762e9218db3bd3967a0edfed75f58339907892a2ccb9 + url: "https://pub.dev" + source: hosted + version: "10.8.9" + firebase_analytics_platform_interface: + dependency: transitive + description: + name: firebase_analytics_platform_interface + sha256: "416b33d62033db5ecd2df719fcb657ad04e9995fa0fc392ffdab4ca0e76cb679" + url: "https://pub.dev" + source: hosted + version: "3.9.9" + firebase_analytics_web: + dependency: transitive + description: + name: firebase_analytics_web + sha256: "9dca9d8d468172444ef18cabb73fe99f7aae24733bfad67115bd36bffd2d65c1" + url: "https://pub.dev" + source: hosted + version: "0.5.5+21" firebase_core: dependency: "direct main" description: name: firebase_core - sha256: "96607c0e829a581c2a483c658f04e8b159964c3bae2730f73297070bc85d40bb" + sha256: "53316975310c8af75a96e365f9fccb67d1c544ef0acdbf0d88bbe30eedd1c4f9" url: "https://pub.dev" source: hosted - version: "2.24.2" + version: "2.27.0" firebase_core_platform_interface: dependency: transitive description: @@ -325,10 +357,26 @@ packages: dependency: transitive description: name: firebase_core_web - sha256: d585bdf3c656c3f7821ba1bd44da5f13365d22fcecaf5eb75c4295246aaa83c0 + sha256: c8e1d59385eee98de63c92f961d2a7062c5d9a65e7f45bdc7f1b0b205aab2492 url: "https://pub.dev" source: hosted - version: "2.10.0" + version: "2.11.5" + firebase_crashlytics: + dependency: "direct main" + description: + name: firebase_crashlytics + sha256: c4f1b723d417bc9c4774810e774ff91df8fb0032d33fb2888b2c887e865581b8 + url: "https://pub.dev" + source: hosted + version: "3.4.18" + firebase_crashlytics_platform_interface: + dependency: transitive + description: + name: firebase_crashlytics_platform_interface + sha256: c5a11fca3df76a98e3fa68fde8b10a08aacb9a7639f619fbfd4dad6c67a08643 + url: "https://pub.dev" + source: hosted + version: "3.6.25" fl_chart: dependency: "direct main" description: @@ -624,30 +672,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.4.9" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" - url: "https://pub.dev" - source: hosted - version: "10.0.0" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 - url: "https://pub.dev" - source: hosted - version: "2.0.1" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 - url: "https://pub.dev" - source: hosted - version: "2.0.1" lints: dependency: transitive description: @@ -716,26 +740,26 @@ packages: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.16" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.5.0" meta: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.10.0" mime: dependency: transitive description: @@ -780,10 +804,10 @@ packages: dependency: transitive description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.8.3" path_drawing: dependency: transitive description: @@ -1334,14 +1358,6 @@ packages: url: "https://github.com/kishan06/videoPlayerKB.git" source: git version: "0.0.2" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 - url: "https://pub.dev" - source: hosted - version: "13.0.0" wakelock: dependency: transitive description: @@ -1382,6 +1398,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.2.1" + web: + dependency: transitive + description: + name: web + sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + url: "https://pub.dev" + source: hosted + version: "0.3.0" win32: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index da0d611..c3ef4b2 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -54,6 +54,8 @@ dependencies: device_info_plus: ^8.2.2 permission_handler: ^11.3.1 fl_chart: ^0.68.0 + firebase_crashlytics: ^3.4.18 + firebase_analytics: ^10.8.9 dev_dependencies: flutter_test: