Compare commits
No commits in common. "18f67d6a177faeddbbfc0557903b98ea70c52860" and "fc8ac99ea31eaa4072ca010f5dacfc7a14f47e4f" have entirely different histories.
18f67d6a17
...
fc8ac99ea3
252
ios/Podfile.lock
252
ios/Podfile.lock
|
|
@ -1,10 +1,9 @@
|
||||||
PODS:
|
PODS:
|
||||||
- app_links (0.0.2):
|
|
||||||
- Flutter
|
|
||||||
- audio_session (0.0.1):
|
- audio_session (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- device_info_plus (0.0.1):
|
- awesome_notifications (0.8.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
|
- IosAwnCore (~> 0.8.0)
|
||||||
- DKImagePickerController/Core (4.3.9):
|
- DKImagePickerController/Core (4.3.9):
|
||||||
- DKImagePickerController/ImageDataManager
|
- DKImagePickerController/ImageDataManager
|
||||||
- DKImagePickerController/Resource
|
- DKImagePickerController/Resource
|
||||||
|
|
@ -39,101 +38,97 @@ PODS:
|
||||||
- file_picker (0.0.1):
|
- file_picker (0.0.1):
|
||||||
- DKImagePickerController/PhotoGallery
|
- DKImagePickerController/PhotoGallery
|
||||||
- Flutter
|
- Flutter
|
||||||
- Firebase/CoreOnly (11.10.0):
|
- Firebase/CoreOnly (10.29.0):
|
||||||
- FirebaseCore (~> 11.10.0)
|
- FirebaseCore (= 10.29.0)
|
||||||
- Firebase/Messaging (11.10.0):
|
- Firebase/Messaging (10.29.0):
|
||||||
- Firebase/CoreOnly
|
- Firebase/CoreOnly
|
||||||
- FirebaseMessaging (~> 11.10.0)
|
- FirebaseMessaging (~> 10.29.0)
|
||||||
- firebase_core (3.13.0):
|
- firebase_core (3.3.0):
|
||||||
- Firebase/CoreOnly (= 11.10.0)
|
- Firebase/CoreOnly (= 10.29.0)
|
||||||
- Flutter
|
- Flutter
|
||||||
- firebase_messaging (15.2.5):
|
- firebase_messaging (15.0.4):
|
||||||
- Firebase/Messaging (= 11.10.0)
|
- Firebase/Messaging (= 10.29.0)
|
||||||
- firebase_core
|
- firebase_core
|
||||||
- Flutter
|
- Flutter
|
||||||
- FirebaseCore (11.10.0):
|
- FirebaseCore (10.29.0):
|
||||||
- FirebaseCoreInternal (~> 11.10.0)
|
- FirebaseCoreInternal (~> 10.0)
|
||||||
- GoogleUtilities/Environment (~> 8.0)
|
- GoogleUtilities/Environment (~> 7.12)
|
||||||
- GoogleUtilities/Logger (~> 8.0)
|
- GoogleUtilities/Logger (~> 7.12)
|
||||||
- FirebaseCoreInternal (11.10.0):
|
- FirebaseCoreInternal (10.29.0):
|
||||||
- "GoogleUtilities/NSData+zlib (~> 8.0)"
|
- "GoogleUtilities/NSData+zlib (~> 7.8)"
|
||||||
- FirebaseInstallations (11.10.0):
|
- FirebaseInstallations (10.29.0):
|
||||||
- FirebaseCore (~> 11.10.0)
|
- FirebaseCore (~> 10.0)
|
||||||
- GoogleUtilities/Environment (~> 8.0)
|
- GoogleUtilities/Environment (~> 7.8)
|
||||||
- GoogleUtilities/UserDefaults (~> 8.0)
|
- GoogleUtilities/UserDefaults (~> 7.8)
|
||||||
- PromisesObjC (~> 2.4)
|
- PromisesObjC (~> 2.1)
|
||||||
- FirebaseMessaging (11.10.0):
|
- FirebaseMessaging (10.29.0):
|
||||||
- FirebaseCore (~> 11.10.0)
|
- FirebaseCore (~> 10.0)
|
||||||
- FirebaseInstallations (~> 11.0)
|
- FirebaseInstallations (~> 10.0)
|
||||||
- GoogleDataTransport (~> 10.0)
|
- GoogleDataTransport (~> 9.3)
|
||||||
- GoogleUtilities/AppDelegateSwizzler (~> 8.0)
|
- GoogleUtilities/AppDelegateSwizzler (~> 7.8)
|
||||||
- GoogleUtilities/Environment (~> 8.0)
|
- GoogleUtilities/Environment (~> 7.8)
|
||||||
- GoogleUtilities/Reachability (~> 8.0)
|
- GoogleUtilities/Reachability (~> 7.8)
|
||||||
- GoogleUtilities/UserDefaults (~> 8.0)
|
- GoogleUtilities/UserDefaults (~> 7.8)
|
||||||
- nanopb (~> 3.30910.0)
|
- nanopb (< 2.30911.0, >= 2.30908.0)
|
||||||
- Flutter (1.0.0)
|
- Flutter (1.0.0)
|
||||||
- flutter_background_service_ios (0.0.3):
|
- flutter_background_service_ios (0.0.3):
|
||||||
- Flutter
|
- Flutter
|
||||||
- flutter_downloader (0.0.1):
|
- flutter_downloader (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- flutter_inappwebview_ios (0.0.1):
|
|
||||||
- Flutter
|
|
||||||
- flutter_inappwebview_ios/Core (= 0.0.1)
|
|
||||||
- OrderedSet (~> 6.0.3)
|
|
||||||
- flutter_inappwebview_ios/Core (0.0.1):
|
|
||||||
- Flutter
|
|
||||||
- OrderedSet (~> 6.0.3)
|
|
||||||
- flutter_local_notifications (0.0.1):
|
- flutter_local_notifications (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- flutter_secure_storage (6.0.0):
|
- flutter_secure_storage (6.0.0):
|
||||||
- Flutter
|
- Flutter
|
||||||
- flutter_sound (9.28.0):
|
- flutter_sound (9.6.0):
|
||||||
- Flutter
|
- Flutter
|
||||||
- flutter_sound_core (= 9.28.0)
|
- flutter_sound_core (= 9.6.0)
|
||||||
- flutter_sound_core (9.28.0)
|
- flutter_sound_core (9.6.0)
|
||||||
- GoogleDataTransport (10.1.0):
|
- flutter_vibrate (0.0.1):
|
||||||
- nanopb (~> 3.30910.0)
|
- Flutter
|
||||||
- PromisesObjC (~> 2.4)
|
- GoogleDataTransport (9.4.1):
|
||||||
- GoogleUtilities/AppDelegateSwizzler (8.1.0):
|
- GoogleUtilities/Environment (~> 7.7)
|
||||||
|
- nanopb (< 2.30911.0, >= 2.30908.0)
|
||||||
|
- PromisesObjC (< 3.0, >= 1.2)
|
||||||
|
- GoogleUtilities/AppDelegateSwizzler (7.13.3):
|
||||||
- GoogleUtilities/Environment
|
- GoogleUtilities/Environment
|
||||||
- GoogleUtilities/Logger
|
- GoogleUtilities/Logger
|
||||||
- GoogleUtilities/Network
|
- GoogleUtilities/Network
|
||||||
- GoogleUtilities/Privacy
|
- GoogleUtilities/Privacy
|
||||||
- GoogleUtilities/Environment (8.1.0):
|
- GoogleUtilities/Environment (7.13.3):
|
||||||
- GoogleUtilities/Privacy
|
- GoogleUtilities/Privacy
|
||||||
- GoogleUtilities/Logger (8.1.0):
|
- PromisesObjC (< 3.0, >= 1.2)
|
||||||
|
- GoogleUtilities/Logger (7.13.3):
|
||||||
- GoogleUtilities/Environment
|
- GoogleUtilities/Environment
|
||||||
- GoogleUtilities/Privacy
|
- GoogleUtilities/Privacy
|
||||||
- GoogleUtilities/Network (8.1.0):
|
- GoogleUtilities/Network (7.13.3):
|
||||||
- GoogleUtilities/Logger
|
- GoogleUtilities/Logger
|
||||||
- "GoogleUtilities/NSData+zlib"
|
- "GoogleUtilities/NSData+zlib"
|
||||||
- GoogleUtilities/Privacy
|
- GoogleUtilities/Privacy
|
||||||
- GoogleUtilities/Reachability
|
- GoogleUtilities/Reachability
|
||||||
- "GoogleUtilities/NSData+zlib (8.1.0)":
|
- "GoogleUtilities/NSData+zlib (7.13.3)":
|
||||||
- GoogleUtilities/Privacy
|
- GoogleUtilities/Privacy
|
||||||
- GoogleUtilities/Privacy (8.1.0)
|
- GoogleUtilities/Privacy (7.13.3)
|
||||||
- GoogleUtilities/Reachability (8.1.0):
|
- GoogleUtilities/Reachability (7.13.3):
|
||||||
- GoogleUtilities/Logger
|
- GoogleUtilities/Logger
|
||||||
- GoogleUtilities/Privacy
|
- GoogleUtilities/Privacy
|
||||||
- GoogleUtilities/UserDefaults (8.1.0):
|
- GoogleUtilities/UserDefaults (7.13.3):
|
||||||
- GoogleUtilities/Logger
|
- GoogleUtilities/Logger
|
||||||
- GoogleUtilities/Privacy
|
- GoogleUtilities/Privacy
|
||||||
- home_widget (0.0.1):
|
- home_widget (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- image_cropper (0.0.4):
|
- image_cropper (0.0.4):
|
||||||
- Flutter
|
- Flutter
|
||||||
- TOCropViewController (~> 2.7.4)
|
- TOCropViewController (~> 2.6.1)
|
||||||
- image_picker_ios (0.0.1):
|
- image_picker_ios (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
|
- IosAwnCore (0.8.0)
|
||||||
- just_audio (0.0.1):
|
- just_audio (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- FlutterMacOS
|
- nanopb (2.30910.0):
|
||||||
- nanopb (3.30910.0):
|
- nanopb/decode (= 2.30910.0)
|
||||||
- nanopb/decode (= 3.30910.0)
|
- nanopb/encode (= 2.30910.0)
|
||||||
- nanopb/encode (= 3.30910.0)
|
- nanopb/decode (2.30910.0)
|
||||||
- nanopb/decode (3.30910.0)
|
- nanopb/encode (2.30910.0)
|
||||||
- nanopb/encode (3.30910.0)
|
|
||||||
- OrderedSet (6.0.3)
|
|
||||||
- package_info_plus (0.4.5):
|
- package_info_plus (0.4.5):
|
||||||
- Flutter
|
- Flutter
|
||||||
- path_provider_foundation (0.0.1):
|
- path_provider_foundation (0.0.1):
|
||||||
|
|
@ -144,23 +139,17 @@ PODS:
|
||||||
- PromisesObjC (2.4.0)
|
- PromisesObjC (2.4.0)
|
||||||
- record_darwin (1.0.0):
|
- record_darwin (1.0.0):
|
||||||
- Flutter
|
- Flutter
|
||||||
|
- FlutterMacOS
|
||||||
- rive_common (0.0.1):
|
- rive_common (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- SDWebImage (5.21.2):
|
- SDWebImage (5.19.7):
|
||||||
- SDWebImage/Core (= 5.21.2)
|
- SDWebImage/Core (= 5.19.7)
|
||||||
- SDWebImage/Core (5.21.2)
|
- SDWebImage/Core (5.19.7)
|
||||||
- Sentry/HybridSDK (8.46.0)
|
- sqflite (0.0.3):
|
||||||
- sentry_flutter (8.14.2):
|
|
||||||
- Flutter
|
|
||||||
- FlutterMacOS
|
|
||||||
- Sentry/HybridSDK (= 8.46.0)
|
|
||||||
- sms_autofill (0.0.1):
|
|
||||||
- Flutter
|
|
||||||
- sqflite_darwin (0.0.4):
|
|
||||||
- Flutter
|
- Flutter
|
||||||
- FlutterMacOS
|
- FlutterMacOS
|
||||||
- SwiftyGif (5.4.5)
|
- SwiftyGif (5.4.5)
|
||||||
- TOCropViewController (2.7.4)
|
- TOCropViewController (2.6.1)
|
||||||
- url_launcher_ios (0.0.1):
|
- url_launcher_ios (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- video_player_avfoundation (0.0.1):
|
- video_player_avfoundation (0.0.1):
|
||||||
|
|
@ -170,38 +159,34 @@ PODS:
|
||||||
- Flutter
|
- Flutter
|
||||||
- webview_flutter_wkwebview (0.0.1):
|
- webview_flutter_wkwebview (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- FlutterMacOS
|
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- app_links (from `.symlinks/plugins/app_links/ios`)
|
|
||||||
- audio_session (from `.symlinks/plugins/audio_session/ios`)
|
- audio_session (from `.symlinks/plugins/audio_session/ios`)
|
||||||
- device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
|
- awesome_notifications (from `.symlinks/plugins/awesome_notifications/ios`)
|
||||||
- file_picker (from `.symlinks/plugins/file_picker/ios`)
|
- file_picker (from `.symlinks/plugins/file_picker/ios`)
|
||||||
- firebase_core (from `.symlinks/plugins/firebase_core/ios`)
|
- firebase_core (from `.symlinks/plugins/firebase_core/ios`)
|
||||||
- firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
|
- firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
|
||||||
- Flutter (from `Flutter`)
|
- Flutter (from `Flutter`)
|
||||||
- flutter_background_service_ios (from `.symlinks/plugins/flutter_background_service_ios/ios`)
|
- flutter_background_service_ios (from `.symlinks/plugins/flutter_background_service_ios/ios`)
|
||||||
- flutter_downloader (from `.symlinks/plugins/flutter_downloader/ios`)
|
- flutter_downloader (from `.symlinks/plugins/flutter_downloader/ios`)
|
||||||
- flutter_inappwebview_ios (from `.symlinks/plugins/flutter_inappwebview_ios/ios`)
|
|
||||||
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
|
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
|
||||||
- flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`)
|
- flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`)
|
||||||
- flutter_sound (from `.symlinks/plugins/flutter_sound/ios`)
|
- flutter_sound (from `.symlinks/plugins/flutter_sound/ios`)
|
||||||
|
- flutter_vibrate (from `.symlinks/plugins/flutter_vibrate/ios`)
|
||||||
- home_widget (from `.symlinks/plugins/home_widget/ios`)
|
- home_widget (from `.symlinks/plugins/home_widget/ios`)
|
||||||
- image_cropper (from `.symlinks/plugins/image_cropper/ios`)
|
- image_cropper (from `.symlinks/plugins/image_cropper/ios`)
|
||||||
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
||||||
- just_audio (from `.symlinks/plugins/just_audio/darwin`)
|
- just_audio (from `.symlinks/plugins/just_audio/ios`)
|
||||||
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
||||||
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
|
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
|
||||||
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
|
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
|
||||||
- record_darwin (from `.symlinks/plugins/record_darwin/ios`)
|
- record_darwin (from `.symlinks/plugins/record_darwin/ios`)
|
||||||
- rive_common (from `.symlinks/plugins/rive_common/ios`)
|
- rive_common (from `.symlinks/plugins/rive_common/ios`)
|
||||||
- sentry_flutter (from `.symlinks/plugins/sentry_flutter/ios`)
|
- sqflite (from `.symlinks/plugins/sqflite/darwin`)
|
||||||
- sms_autofill (from `.symlinks/plugins/sms_autofill/ios`)
|
|
||||||
- sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
|
|
||||||
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||||
- video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`)
|
- video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`)
|
||||||
- wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`)
|
- wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`)
|
||||||
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/darwin`)
|
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`)
|
||||||
|
|
||||||
SPEC REPOS:
|
SPEC REPOS:
|
||||||
trunk:
|
trunk:
|
||||||
|
|
@ -215,21 +200,18 @@ SPEC REPOS:
|
||||||
- flutter_sound_core
|
- flutter_sound_core
|
||||||
- GoogleDataTransport
|
- GoogleDataTransport
|
||||||
- GoogleUtilities
|
- GoogleUtilities
|
||||||
|
- IosAwnCore
|
||||||
- nanopb
|
- nanopb
|
||||||
- OrderedSet
|
|
||||||
- PromisesObjC
|
- PromisesObjC
|
||||||
- SDWebImage
|
- SDWebImage
|
||||||
- Sentry
|
|
||||||
- SwiftyGif
|
- SwiftyGif
|
||||||
- TOCropViewController
|
- TOCropViewController
|
||||||
|
|
||||||
EXTERNAL SOURCES:
|
EXTERNAL SOURCES:
|
||||||
app_links:
|
|
||||||
:path: ".symlinks/plugins/app_links/ios"
|
|
||||||
audio_session:
|
audio_session:
|
||||||
:path: ".symlinks/plugins/audio_session/ios"
|
:path: ".symlinks/plugins/audio_session/ios"
|
||||||
device_info_plus:
|
awesome_notifications:
|
||||||
:path: ".symlinks/plugins/device_info_plus/ios"
|
:path: ".symlinks/plugins/awesome_notifications/ios"
|
||||||
file_picker:
|
file_picker:
|
||||||
:path: ".symlinks/plugins/file_picker/ios"
|
:path: ".symlinks/plugins/file_picker/ios"
|
||||||
firebase_core:
|
firebase_core:
|
||||||
|
|
@ -242,14 +224,14 @@ EXTERNAL SOURCES:
|
||||||
:path: ".symlinks/plugins/flutter_background_service_ios/ios"
|
:path: ".symlinks/plugins/flutter_background_service_ios/ios"
|
||||||
flutter_downloader:
|
flutter_downloader:
|
||||||
:path: ".symlinks/plugins/flutter_downloader/ios"
|
:path: ".symlinks/plugins/flutter_downloader/ios"
|
||||||
flutter_inappwebview_ios:
|
|
||||||
:path: ".symlinks/plugins/flutter_inappwebview_ios/ios"
|
|
||||||
flutter_local_notifications:
|
flutter_local_notifications:
|
||||||
:path: ".symlinks/plugins/flutter_local_notifications/ios"
|
:path: ".symlinks/plugins/flutter_local_notifications/ios"
|
||||||
flutter_secure_storage:
|
flutter_secure_storage:
|
||||||
:path: ".symlinks/plugins/flutter_secure_storage/ios"
|
:path: ".symlinks/plugins/flutter_secure_storage/ios"
|
||||||
flutter_sound:
|
flutter_sound:
|
||||||
:path: ".symlinks/plugins/flutter_sound/ios"
|
:path: ".symlinks/plugins/flutter_sound/ios"
|
||||||
|
flutter_vibrate:
|
||||||
|
:path: ".symlinks/plugins/flutter_vibrate/ios"
|
||||||
home_widget:
|
home_widget:
|
||||||
:path: ".symlinks/plugins/home_widget/ios"
|
:path: ".symlinks/plugins/home_widget/ios"
|
||||||
image_cropper:
|
image_cropper:
|
||||||
|
|
@ -257,7 +239,7 @@ EXTERNAL SOURCES:
|
||||||
image_picker_ios:
|
image_picker_ios:
|
||||||
:path: ".symlinks/plugins/image_picker_ios/ios"
|
:path: ".symlinks/plugins/image_picker_ios/ios"
|
||||||
just_audio:
|
just_audio:
|
||||||
:path: ".symlinks/plugins/just_audio/darwin"
|
:path: ".symlinks/plugins/just_audio/ios"
|
||||||
package_info_plus:
|
package_info_plus:
|
||||||
:path: ".symlinks/plugins/package_info_plus/ios"
|
:path: ".symlinks/plugins/package_info_plus/ios"
|
||||||
path_provider_foundation:
|
path_provider_foundation:
|
||||||
|
|
@ -268,12 +250,8 @@ EXTERNAL SOURCES:
|
||||||
:path: ".symlinks/plugins/record_darwin/ios"
|
:path: ".symlinks/plugins/record_darwin/ios"
|
||||||
rive_common:
|
rive_common:
|
||||||
:path: ".symlinks/plugins/rive_common/ios"
|
:path: ".symlinks/plugins/rive_common/ios"
|
||||||
sentry_flutter:
|
sqflite:
|
||||||
:path: ".symlinks/plugins/sentry_flutter/ios"
|
:path: ".symlinks/plugins/sqflite/darwin"
|
||||||
sms_autofill:
|
|
||||||
:path: ".symlinks/plugins/sms_autofill/ios"
|
|
||||||
sqflite_darwin:
|
|
||||||
:path: ".symlinks/plugins/sqflite_darwin/darwin"
|
|
||||||
url_launcher_ios:
|
url_launcher_ios:
|
||||||
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
||||||
video_player_avfoundation:
|
video_player_avfoundation:
|
||||||
|
|
@ -281,56 +259,52 @@ EXTERNAL SOURCES:
|
||||||
wakelock_plus:
|
wakelock_plus:
|
||||||
:path: ".symlinks/plugins/wakelock_plus/ios"
|
:path: ".symlinks/plugins/wakelock_plus/ios"
|
||||||
webview_flutter_wkwebview:
|
webview_flutter_wkwebview:
|
||||||
:path: ".symlinks/plugins/webview_flutter_wkwebview/darwin"
|
:path: ".symlinks/plugins/webview_flutter_wkwebview/ios"
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
app_links: 76b66b60cc809390ca1ad69bfd66b998d2387ac7
|
audio_session: 088d2483ebd1dc43f51d253d4a1c517d9a2e7207
|
||||||
audio_session: 9bb7f6c970f21241b19f5a3658097ae459681ba0
|
awesome_notifications: db394d2e061e4583ba0f738ddea611e3986cc3fb
|
||||||
device_info_plus: 21fcca2080fbcd348be798aa36c3e5ed849eefbe
|
|
||||||
DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
|
DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
|
||||||
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
|
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
|
||||||
file_picker: a0560bc09d61de87f12d246fc47d2119e6ef37be
|
file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655
|
||||||
Firebase: 1fe1c0a7d9aaea32efe01fbea5f0ebd8d70e53a2
|
Firebase: cec914dab6fd7b1bd8ab56ea07ce4e03dd251c2d
|
||||||
firebase_core: 2d4534e7b489907dcede540c835b48981d890943
|
firebase_core: 57aeb91680e5d5e6df6b888064be7c785f146efb
|
||||||
firebase_messaging: 75bc93a4df25faccad67f6662ae872ac9ae69b64
|
firebase_messaging: c862b3d2b973ecc769194dc8de09bd22c77ae757
|
||||||
FirebaseCore: 8344daef5e2661eb004b177488d6f9f0f24251b7
|
FirebaseCore: 30e9c1cbe3d38f5f5e75f48bfcea87d7c358ec16
|
||||||
FirebaseCoreInternal: ef4505d2afb1d0ebbc33162cb3795382904b5679
|
FirebaseCoreInternal: df84dd300b561c27d5571684f389bf60b0a5c934
|
||||||
FirebaseInstallations: 9980995bdd06ec8081dfb6ab364162bdd64245c3
|
FirebaseInstallations: 913cf60d0400ebd5d6b63a28b290372ab44590dd
|
||||||
FirebaseMessaging: 2b9f56aa4ed286e1f0ce2ee1d413aabb8f9f5cb9
|
FirebaseMessaging: 7b5d8033e183ab59eb5b852a53201559e976d366
|
||||||
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
|
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
|
||||||
flutter_background_service_ios: 00d31bdff7b4bfe06d32375df358abe0329cf87e
|
flutter_background_service_ios: e30e0d3ee69e4cee66272d0c78eacd48c2e94aac
|
||||||
flutter_downloader: 78da0da1084e709cbfd3b723c7ea349c71681f09
|
flutter_downloader: b7301ae057deadd4b1650dc7c05375f10ff12c39
|
||||||
flutter_inappwebview_ios: b89ba3482b96fb25e00c967aae065701b66e9b99
|
flutter_local_notifications: 4cde75091f6327eb8517fa068a0a5950212d2086
|
||||||
flutter_local_notifications: a5a732f069baa862e728d839dd2ebb904737effb
|
flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be
|
||||||
flutter_secure_storage: 1ed9476fba7e7a782b22888f956cce43e2c62f13
|
flutter_sound: dde9a913063b65a27ba8fdc2039036b99b136c79
|
||||||
flutter_sound: b9236a5875299aaa4cef1690afd2f01d52a3f890
|
flutter_sound_core: 0c6eb9d5268adc70ff159b3d65fd3d98a82d3a27
|
||||||
flutter_sound_core: 427465f72d07ab8c3edbe8ffdde709ddacd3763c
|
flutter_vibrate: 9f4c2ab57008965f78969472367c329dd77eb801
|
||||||
GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
|
GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a
|
||||||
GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
|
GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15
|
||||||
home_widget: f169fc41fd807b4d46ab6615dc44d62adbf9f64f
|
home_widget: 0434835a4c9a75704264feff6be17ea40e0f0d57
|
||||||
image_cropper: c4326ea50132b1e1564499e5d32a84f01fb03537
|
image_cropper: 60c2789d1f1a78c873235d4319ca0c34a69f2d98
|
||||||
image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a
|
image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1
|
||||||
just_audio: 4e391f57b79cad2b0674030a00453ca5ce817eed
|
IosAwnCore: ed1b2b6d84962a758354dbacd9ce525c72ce28a9
|
||||||
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
|
just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa
|
||||||
OrderedSet: e539b66b644ff081c73a262d24ad552a69be3a94
|
nanopb: 438bc412db1928dac798aa6fd75726007be04262
|
||||||
package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
|
package_info_plus: 58f0028419748fad15bf008b270aaa8e54380b1c
|
||||||
path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
|
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
|
||||||
permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d
|
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
|
||||||
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
|
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
|
||||||
record_darwin: fb1f375f1d9603714f55b8708a903bbb91ffdb0a
|
record_darwin: df0a677188e5fed18472550298e675f19ddaffbe
|
||||||
rive_common: 436bbc8ffad130e54693666382cbdaade8dac9e0
|
rive_common: c537b4eed761e903a9403d93c347b69bd7a4762f
|
||||||
SDWebImage: 9f177d83116802728e122410fb25ad88f5c7608a
|
SDWebImage: 8a6b7b160b4d710e2a22b6900e25301075c34cb3
|
||||||
Sentry: da60d980b197a46db0b35ea12cb8f39af48d8854
|
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec
|
||||||
sentry_flutter: 27892878729f42701297c628eb90e7c6529f3684
|
|
||||||
sms_autofill: b36b2147535657fea83d7f3898d7831de70bd8e4
|
|
||||||
sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
|
|
||||||
SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
|
SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
|
||||||
TOCropViewController: 80b8985ad794298fb69d3341de183f33d1853654
|
TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863
|
||||||
url_launcher_ios: 694010445543906933d732453a59da0a173ae33d
|
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
|
||||||
video_player_avfoundation: 2cef49524dd1f16c5300b9cd6efd9611ce03639b
|
video_player_avfoundation: 7c6c11d8470e1675df7397027218274b6d2360b3
|
||||||
wakelock_plus: e29112ab3ef0b318e58cfa5c32326458be66b556
|
wakelock_plus: 78ec7c5b202cab7761af8e2b2b3d0671be6c4ae1
|
||||||
webview_flutter_wkwebview: 1821ceac936eba6f7984d89a9f3bcb4dea99ebb2
|
webview_flutter_wkwebview: 2a23822e9039b7b1bc52e5add778e5d89ad488d1
|
||||||
|
|
||||||
PODFILE CHECKSUM: 76346ded4b0438dd89826a25813fc91ef681eb1f
|
PODFILE CHECKSUM: 76346ded4b0438dd89826a25813fc91ef681eb1f
|
||||||
|
|
||||||
COCOAPODS: 1.16.2
|
COCOAPODS: 1.15.2
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,6 @@
|
||||||
ignoresPersistentStateOnLaunch = "NO"
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
debugDocumentVersioning = "YES"
|
debugDocumentVersioning = "YES"
|
||||||
debugServiceExtension = "internal"
|
debugServiceExtension = "internal"
|
||||||
enableGPUValidationMode = "1"
|
|
||||||
allowLocationSimulation = "YES">
|
allowLocationSimulation = "YES">
|
||||||
<BuildableProductRunnable
|
<BuildableProductRunnable
|
||||||
runnableDebuggingMode = "0">
|
runnableDebuggingMode = "0">
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import Flutter
|
||||||
import Firebase
|
import Firebase
|
||||||
import FirebaseCore
|
import FirebaseCore
|
||||||
|
|
||||||
@main
|
@UIApplicationMain
|
||||||
@objc class AppDelegate: FlutterAppDelegate, MessagingDelegate {
|
@objc class AppDelegate: FlutterAppDelegate, MessagingDelegate {
|
||||||
override func application(
|
override func application(
|
||||||
_ application: UIApplication,
|
_ application: UIApplication,
|
||||||
|
|
|
||||||
|
|
@ -32,14 +32,12 @@ class AppInitializer {
|
||||||
final studioState = context.read<StudioDetailsState>();
|
final studioState = context.read<StudioDetailsState>();
|
||||||
MediaService.audioPlayer.playingStream.listen((event) {
|
MediaService.audioPlayer.playingStream.listen((event) {
|
||||||
if (event &&
|
if (event &&
|
||||||
(MediaService.audioPlayerTag?.contains('podcast') ?? false) &&
|
(MediaService.audioPlayerTag?.contains('podcast') ?? false)) {
|
||||||
MediaService.currentPodcast != null) {
|
|
||||||
studioState.handleTracking(
|
studioState.handleTracking(
|
||||||
id: MediaService.currentPodcast!.id,
|
id: MediaService.currentPodcast!.id,
|
||||||
sendRequest: false,
|
sendRequest: false,
|
||||||
);
|
);
|
||||||
} else if ((MediaService.audioPlayerTag?.contains('podcast') ?? false) &&
|
} else if (MediaService.audioPlayerTag?.contains('podcast') ?? false) {
|
||||||
MediaService.currentPodcast != null) {
|
|
||||||
studioState.handleTracking(id: MediaService.currentPodcast!.id);
|
studioState.handleTracking(id: MediaService.currentPodcast!.id);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,6 @@ import 'package:didvan/routes/routes.dart';
|
||||||
import 'package:didvan/services/app_initalizer.dart';
|
import 'package:didvan/services/app_initalizer.dart';
|
||||||
import 'package:didvan/utils/action_sheet.dart';
|
import 'package:didvan/utils/action_sheet.dart';
|
||||||
import 'package:didvan/views/ai/ai_state.dart';
|
import 'package:didvan/views/ai/ai_state.dart';
|
||||||
import 'package:didvan/views/ai/ai.dart';
|
|
||||||
import 'package:didvan/views/ai/history_ai_chat_state.dart';
|
import 'package:didvan/views/ai/history_ai_chat_state.dart';
|
||||||
import 'package:didvan/views/ai/widgets/hoshan_drawer.dart';
|
import 'package:didvan/views/ai/widgets/hoshan_drawer.dart';
|
||||||
import 'package:didvan/views/home/categories/categories_page.dart';
|
import 'package:didvan/views/home/categories/categories_page.dart';
|
||||||
|
|
@ -44,6 +43,103 @@ class _HomeState extends State<Home>
|
||||||
with SingleTickerProviderStateMixin, WidgetsBindingObserver {
|
with SingleTickerProviderStateMixin, WidgetsBindingObserver {
|
||||||
late final TabController _tabController;
|
late final TabController _tabController;
|
||||||
|
|
||||||
|
Future<void> _showDialog(BuildContext context) async {
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
|
ActionSheetUtils(context)
|
||||||
|
.openDialog(
|
||||||
|
data: ActionSheetData(
|
||||||
|
hasDismissButton: false,
|
||||||
|
hasConfirmButton: false,
|
||||||
|
withoutButtonMode: true,
|
||||||
|
content: Column(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
|
children: [
|
||||||
|
InkWrapper(
|
||||||
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
child: const Icon(DidvanIcons.close_solid, size: 24),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
const SizedBox(height: 15),
|
||||||
|
SvgPicture.asset(Assets.horizontalLogoWithText, height: 80),
|
||||||
|
const SizedBox(height: 24),
|
||||||
|
DidvanText(
|
||||||
|
'به سوپر اپلیکیشن دیدوان خوش آمدید',
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: Theme.of(context).textTheme.titleMedium,
|
||||||
|
),
|
||||||
|
const SizedBox(height: 24),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.then((value) => ActionSheetUtils(context).openDialog(
|
||||||
|
data: ActionSheetData(
|
||||||
|
// ignore: deprecated_member_use
|
||||||
|
backgroundColor: Theme.of(context).colorScheme.background,
|
||||||
|
isBackgroundDropBlur: true,
|
||||||
|
content: Stack(
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.only(top: 24.0),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
DidvanText(
|
||||||
|
'شخصی سازی محتوا',
|
||||||
|
style:
|
||||||
|
Theme.of(context).textTheme.displaySmall,
|
||||||
|
color: Theme.of(context).colorScheme.text,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 12,
|
||||||
|
),
|
||||||
|
const DidvanText(
|
||||||
|
"کاربر گرامی\nلطفا جهت شخصیسازی و استفاده بهتر از برنامه، دستهبندیهای مورد علاقه خود و زمان دریافت اعلانات را انتخاب نمایید.")
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Positioned(
|
||||||
|
top: 0,
|
||||||
|
left: 0,
|
||||||
|
child: InkWrapper(
|
||||||
|
onPressed: () {
|
||||||
|
Future.delayed(
|
||||||
|
Duration.zero,
|
||||||
|
() => Navigator.of(context).pop(),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
child: const Icon(
|
||||||
|
DidvanIcons.close_solid,
|
||||||
|
size: 24,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
onConfirmed: () {
|
||||||
|
Future.delayed(
|
||||||
|
Duration.zero,
|
||||||
|
() =>
|
||||||
|
Navigator.of(navigatorKey.currentContext!).pushNamed(
|
||||||
|
Routes.favouritesStep,
|
||||||
|
arguments: {"toTimer": true},
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
confrimTitle: 'تایید',
|
||||||
|
),
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
// Remove dialog showing logic to prevent welcome popups
|
// Remove dialog showing logic to prevent welcome popups
|
||||||
|
|
@ -58,8 +154,7 @@ class _HomeState extends State<Home>
|
||||||
|
|
||||||
_tabController.addListener(() {
|
_tabController.addListener(() {
|
||||||
state.currentPageIndex = _tabController.index;
|
state.currentPageIndex = _tabController.index;
|
||||||
if (_tabController.index == 3) {
|
if (_tabController.index == 3) { // Changed from 2 to 3 for Houshan tab
|
||||||
// Changed from 2 to 3 for Houshan tab
|
|
||||||
// با هر بار ورود به تب هوشان، لیست چتها ریست میشود
|
// با هر بار ورود به تب هوشان، لیست چتها ریست میشود
|
||||||
final historyState = context.read<HistoryAiChatState>();
|
final historyState = context.read<HistoryAiChatState>();
|
||||||
historyState.chats.clear();
|
historyState.chats.clear();
|
||||||
|
|
@ -133,8 +228,7 @@ class _HomeState extends State<Home>
|
||||||
confrimTitle: 'بله',
|
confrimTitle: 'بله',
|
||||||
dismissTitle: 'خیر',
|
dismissTitle: 'خیر',
|
||||||
));
|
));
|
||||||
} else if (context.read<HomeState>().tabController.index == 3) {
|
} else if (context.read<HomeState>().tabController.index == 3) { // Changed from 2 to 3
|
||||||
// Changed from 2 to 3
|
|
||||||
switch (context.read<AiState>().page) {
|
switch (context.read<AiState>().page) {
|
||||||
case 1:
|
case 1:
|
||||||
context.read<AiState>().goToAi();
|
context.read<AiState>().goToAi();
|
||||||
|
|
@ -164,7 +258,7 @@ class _HomeState extends State<Home>
|
||||||
MainPage(),
|
MainPage(),
|
||||||
CategoriesPage(),
|
CategoriesPage(),
|
||||||
NewStatistic(),
|
NewStatistic(),
|
||||||
Ai(),
|
// AiSection(),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,6 @@ class _MainPagePodcastItemState extends State<MainPagePodcastItem> {
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
debugPrint("Playing podcast from URL: ${widget.content.link}");
|
|
||||||
final state = context.read<StudioDetailsState>();
|
final state = context.read<StudioDetailsState>();
|
||||||
await state.getStudioDetails(
|
await state.getStudioDetails(
|
||||||
widget.content.id,
|
widget.content.id,
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ import 'package:didvan/services/media/media.dart';
|
||||||
import 'package:didvan/views/podcasts/studio_details/studio_details_state.dart';
|
import 'package:didvan/views/podcasts/studio_details/studio_details_state.dart';
|
||||||
import 'package:didvan/views/podcasts/studio_details/widgets/studio_details_widget.dart';
|
import 'package:didvan/views/podcasts/studio_details/widgets/studio_details_widget.dart';
|
||||||
import 'package:didvan/views/widgets/bookmark_button.dart';
|
import 'package:didvan/views/widgets/bookmark_button.dart';
|
||||||
import 'package:didvan/views/widgets/audio/audio_player_widget.dart';
|
|
||||||
import 'package:didvan/views/widgets/didvan/app_bar.dart';
|
import 'package:didvan/views/widgets/didvan/app_bar.dart';
|
||||||
import 'package:didvan/views/widgets/state_handlers/state_handler.dart';
|
import 'package:didvan/views/widgets/state_handlers/state_handler.dart';
|
||||||
import 'package:didvan/views/widgets/video/primary_controls.dart';
|
import 'package:didvan/views/widgets/video/primary_controls.dart';
|
||||||
|
|
@ -67,12 +66,11 @@ class _StudioDetailsState extends State<StudioDetails> {
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _initializePlayer(StudioDetailsData studio) async {
|
Future<void> _initializePlayer(StudioDetailsData studio) async {
|
||||||
if (studio.type == 'video') {
|
if (widget.pageData['args']['type'] == 'video') {
|
||||||
// Disposing old controllers before creating new ones.
|
// Disposing old controllers before creating new ones.
|
||||||
_videoPlayerController?.dispose();
|
_videoPlayerController?.dispose();
|
||||||
_chewieController?.dispose();
|
_chewieController?.dispose();
|
||||||
|
|
||||||
debugPrint("Playing video from URL: ${studio.link}");
|
|
||||||
_videoPlayerController = VideoPlayerController.network(studio.link);
|
_videoPlayerController = VideoPlayerController.network(studio.link);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
@ -151,9 +149,7 @@ class _StudioDetailsState extends State<StudioDetails> {
|
||||||
appBarData: AppBarData(
|
appBarData: AppBarData(
|
||||||
trailing: BookmarkButton(
|
trailing: BookmarkButton(
|
||||||
itemId: state.studio.id,
|
itemId: state.studio.id,
|
||||||
type: state.studio.type == 'video'
|
type: state.args?.type == 'video' ? 'video' : 'podcast',
|
||||||
? 'video'
|
|
||||||
: 'podcast',
|
|
||||||
value: state.studio.marked,
|
value: state.studio.marked,
|
||||||
onMarkChanged: (value) {
|
onMarkChanged: (value) {
|
||||||
widget.pageData['onMarkChanged'](
|
widget.pageData['onMarkChanged'](
|
||||||
|
|
@ -171,12 +167,12 @@ class _StudioDetailsState extends State<StudioDetails> {
|
||||||
height: d.size.height - d.padding.top - 56,
|
height: d.size.height - d.padding.top - 56,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
if (state.studio.type == 'video')
|
if (state.args?.type == 'video')
|
||||||
AspectRatio(
|
AspectRatio(
|
||||||
aspectRatio: 16 / 9,
|
aspectRatio: 16 / 9,
|
||||||
child: (_chewieController != null &&
|
child: (_chewieController != null &&
|
||||||
_chewieController!.videoPlayerController
|
_chewieController!
|
||||||
.value.isInitialized)
|
.videoPlayerController.value.isInitialized)
|
||||||
? Chewie(controller: _chewieController!)
|
? Chewie(controller: _chewieController!)
|
||||||
: Center(
|
: Center(
|
||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
|
|
@ -186,8 +182,6 @@ class _StudioDetailsState extends State<StudioDetails> {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
if (state.studio.type == 'podcast')
|
|
||||||
AudioPlayerWidget(podcast: state.studio),
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: StudioDetailsWidget(
|
child: StudioDetailsWidget(
|
||||||
onMarkChanged: (id, value) => widget
|
onMarkChanged: (id, value) => widget
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ import 'package:didvan/services/media/media.dart';
|
||||||
import 'package:didvan/views/podcasts/studio_details/studio_details_state.dart';
|
import 'package:didvan/views/podcasts/studio_details/studio_details_state.dart';
|
||||||
import 'package:didvan/views/podcasts/studio_details/widgets/studio_details_widget.dart';
|
import 'package:didvan/views/podcasts/studio_details/widgets/studio_details_widget.dart';
|
||||||
import 'package:didvan/views/widgets/bookmark_button.dart';
|
import 'package:didvan/views/widgets/bookmark_button.dart';
|
||||||
import 'package:didvan/views/widgets/audio/audio_player_widget.dart';
|
|
||||||
import 'package:didvan/views/widgets/didvan/app_bar.dart';
|
import 'package:didvan/views/widgets/didvan/app_bar.dart';
|
||||||
import 'package:didvan/views/widgets/state_handlers/state_handler.dart';
|
import 'package:didvan/views/widgets/state_handlers/state_handler.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
@ -43,8 +42,6 @@ class _StudioDetailsState extends State<StudioDetails> {
|
||||||
state: state,
|
state: state,
|
||||||
onRetry: () => state.getStudioDetails(state.studio.id),
|
onRetry: () => state.getStudioDetails(state.studio.id),
|
||||||
builder: (context, state) {
|
builder: (context, state) {
|
||||||
if (state.studio.type == 'video') {
|
|
||||||
debugPrint("Playing video from URL: ${state.studio.link}");
|
|
||||||
// ignore: undefined_prefixed_name
|
// ignore: undefined_prefixed_name
|
||||||
ui.platformViewRegistry.registerViewFactory(
|
ui.platformViewRegistry.registerViewFactory(
|
||||||
"video",
|
"video",
|
||||||
|
|
@ -56,7 +53,6 @@ class _StudioDetailsState extends State<StudioDetails> {
|
||||||
).toString()
|
).toString()
|
||||||
..style.border = 'none',
|
..style.border = 'none',
|
||||||
);
|
);
|
||||||
}
|
|
||||||
return WillPopScope(
|
return WillPopScope(
|
||||||
onWillPop: () async {
|
onWillPop: () async {
|
||||||
if (MediaService.currentPodcast != null) {
|
if (MediaService.currentPodcast != null) {
|
||||||
|
|
@ -74,8 +70,7 @@ class _StudioDetailsState extends State<StudioDetails> {
|
||||||
appBarData: AppBarData(
|
appBarData: AppBarData(
|
||||||
trailing: BookmarkButton(
|
trailing: BookmarkButton(
|
||||||
itemId: state.studio.id,
|
itemId: state.studio.id,
|
||||||
type:
|
type: 'video',
|
||||||
state.studio.type == 'video' ? 'video' : 'podcast',
|
|
||||||
value: state.studio.marked,
|
value: state.studio.marked,
|
||||||
onMarkChanged: (value) {
|
onMarkChanged: (value) {
|
||||||
widget.pageData['onMarkChanged'](
|
widget.pageData['onMarkChanged'](
|
||||||
|
|
@ -94,7 +89,6 @@ class _StudioDetailsState extends State<StudioDetails> {
|
||||||
height: d.size.height - d.padding.top - 56,
|
height: d.size.height - d.padding.top - 56,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
if (state.studio.type == 'video')
|
|
||||||
AspectRatio(
|
AspectRatio(
|
||||||
aspectRatio: 16 / 9,
|
aspectRatio: 16 / 9,
|
||||||
child: HtmlElementView(
|
child: HtmlElementView(
|
||||||
|
|
@ -102,8 +96,6 @@ class _StudioDetailsState extends State<StudioDetails> {
|
||||||
key: ValueKey(state.studio.id),
|
key: ValueKey(state.studio.id),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
if (state.studio.type == 'podcast')
|
|
||||||
AudioPlayerWidget(podcast: state.studio),
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: StudioDetailsWidget(
|
child: StudioDetailsWidget(
|
||||||
onMarkChanged: (id, value) => widget
|
onMarkChanged: (id, value) => widget
|
||||||
|
|
|
||||||
|
|
@ -35,12 +35,12 @@ class StudioDetailsWidget extends StatelessWidget {
|
||||||
child: Consumer<StudioDetailsState>(
|
child: Consumer<StudioDetailsState>(
|
||||||
builder: (context, state, child) {
|
builder: (context, state, child) {
|
||||||
bool isVideo = state.studio.iframe != null;
|
bool isVideo = state.studio.iframe != null;
|
||||||
double topOffset = isVideo
|
|
||||||
? ds.width * 9 / 16
|
|
||||||
: 400; // برای ویدیو aspect ratio، برای پادکست ارتفاع AudioPlayerWidget
|
|
||||||
return Container(
|
return Container(
|
||||||
height: max(
|
height: max(
|
||||||
ds.height - topOffset - 72 - MediaQuery.of(context).padding.top,
|
ds.height -
|
||||||
|
ds.width * 9 / 16 -
|
||||||
|
72 -
|
||||||
|
MediaQuery.of(context).padding.top,
|
||||||
0),
|
0),
|
||||||
color: Theme.of(context).colorScheme.surface,
|
color: Theme.of(context).colorScheme.surface,
|
||||||
child: Stack(
|
child: Stack(
|
||||||
|
|
|
||||||
|
|
@ -142,7 +142,6 @@ class _UserStoryViewerState extends State<UserStoryViewer>
|
||||||
_animationController.forward();
|
_animationController.forward();
|
||||||
break;
|
break;
|
||||||
case MediaType.video:
|
case MediaType.video:
|
||||||
debugPrint("Playing story video from URL: ${story.url}");
|
|
||||||
_videoController =
|
_videoController =
|
||||||
VideoPlayerController.networkUrl(Uri.parse(story.url));
|
VideoPlayerController.networkUrl(Uri.parse(story.url));
|
||||||
_videoController!.initialize().then((_) {
|
_videoController!.initialize().then((_) {
|
||||||
|
|
@ -168,12 +167,6 @@ class _UserStoryViewerState extends State<UserStoryViewer>
|
||||||
if (mounted) {
|
if (mounted) {
|
||||||
_nextStory();
|
_nextStory();
|
||||||
}
|
}
|
||||||
}).timeout(const Duration(seconds: 10), onTimeout: () {
|
|
||||||
// ignore: avoid_print
|
|
||||||
print("Video initialization timed out. Skipping.");
|
|
||||||
if (mounted) {
|
|
||||||
_nextStory();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
C:/Users/UI-UX/AppData/Local/Pub/Cache/hosted/pub.dev/app_links_linux-1.0.3/
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
C:/Users/UI-UX/AppData/Local/Pub/Cache/hosted/pub.dev/device_info_plus-11.5.0/
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
C:/Users/UI-UX/AppData/Local/Pub/Cache/hosted/pub.dev/file_picker-8.3.7/
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
C:/Users/UI-UX/AppData/Local/Pub/Cache/hosted/pub.dev/file_selector_linux-0.9.3+2/
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
C:/Users/UI-UX/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_local_notifications_linux-6.0.0/
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
C:/Users/UI-UX/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_secure_storage_linux-1.2.2/
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
C:/Users/UI-UX/AppData/Local/Pub/Cache/hosted/pub.dev/gtk-2.1.0/
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
C:/Users/UI-UX/AppData/Local/Pub/Cache/hosted/pub.dev/image_picker_linux-0.2.1+2/
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
C:/Users/UI-UX/AppData/Local/Pub/Cache/hosted/pub.dev/package_info_plus-8.3.0/
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
C:/Users/UI-UX/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_linux-2.2.1/
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
C:/Users/UI-UX/AppData/Local/Pub/Cache/hosted/pub.dev/record_linux-0.7.2/
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
C:/Users/UI-UX/AppData/Local/Pub/Cache/hosted/pub.dev/sentry_flutter-8.14.2/
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
C:/Users/UI-UX/AppData/Local/Pub/Cache/hosted/pub.dev/url_launcher_linux-3.2.1/
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
C:/Users/UI-UX/AppData/Local/Pub/Cache/hosted/pub.dev/wakelock_plus-1.3.1/
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
//
|
|
||||||
// Generated file. Do not edit.
|
|
||||||
//
|
|
||||||
|
|
||||||
// clang-format off
|
|
||||||
|
|
||||||
#include "generated_plugin_registrant.h"
|
|
||||||
|
|
||||||
#include <file_selector_linux/file_selector_plugin.h>
|
|
||||||
#include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h>
|
|
||||||
#include <gtk/gtk_plugin.h>
|
|
||||||
#include <record_linux/record_linux_plugin.h>
|
|
||||||
#include <sentry_flutter/sentry_flutter_plugin.h>
|
|
||||||
#include <url_launcher_linux/url_launcher_plugin.h>
|
|
||||||
|
|
||||||
void fl_register_plugins(FlPluginRegistry* registry) {
|
|
||||||
g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
|
|
||||||
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
|
|
||||||
file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
|
|
||||||
g_autoptr(FlPluginRegistrar) flutter_secure_storage_linux_registrar =
|
|
||||||
fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterSecureStorageLinuxPlugin");
|
|
||||||
flutter_secure_storage_linux_plugin_register_with_registrar(flutter_secure_storage_linux_registrar);
|
|
||||||
g_autoptr(FlPluginRegistrar) gtk_registrar =
|
|
||||||
fl_plugin_registry_get_registrar_for_plugin(registry, "GtkPlugin");
|
|
||||||
gtk_plugin_register_with_registrar(gtk_registrar);
|
|
||||||
g_autoptr(FlPluginRegistrar) record_linux_registrar =
|
|
||||||
fl_plugin_registry_get_registrar_for_plugin(registry, "RecordLinuxPlugin");
|
|
||||||
record_linux_plugin_register_with_registrar(record_linux_registrar);
|
|
||||||
g_autoptr(FlPluginRegistrar) sentry_flutter_registrar =
|
|
||||||
fl_plugin_registry_get_registrar_for_plugin(registry, "SentryFlutterPlugin");
|
|
||||||
sentry_flutter_plugin_register_with_registrar(sentry_flutter_registrar);
|
|
||||||
g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
|
|
||||||
fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
|
|
||||||
url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
//
|
|
||||||
// Generated file. Do not edit.
|
|
||||||
//
|
|
||||||
|
|
||||||
// clang-format off
|
|
||||||
|
|
||||||
#ifndef GENERATED_PLUGIN_REGISTRANT_
|
|
||||||
#define GENERATED_PLUGIN_REGISTRANT_
|
|
||||||
|
|
||||||
#include <flutter_linux/flutter_linux.h>
|
|
||||||
|
|
||||||
// Registers Flutter plugins.
|
|
||||||
void fl_register_plugins(FlPluginRegistry* registry);
|
|
||||||
|
|
||||||
#endif // GENERATED_PLUGIN_REGISTRANT_
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
#
|
|
||||||
# Generated file, do not edit.
|
|
||||||
#
|
|
||||||
|
|
||||||
list(APPEND FLUTTER_PLUGIN_LIST
|
|
||||||
file_selector_linux
|
|
||||||
flutter_secure_storage_linux
|
|
||||||
gtk
|
|
||||||
record_linux
|
|
||||||
sentry_flutter
|
|
||||||
url_launcher_linux
|
|
||||||
)
|
|
||||||
|
|
||||||
list(APPEND FLUTTER_FFI_PLUGIN_LIST
|
|
||||||
)
|
|
||||||
|
|
||||||
set(PLUGIN_BUNDLED_LIBRARIES)
|
|
||||||
|
|
||||||
foreach(plugin ${FLUTTER_PLUGIN_LIST})
|
|
||||||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin})
|
|
||||||
target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)
|
|
||||||
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
|
|
||||||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
|
|
||||||
endforeach(plugin)
|
|
||||||
|
|
||||||
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})
|
|
||||||
add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin})
|
|
||||||
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries})
|
|
||||||
endforeach(ffi_plugin)
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
//
|
|
||||||
// Generated file. Do not edit.
|
|
||||||
//
|
|
||||||
|
|
||||||
import FlutterMacOS
|
|
||||||
import Foundation
|
|
||||||
|
|
||||||
import app_links
|
|
||||||
import audio_session
|
|
||||||
import device_info_plus
|
|
||||||
import file_picker
|
|
||||||
import file_selector_macos
|
|
||||||
import firebase_core
|
|
||||||
import firebase_messaging
|
|
||||||
import flutter_inappwebview_macos
|
|
||||||
import flutter_local_notifications
|
|
||||||
import flutter_secure_storage_macos
|
|
||||||
import just_audio
|
|
||||||
import package_info_plus
|
|
||||||
import path_provider_foundation
|
|
||||||
import record_darwin
|
|
||||||
import rive_common
|
|
||||||
import sentry_flutter
|
|
||||||
import sqflite_darwin
|
|
||||||
import url_launcher_macos
|
|
||||||
import video_player_avfoundation
|
|
||||||
import wakelock_plus
|
|
||||||
import webview_flutter_wkwebview
|
|
||||||
|
|
||||||
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
|
||||||
AppLinksMacosPlugin.register(with: registry.registrar(forPlugin: "AppLinksMacosPlugin"))
|
|
||||||
AudioSessionPlugin.register(with: registry.registrar(forPlugin: "AudioSessionPlugin"))
|
|
||||||
DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
|
|
||||||
FilePickerPlugin.register(with: registry.registrar(forPlugin: "FilePickerPlugin"))
|
|
||||||
FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin"))
|
|
||||||
FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin"))
|
|
||||||
FLTFirebaseMessagingPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseMessagingPlugin"))
|
|
||||||
InAppWebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "InAppWebViewFlutterPlugin"))
|
|
||||||
FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
|
|
||||||
FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin"))
|
|
||||||
JustAudioPlugin.register(with: registry.registrar(forPlugin: "JustAudioPlugin"))
|
|
||||||
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
|
|
||||||
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
|
|
||||||
RecordPlugin.register(with: registry.registrar(forPlugin: "RecordPlugin"))
|
|
||||||
RivePlugin.register(with: registry.registrar(forPlugin: "RivePlugin"))
|
|
||||||
SentryFlutterPlugin.register(with: registry.registrar(forPlugin: "SentryFlutterPlugin"))
|
|
||||||
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
|
|
||||||
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
|
|
||||||
FVPVideoPlayerPlugin.register(with: registry.registrar(forPlugin: "FVPVideoPlayerPlugin"))
|
|
||||||
WakelockPlusMacosPlugin.register(with: registry.registrar(forPlugin: "WakelockPlusMacosPlugin"))
|
|
||||||
WebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "WebViewFlutterPlugin"))
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
// This is a generated file; do not edit or check into version control.
|
|
||||||
FLUTTER_ROOT=/Users/arytan/Desktop/Dev/Sdks/flutter
|
|
||||||
FLUTTER_APPLICATION_PATH=/Users/arytan/Desktop/Flutter Projects/didvan-app
|
|
||||||
COCOAPODS_PARALLEL_CODE_SIGN=true
|
|
||||||
FLUTTER_BUILD_DIR=build
|
|
||||||
FLUTTER_BUILD_NAME=4.0.1
|
|
||||||
FLUTTER_BUILD_NUMBER=6000
|
|
||||||
DART_OBFUSCATION=false
|
|
||||||
TRACK_WIDGET_CREATION=true
|
|
||||||
TREE_SHAKE_ICONS=false
|
|
||||||
PACKAGE_CONFIG=.dart_tool/package_config.json
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
# This is a generated file; do not edit or check into version control.
|
|
||||||
export "FLUTTER_ROOT=/Users/arytan/Desktop/Dev/Sdks/flutter"
|
|
||||||
export "FLUTTER_APPLICATION_PATH=/Users/arytan/Desktop/Flutter Projects/didvan-app"
|
|
||||||
export "COCOAPODS_PARALLEL_CODE_SIGN=true"
|
|
||||||
export "FLUTTER_BUILD_DIR=build"
|
|
||||||
export "FLUTTER_BUILD_NAME=4.0.1"
|
|
||||||
export "FLUTTER_BUILD_NUMBER=6000"
|
|
||||||
export "DART_OBFUSCATION=false"
|
|
||||||
export "TRACK_WIDGET_CREATION=true"
|
|
||||||
export "TREE_SHAKE_ICONS=false"
|
|
||||||
export "PACKAGE_CONFIG=.dart_tool/package_config.json"
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
platform :osx, '10.14'
|
|
||||||
|
|
||||||
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
|
|
||||||
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
|
|
||||||
|
|
||||||
project 'Runner', {
|
|
||||||
'Debug' => :debug,
|
|
||||||
'Profile' => :release,
|
|
||||||
'Release' => :release,
|
|
||||||
}
|
|
||||||
|
|
||||||
def flutter_root
|
|
||||||
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__)
|
|
||||||
unless File.exist?(generated_xcode_build_settings_path)
|
|
||||||
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first"
|
|
||||||
end
|
|
||||||
|
|
||||||
File.foreach(generated_xcode_build_settings_path) do |line|
|
|
||||||
matches = line.match(/FLUTTER_ROOT\=(.*)/)
|
|
||||||
return matches[1].strip if matches
|
|
||||||
end
|
|
||||||
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\""
|
|
||||||
end
|
|
||||||
|
|
||||||
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
|
|
||||||
|
|
||||||
flutter_macos_podfile_setup
|
|
||||||
|
|
||||||
target 'Runner' do
|
|
||||||
use_frameworks!
|
|
||||||
|
|
||||||
flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__))
|
|
||||||
target 'RunnerTests' do
|
|
||||||
inherit! :search_paths
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
post_install do |installer|
|
|
||||||
installer.pods_project.targets.each do |target|
|
|
||||||
flutter_additional_macos_build_settings(target)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
16
pubspec.lock
16
pubspec.lock
|
|
@ -1670,34 +1670,34 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: webview_flutter
|
name: webview_flutter
|
||||||
sha256: c3e4fe614b1c814950ad07186007eff2f2e5dd2935eba7b9a9a1af8e5885f1ba
|
sha256: caf0f5a1012aa3c2d33c4215adc72dc1194bb59a2d3ed901f457965626805e66
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.13.0"
|
version: "4.11.0"
|
||||||
webview_flutter_android:
|
webview_flutter_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: webview_flutter_android
|
name: webview_flutter_android
|
||||||
sha256: "9a25f6b4313978ba1c2cda03a242eea17848174912cfb4d2d8ee84a556f248e3"
|
sha256: "5c3b6f992d123084903ec091b84f021c413a92a9af49038e4564a1b26c8452cf"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.10.1"
|
version: "4.4.1"
|
||||||
webview_flutter_platform_interface:
|
webview_flutter_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: webview_flutter_platform_interface
|
name: webview_flutter_platform_interface
|
||||||
sha256: "63d26ee3aca7256a83ccb576a50272edd7cfc80573a4305caa98985feb493ee0"
|
sha256: "18b1640839cf6546784a524c72aded5b6e86b23e7167dc2311cc96f7658b64bd"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.14.0"
|
version: "2.11.0"
|
||||||
webview_flutter_wkwebview:
|
webview_flutter_wkwebview:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: webview_flutter_wkwebview
|
name: webview_flutter_wkwebview
|
||||||
sha256: fb46db8216131a3e55bcf44040ca808423539bc6732e7ed34fb6d8044e3d512f
|
sha256: c9f9be526fa0d3347374ceaa05c4b3acb85f4f112abd62f7d74b7d301fa515ff
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.23.0"
|
version: "3.20.0"
|
||||||
win32:
|
win32:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ dependencies:
|
||||||
# image_cropper: ^1.5.0
|
# image_cropper: ^1.5.0
|
||||||
firebase_core: ^3.1.0
|
firebase_core: ^3.1.0
|
||||||
firebase_messaging: ^15.0.1
|
firebase_messaging: ^15.0.1
|
||||||
webview_flutter: ^4.13.0
|
webview_flutter: ^4.8.0
|
||||||
expandable_bottom_sheet: ^1.1.1+1
|
expandable_bottom_sheet: ^1.1.1+1
|
||||||
permission_handler: ^11.0.0
|
permission_handler: ^11.0.0
|
||||||
# better_player:
|
# better_player:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue