mukodo cucc

This commit is contained in:
Márton Kiss 2023-05-27 08:55:58 +02:00
parent 1558794e93
commit c90039e437
55 changed files with 454 additions and 669 deletions

View File

@ -1,230 +1,225 @@
PODS: PODS:
- app_group_directory (1.0.0): - app_group_directory (1.0.0):
- Flutter - Flutter
- background_fetch (1.1.5): - background_fetch (1.1.6):
- Flutter - Flutter
- connectivity_plus (0.0.1): - connectivity_plus (0.0.1):
- Flutter - Flutter
- ReachabilitySwift - ReachabilitySwift
- DKImagePickerController/Core (4.3.4): - DKImagePickerController/Core (4.3.4):
- DKImagePickerController/ImageDataManager - DKImagePickerController/ImageDataManager
- DKImagePickerController/Resource - DKImagePickerController/Resource
- DKImagePickerController/ImageDataManager (4.3.4) - DKImagePickerController/ImageDataManager (4.3.4)
- DKImagePickerController/PhotoGallery (4.3.4): - DKImagePickerController/PhotoGallery (4.3.4):
- DKImagePickerController/Core - DKImagePickerController/Core
- DKPhotoGallery - DKPhotoGallery
- DKImagePickerController/Resource (4.3.4) - DKImagePickerController/Resource (4.3.4)
- DKPhotoGallery (0.0.17): - DKPhotoGallery (0.0.17):
- DKPhotoGallery/Core (= 0.0.17) - DKPhotoGallery/Core (= 0.0.17)
- DKPhotoGallery/Model (= 0.0.17) - DKPhotoGallery/Model (= 0.0.17)
- DKPhotoGallery/Preview (= 0.0.17) - DKPhotoGallery/Preview (= 0.0.17)
- DKPhotoGallery/Resource (= 0.0.17) - DKPhotoGallery/Resource (= 0.0.17)
- SDWebImage - SDWebImage
- SwiftyGif - SwiftyGif
- DKPhotoGallery/Core (0.0.17): - DKPhotoGallery/Core (0.0.17):
- DKPhotoGallery/Model - DKPhotoGallery/Model
- DKPhotoGallery/Preview - DKPhotoGallery/Preview
- SDWebImage - SDWebImage
- SwiftyGif - SwiftyGif
- DKPhotoGallery/Model (0.0.17): - DKPhotoGallery/Model (0.0.17):
- SDWebImage - SDWebImage
- SwiftyGif - SwiftyGif
- DKPhotoGallery/Preview (0.0.17): - DKPhotoGallery/Preview (0.0.17):
- DKPhotoGallery/Model - DKPhotoGallery/Model
- DKPhotoGallery/Resource - DKPhotoGallery/Resource
- SDWebImage - SDWebImage
- SwiftyGif - SwiftyGif
- DKPhotoGallery/Resource (0.0.17): - DKPhotoGallery/Resource (0.0.17):
- SDWebImage - SDWebImage
- SwiftyGif - SwiftyGif
- file_picker (0.0.1): - file_picker (0.0.1):
- DKImagePickerController/PhotoGallery - DKImagePickerController/PhotoGallery
- Flutter - Flutter
- Flutter (1.0.0) - Flutter (1.0.0)
- flutter_custom_tabs (0.0.1): - flutter_custom_tabs (0.0.1):
- Flutter - Flutter
- flutter_image_compress (1.0.0): - flutter_image_compress (1.0.0):
- Flutter - Flutter
- Mantle - Mantle
- SDWebImage - SDWebImage
- SDWebImageWebPCoder - SDWebImageWebPCoder
- flutter_local_notifications (0.0.1): - flutter_local_notifications (0.0.1):
- Flutter - Flutter
- flutter_native_image (0.0.1): - flutter_native_image (0.0.1):
- Flutter - Flutter
- FMDB (2.7.5): - FMDB (2.7.5):
- FMDB/standard (= 2.7.5) - FMDB/standard (= 2.7.5)
- FMDB/standard (2.7.5) - FMDB/standard (2.7.5)
- home_widget (0.0.1): - home_widget (0.0.1):
- Flutter - Flutter
- image_crop (0.0.1): - image_picker_ios (0.0.1):
- Flutter - Flutter
- image_picker_ios (0.0.1): - libwebp (1.2.4):
- Flutter - libwebp/demux (= 1.2.4)
- libwebp (1.2.4): - libwebp/mux (= 1.2.4)
- libwebp/demux (= 1.2.4) - libwebp/webp (= 1.2.4)
- libwebp/mux (= 1.2.4) - libwebp/demux (1.2.4):
- libwebp/webp (= 1.2.4) - libwebp/webp
- libwebp/demux (1.2.4): - libwebp/mux (1.2.4):
- libwebp/webp - libwebp/demux
- libwebp/mux (1.2.4): - libwebp/webp (1.2.4)
- libwebp/demux - live_activities (0.0.1):
- libwebp/webp (1.2.4) - Flutter
- live_activities (0.0.1): - Mantle (2.2.0):
- Flutter - Mantle/extobjc (= 2.2.0)
- Mantle (2.2.0): - Mantle/extobjc (2.2.0)
- Mantle/extobjc (= 2.2.0) - open_file (0.0.1):
- Mantle/extobjc (2.2.0) - Flutter
- open_file (0.0.1): - path_provider_foundation (0.0.1):
- Flutter - Flutter
- path_provider_ios (0.0.1): - FlutterMacOS
- Flutter - permission_handler_apple (9.0.4):
- permission_handler_apple (9.0.4): - Flutter
- Flutter - quick_actions_ios (0.0.1):
- quick_actions_ios (0.0.1): - Flutter
- Flutter - ReachabilitySwift (5.0.0)
- ReachabilitySwift (5.0.0) - SDWebImage (5.13.2):
- SDWebImage (5.13.2): - SDWebImage/Core (= 5.13.2)
- SDWebImage/Core (= 5.13.2) - SDWebImage/Core (5.13.2)
- SDWebImage/Core (5.13.2) - SDWebImageWebPCoder (0.9.1):
- SDWebImageWebPCoder (0.9.1): - libwebp (~> 1.0)
- libwebp (~> 1.0) - SDWebImage/Core (~> 5.13)
- SDWebImage/Core (~> 5.13) - share_plus (0.0.1):
- share_plus (0.0.1): - Flutter
- Flutter - sqflite (0.0.3):
- sqflite (0.0.2): - Flutter
- Flutter - FMDB (>= 2.7.5)
- FMDB (>= 2.7.5) - SwiftyGif (5.4.3)
- SwiftyGif (5.4.3) - uni_links (0.0.1):
- uni_links (0.0.1): - Flutter
- Flutter - url_launcher_ios (0.0.1):
- url_launcher_ios (0.0.1): - Flutter
- Flutter - workmanager (0.0.1):
- workmanager (0.0.1): - Flutter
- Flutter
DEPENDENCIES:
DEPENDENCIES: - app_group_directory (from `.symlinks/plugins/app_group_directory/ios`)
- app_group_directory (from `.symlinks/plugins/app_group_directory/ios`) - background_fetch (from `.symlinks/plugins/background_fetch/ios`)
- background_fetch (from `.symlinks/plugins/background_fetch/ios`) - connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`)
- connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`) - DKImagePickerController/PhotoGallery (from `https://github.com/zhangao0086/DKImagePickerController.git`)
- DKImagePickerController/PhotoGallery (from `https://github.com/zhangao0086/DKImagePickerController.git`) - file_picker (from `.symlinks/plugins/file_picker/ios`)
- file_picker (from `.symlinks/plugins/file_picker/ios`) - Flutter (from `Flutter`)
- Flutter (from `Flutter`) - flutter_custom_tabs (from `.symlinks/plugins/flutter_custom_tabs/ios`)
- flutter_custom_tabs (from `.symlinks/plugins/flutter_custom_tabs/ios`) - flutter_image_compress (from `.symlinks/plugins/flutter_image_compress/ios`)
- flutter_image_compress (from `.symlinks/plugins/flutter_image_compress/ios`) - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) - flutter_native_image (from `.symlinks/plugins/flutter_native_image/ios`)
- flutter_native_image (from `.symlinks/plugins/flutter_native_image/ios`) - home_widget (from `.symlinks/plugins/home_widget/ios`)
- home_widget (from `.symlinks/plugins/home_widget/ios`) - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
- image_crop (from `.symlinks/plugins/image_crop/ios`) - live_activities (from `.symlinks/plugins/live_activities/ios`)
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) - open_file (from `.symlinks/plugins/open_file/ios`)
- live_activities (from `.symlinks/plugins/live_activities/ios`) - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- open_file (from `.symlinks/plugins/open_file/ios`) - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
- path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`) - quick_actions_ios (from `.symlinks/plugins/quick_actions_ios/ios`)
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) - share_plus (from `.symlinks/plugins/share_plus/ios`)
- quick_actions_ios (from `.symlinks/plugins/quick_actions_ios/ios`) - sqflite (from `.symlinks/plugins/sqflite/ios`)
- share_plus (from `.symlinks/plugins/share_plus/ios`) - uni_links (from `.symlinks/plugins/uni_links/ios`)
- sqflite (from `.symlinks/plugins/sqflite/ios`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
- uni_links (from `.symlinks/plugins/uni_links/ios`) - workmanager (from `.symlinks/plugins/workmanager/ios`)
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
- workmanager (from `.symlinks/plugins/workmanager/ios`) SPEC REPOS:
trunk:
SPEC REPOS: - DKPhotoGallery
trunk: - FMDB
- DKPhotoGallery - libwebp
- FMDB - Mantle
- libwebp - ReachabilitySwift
- Mantle - SDWebImage
- ReachabilitySwift - SDWebImageWebPCoder
- SDWebImage - SwiftyGif
- SDWebImageWebPCoder
- SwiftyGif EXTERNAL SOURCES:
app_group_directory:
EXTERNAL SOURCES: :path: ".symlinks/plugins/app_group_directory/ios"
app_group_directory: background_fetch:
:path: ".symlinks/plugins/app_group_directory/ios" :path: ".symlinks/plugins/background_fetch/ios"
background_fetch: connectivity_plus:
:path: ".symlinks/plugins/background_fetch/ios" :path: ".symlinks/plugins/connectivity_plus/ios"
connectivity_plus: DKImagePickerController:
:path: ".symlinks/plugins/connectivity_plus/ios" :git: https://github.com/zhangao0086/DKImagePickerController.git
DKImagePickerController: file_picker:
:git: https://github.com/zhangao0086/DKImagePickerController.git :path: ".symlinks/plugins/file_picker/ios"
file_picker: Flutter:
:path: ".symlinks/plugins/file_picker/ios" :path: Flutter
Flutter: flutter_custom_tabs:
:path: Flutter :path: ".symlinks/plugins/flutter_custom_tabs/ios"
flutter_custom_tabs: flutter_image_compress:
:path: ".symlinks/plugins/flutter_custom_tabs/ios" :path: ".symlinks/plugins/flutter_image_compress/ios"
flutter_image_compress: flutter_local_notifications:
:path: ".symlinks/plugins/flutter_image_compress/ios" :path: ".symlinks/plugins/flutter_local_notifications/ios"
flutter_local_notifications: flutter_native_image:
:path: ".symlinks/plugins/flutter_local_notifications/ios" :path: ".symlinks/plugins/flutter_native_image/ios"
flutter_native_image: home_widget:
:path: ".symlinks/plugins/flutter_native_image/ios" :path: ".symlinks/plugins/home_widget/ios"
home_widget: image_picker_ios:
:path: ".symlinks/plugins/home_widget/ios" :path: ".symlinks/plugins/image_picker_ios/ios"
image_crop: live_activities:
:path: ".symlinks/plugins/image_crop/ios" :path: ".symlinks/plugins/live_activities/ios"
image_picker_ios: open_file:
:path: ".symlinks/plugins/image_picker_ios/ios" :path: ".symlinks/plugins/open_file/ios"
live_activities: path_provider_foundation:
:path: ".symlinks/plugins/live_activities/ios" :path: ".symlinks/plugins/path_provider_foundation/darwin"
open_file: permission_handler_apple:
:path: ".symlinks/plugins/open_file/ios" :path: ".symlinks/plugins/permission_handler_apple/ios"
path_provider_ios: quick_actions_ios:
:path: ".symlinks/plugins/path_provider_ios/ios" :path: ".symlinks/plugins/quick_actions_ios/ios"
permission_handler_apple: share_plus:
:path: ".symlinks/plugins/permission_handler_apple/ios" :path: ".symlinks/plugins/share_plus/ios"
quick_actions_ios: sqflite:
:path: ".symlinks/plugins/quick_actions_ios/ios" :path: ".symlinks/plugins/sqflite/ios"
share_plus: uni_links:
:path: ".symlinks/plugins/share_plus/ios" :path: ".symlinks/plugins/uni_links/ios"
sqflite: url_launcher_ios:
:path: ".symlinks/plugins/sqflite/ios" :path: ".symlinks/plugins/url_launcher_ios/ios"
uni_links: workmanager:
:path: ".symlinks/plugins/uni_links/ios" :path: ".symlinks/plugins/workmanager/ios"
url_launcher_ios:
:path: ".symlinks/plugins/url_launcher_ios/ios" CHECKOUT OPTIONS:
workmanager: DKImagePickerController:
:path: ".symlinks/plugins/workmanager/ios" :commit: a727e44718a67e300089174e5591166045815ba4
:git: https://github.com/zhangao0086/DKImagePickerController.git
CHECKOUT OPTIONS:
DKImagePickerController: SPEC CHECKSUMS:
:commit: a727e44718a67e300089174e5591166045815ba4 app_group_directory: 7bf9f8f9819ead554de29da7c25fb7a680d6a9a0
:git: https://github.com/zhangao0086/DKImagePickerController.git background_fetch: bc9b44b0bf8b434e282a2ac9be8662800a0296ed
connectivity_plus: 07c49e96d7fc92bc9920617b83238c4d178b446a
SPEC CHECKSUMS: DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
app_group_directory: 7bf9f8f9819ead554de29da7c25fb7a680d6a9a0 DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
background_fetch: 9a9963128952bfdd197e21786983c7c7a30e1478 file_picker: 817ab1d8cd2da9d2da412a417162deee3500fc95
connectivity_plus: 413a8857dd5d9f1c399a39130850d02fe0feaf7e Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac flutter_custom_tabs: 7a10a08686955cb748e5d26e0ae586d30689bf89
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 flutter_image_compress: 5a5e9aee05b6553048b8df1c3bc456d0afaac433
file_picker: 817ab1d8cd2da9d2da412a417162deee3500fc95 flutter_local_notifications: 0c0b1ae97e741e1521e4c1629a459d04b9aec743
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 flutter_native_image: 9c0b7451838484458e5b0fae007b86a4c2d4bdfe
flutter_custom_tabs: 7a10a08686955cb748e5d26e0ae586d30689bf89 FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
flutter_image_compress: 5a5e9aee05b6553048b8df1c3bc456d0afaac433 home_widget: 2829415127ee92e876f816cbbe44c0b6601b8a37
flutter_local_notifications: 0c0b1ae97e741e1521e4c1629a459d04b9aec743 image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5
flutter_native_image: 9c0b7451838484458e5b0fae007b86a4c2d4bdfe libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a live_activities: 9ff56a06a2d43ecd68f56deeed13b18a8304789c
home_widget: 2829415127ee92e876f816cbbe44c0b6601b8a37 Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d
image_crop: e0a67085d3ebf3cf46ca46d61c53a082507b0bc3 open_file: 02eb5cb6b21264bd3a696876f5afbfb7ca4f4b7d
image_picker_ios: 58b9c4269cb176f89acea5e5d043c9358f2d25f8 path_provider_foundation: eaf5b3e458fc0e5fbb9940fb09980e853fe058b8
libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef permission_handler_apple: 44366e37eaf29454a1e7b1b7d736c2cceaeb17ce
live_activities: 9ff56a06a2d43ecd68f56deeed13b18a8304789c quick_actions_ios: 9e80dcfadfbc5d47d9cf8f47bcf428b11cf383d4
Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
open_file: 02eb5cb6b21264bd3a696876f5afbfb7ca4f4b7d SDWebImage: 72f86271a6f3139cc7e4a89220946489d4b9a866
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02 SDWebImageWebPCoder: 18503de6621dd2c420d680e33d46bf8e1d5169b0
permission_handler_apple: 44366e37eaf29454a1e7b1b7d736c2cceaeb17ce share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
quick_actions_ios: d211ffc5d7619ace7e9fb1800540b14a1aafe940 sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a
ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780
SDWebImage: 72f86271a6f3139cc7e4a89220946489d4b9a866 uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
SDWebImageWebPCoder: 18503de6621dd2c420d680e33d46bf8e1d5169b0 url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4
share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68 workmanager: 0afdcf5628bbde6924c21af7836fed07b42e30e6
sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904
SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780 PODFILE CHECKSUM: efe5e2e257c61a1c3d5be693ef1a8ea1c4b81d8f
uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de COCOAPODS: 1.12.1
workmanager: 0afdcf5628bbde6924c21af7836fed07b42e30e6
PODFILE CHECKSUM: 862f939bb7e5390bdb8b2534eb81a9457ea9fbdc
COCOAPODS: 1.12.0

View File

@ -303,6 +303,7 @@
files = ( files = (
); );
inputPaths = ( inputPaths = (
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
); );
name = "Thin Binary"; name = "Thin Binary";
outputPaths = ( outputPaths = (
@ -476,15 +477,18 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; CURRENT_PROJECT_VERSION = 195;
DEVELOPMENT_TEAM = MYUTW2GF6J; DEVELOPMENT_TEAM = 48XS7JAZB7;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = reFilc;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education";
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
PRODUCT_BUNDLE_IDENTIFIER = hu.filc.naplo; MARKETING_VERSION = 3.6.0;
PRODUCT_BUNDLE_IDENTIFIER = com.refilc.naplo;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
@ -506,7 +510,7 @@
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = MYUTW2GF6J; DEVELOPMENT_TEAM = 48XS7JAZB7;
GCC_C_LANGUAGE_STANDARD = gnu11; GCC_C_LANGUAGE_STANDARD = gnu11;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = livecard/Info.plist; INFOPLIST_FILE = livecard/Info.plist;
@ -522,7 +526,7 @@
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = hu.filc.naplo.livecardpro; PRODUCT_BUNDLE_IDENTIFIER = com.refilc.naplo.livecardpro;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
@ -548,7 +552,7 @@
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = MYUTW2GF6J; DEVELOPMENT_TEAM = 48XS7JAZB7;
GCC_C_LANGUAGE_STANDARD = gnu11; GCC_C_LANGUAGE_STANDARD = gnu11;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = livecard/Info.plist; INFOPLIST_FILE = livecard/Info.plist;
@ -563,7 +567,7 @@
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = hu.filc.naplo.livecardpro; PRODUCT_BUNDLE_IDENTIFIER = com.refilc.naplo.livecardpro;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
@ -588,7 +592,7 @@
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = MYUTW2GF6J; DEVELOPMENT_TEAM = 48XS7JAZB7;
GCC_C_LANGUAGE_STANDARD = gnu11; GCC_C_LANGUAGE_STANDARD = gnu11;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = livecard/Info.plist; INFOPLIST_FILE = livecard/Info.plist;
@ -603,7 +607,7 @@
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = hu.filc.naplo.livecardpro; PRODUCT_BUNDLE_IDENTIFIER = com.refilc.naplo.livecardpro;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
@ -731,15 +735,18 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; CURRENT_PROJECT_VERSION = 195;
DEVELOPMENT_TEAM = MYUTW2GF6J; DEVELOPMENT_TEAM = 48XS7JAZB7;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = reFilc;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education";
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
PRODUCT_BUNDLE_IDENTIFIER = hu.filc.naplo; MARKETING_VERSION = 3.6.0;
PRODUCT_BUNDLE_IDENTIFIER = com.refilc.naplo;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@ -756,15 +763,18 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; CURRENT_PROJECT_VERSION = 195;
DEVELOPMENT_TEAM = MYUTW2GF6J; DEVELOPMENT_TEAM = 48XS7JAZB7;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = reFilc;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education";
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
PRODUCT_BUNDLE_IDENTIFIER = hu.filc.naplo; MARKETING_VERSION = 3.6.0;
PRODUCT_BUNDLE_IDENTIFIER = com.refilc.naplo;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 620 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

View File

@ -1,208 +1,14 @@
{ {
"images": [ "images" : [
{ {
"size": "60x60", "filename" : "reFilc_Logo.png",
"expected-size": "180", "idiom" : "universal",
"filename": "180.png", "platform" : "ios",
"folder": "Assets.xcassets/AppIcon.appiconset/", "size" : "1024x1024"
"idiom": "iphone", }
"scale": "3x" ],
}, "info" : {
{ "author" : "xcode",
"size": "40x40", "version" : 1
"expected-size": "80", }
"filename": "80.png", }
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "iphone",
"scale": "2x"
},
{
"size": "40x40",
"expected-size": "120",
"filename": "120.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "iphone",
"scale": "3x"
},
{
"size": "60x60",
"expected-size": "120",
"filename": "120.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "iphone",
"scale": "2x"
},
{
"size": "57x57",
"expected-size": "57",
"filename": "57.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "iphone",
"scale": "1x"
},
{
"size": "29x29",
"expected-size": "58",
"filename": "58.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "iphone",
"scale": "2x"
},
{
"size": "29x29",
"expected-size": "29",
"filename": "29.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "iphone",
"scale": "1x"
},
{
"size": "29x29",
"expected-size": "87",
"filename": "87.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "iphone",
"scale": "3x"
},
{
"size": "57x57",
"expected-size": "114",
"filename": "114.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "iphone",
"scale": "2x"
},
{
"size": "20x20",
"expected-size": "40",
"filename": "40.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "iphone",
"scale": "2x"
},
{
"size": "20x20",
"expected-size": "60",
"filename": "60.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "iphone",
"scale": "3x"
},
{
"size": "1024x1024",
"filename": "1024.png",
"expected-size": "1024",
"idiom": "ios-marketing",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"scale": "1x"
},
{
"size": "40x40",
"expected-size": "80",
"filename": "80.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "ipad",
"scale": "2x"
},
{
"size": "72x72",
"expected-size": "72",
"filename": "72.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "ipad",
"scale": "1x"
},
{
"size": "76x76",
"expected-size": "152",
"filename": "152.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "ipad",
"scale": "2x"
},
{
"size": "50x50",
"expected-size": "100",
"filename": "100.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "ipad",
"scale": "2x"
},
{
"size": "29x29",
"expected-size": "58",
"filename": "58.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "ipad",
"scale": "2x"
},
{
"size": "76x76",
"expected-size": "76",
"filename": "76.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "ipad",
"scale": "1x"
},
{
"size": "29x29",
"expected-size": "29",
"filename": "29.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "ipad",
"scale": "1x"
},
{
"size": "50x50",
"expected-size": "50",
"filename": "50.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "ipad",
"scale": "1x"
},
{
"size": "72x72",
"expected-size": "144",
"filename": "144.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "ipad",
"scale": "2x"
},
{
"size": "40x40",
"expected-size": "40",
"filename": "40.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "ipad",
"scale": "1x"
},
{
"size": "83.5x83.5",
"expected-size": "167",
"filename": "167.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "ipad",
"scale": "2x"
},
{
"size": "20x20",
"expected-size": "20",
"filename": "20.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "ipad",
"scale": "1x"
},
{
"size": "20x20",
"expected-size": "40",
"filename": "40.png",
"folder": "Assets.xcassets/AppIcon.appiconset/",
"idiom": "ipad",
"scale": "2x"
}
],
"info": {
"version": 1,
"author": "xcode"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 593 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 931 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 617 KiB

View File

@ -1,71 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CADisableMinimumFrameDurationOnPhone</key> <key>BGTaskSchedulerPermittedIdentifiers</key>
<true/> <array>
<key>CFBundleDevelopmentRegion</key> <string>com.transistorsoft.fetch</string>
<string>$(DEVELOPMENT_LANGUAGE)</string> </array>
<key>CFBundleExecutable</key> <key>CADisableMinimumFrameDurationOnPhone</key>
<string>$(EXECUTABLE_NAME)</string> <true/>
<key>CFBundleIdentifier</key> <key>CFBundleDevelopmentRegion</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> <string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleExecutable</key>
<string>6.0</string> <string>$(EXECUTABLE_NAME)</string>
<key>CFBundleName</key> <key>CFBundleIdentifier</key>
<string>Filc Napló</string> <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundlePackageType</key> <key>CFBundleInfoDictionaryVersion</key>
<string>APPL</string> <string>6.0</string>
<key>CFBundleShortVersionString</key> <key>CFBundleName</key>
<string>$(FLUTTER_BUILD_NAME)</string> <string>Filc Napló</string>
<key>CFBundleSignature</key> <key>CFBundlePackageType</key>
<string>????</string> <string>APPL</string>
<key>CFBundleVersion</key> <key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NUMBER)</string> <string>$(FLUTTER_BUILD_NAME)</string>
<key>ITSAppUsesNonExemptEncryption</key> <key>CFBundleSignature</key>
<false/> <string>????</string>
<key>LSApplicationQueriesSchemes</key> <key>CFBundleVersion</key>
<array> <string>$(FLUTTER_BUILD_NUMBER)</string>
<string>https</string> <key>ITSAppUsesNonExemptEncryption</key>
<string>http</string> <false/>
</array> <key>LSApplicationQueriesSchemes</key>
<key>LSRequiresIPhoneOS</key> <array>
<true/> <string>https</string>
<key>NSPhotoLibraryUsageDescription</key> <string>http</string>
<string>The app requires the photo library to set a custom profile picture.</string> </array>
<key>NSSupportsLiveActivities</key> <key>LSRequiresIPhoneOS</key>
<true/> <true/>
<key>UIApplicationSupportsIndirectInputEvents</key> <key>NSPhotoLibraryUsageDescription</key>
<true/> <string>The app requires the photo library to set a custom profile picture.</string>
<key>UIBackgroundModes</key> <key>NSSupportsLiveActivities</key>
<array> <true/>
<string>fetch</string> <key>UIApplicationSupportsIndirectInputEvents</key>
<string>processing</string> <true/>
</array> <key>UIBackgroundModes</key>
<key>UILaunchStoryboardName</key> <array>
<string>LaunchScreen</string> <string>fetch</string>
<key>UIMainStoryboardFile</key> <string>processing</string>
<string>Main</string> </array>
<key>UIStatusBarHidden</key> <key>UILaunchStoryboardName</key>
<false/> <string>LaunchScreen</string>
<key>UISupportedInterfaceOrientations</key> <key>UIMainStoryboardFile</key>
<array> <string>Main</string>
<string>UIInterfaceOrientationPortrait</string> <key>UIStatusBarHidden</key>
<string>UIInterfaceOrientationLandscapeLeft</string> <false/>
<string>UIInterfaceOrientationLandscapeRight</string> <key>UISupportedInterfaceOrientations</key>
</array> <array>
<key>UISupportedInterfaceOrientations~ipad</key> <string>UIInterfaceOrientationPortrait</string>
<array> <string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string> </array>
<string>UIInterfaceOrientationLandscapeLeft</string> <key>UISupportedInterfaceOrientations~ipad</key>
<string>UIInterfaceOrientationLandscapeRight</string> <array>
</array> <string>UIInterfaceOrientationPortrait</string>
<key>BGTaskSchedulerPermittedIdentifiers</key> <string>UIInterfaceOrientationPortraitUpsideDown</string>
<array> <string>UIInterfaceOrientationLandscapeLeft</string>
<string>com.transistorsoft.fetch</string> <string>UIInterfaceOrientationLandscapeRight</string>
</array> </array>
<key>UIViewControllerBasedStatusBarAppearance</key> <key>UIViewControllerBasedStatusBarAppearance</key>
<false/> <false/>
</dict> </dict>
</plist> </plist>

View File

@ -1,16 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>aps-environment</key> <key>com.apple.security.application-groups</key>
<string>development</string> <array/>
<key>com.apple.developer.associated-domains</key> </dict>
<array> </plist>
<string>applinks:api.filcnaplo.hu</string>
</array>
<key>com.apple.security.application-groups</key>
<array>
<string>group.filcnaplo.livecard</string>
</array>
</dict>
</plist>

View File

@ -1,13 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>NSExtension</key> <key>NSExtension</key>
<dict> <dict>
<key>NSExtensionPointIdentifier</key> <key>NSExtensionPointIdentifier</key>
<string>com.apple.widgetkit-extension</string> <string>com.apple.widgetkit-extension</string>
</dict> </dict>
<key>NSSupportsLiveActivities</key> </dict>
<true/> </plist>
</dict>
</plist>

View File

@ -1,10 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>com.apple.security.application-groups</key> <key>com.apple.security.application-groups</key>
<array> <array/>
<string>group.filcnaplo.livecard</string> </dict>
</array> </plist>
</dict>
</plist>

View File

@ -64,7 +64,6 @@ dependencies:
workmanager: ^0.5.1 workmanager: ^0.5.1
flutter_svg: ^1.1.6 flutter_svg: ^1.1.6
image_picker: ^0.8.6 image_picker: ^0.8.6
image_crop: ^0.4.1
animations: ^2.0.1 animations: ^2.0.1
background_fetch: ^1.1.5 background_fetch: ^1.1.5
flutter_local_notifications: ^14.1.0 flutter_local_notifications: ^14.1.0

View File

@ -3,7 +3,7 @@ import 'package:filcnaplo_mobile_ui/common/profile_image/profile_image.dart';
import 'package:filcnaplo_mobile_ui/screens/settings/settings_screen.dart'; import 'package:filcnaplo_mobile_ui/screens/settings/settings_screen.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:sliding_sheet/sliding_sheet.dart'; import 'package:wtf_sliding_sheet/wtf_sliding_sheet.dart';
class ProfileButton extends StatelessWidget { class ProfileButton extends StatelessWidget {
const ProfileButton({Key? key, required this.child}) : super(key: key); const ProfileButton({Key? key, required this.child}) : super(key: key);
@ -12,10 +12,13 @@ class ProfileButton extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final bool pMode = Provider.of<SettingsProvider>(context, listen: false).presentationMode; final bool pMode =
Provider.of<SettingsProvider>(context, listen: false).presentationMode;
return ProfileImage( return ProfileImage(
backgroundColor: !pMode ? child.backgroundColor : Theme.of(context).colorScheme.secondary, backgroundColor: !pMode
? child.backgroundColor
: Theme.of(context).colorScheme.secondary,
heroTag: child.heroTag, heroTag: child.heroTag,
key: child.key, key: child.key,
name: !pMode ? child.name : "Béla", name: !pMode ? child.name : "Béla",

View File

@ -1,42 +1,46 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:sliding_sheet/sliding_sheet.dart' as ss; import 'package:wtf_sliding_sheet/wtf_sliding_sheet.dart' as ss;
void showSlidingBottomSheet({required Widget child, required BuildContext context}) => ss.showSlidingBottomSheet(context, void showSlidingBottomSheet(
useRootNavigator: true, {required Widget child, required BuildContext context}) =>
builder: (context) => ss.SlidingSheetDialog( ss.showSlidingBottomSheet(context,
cornerRadius: 16, useRootNavigator: true,
cornerRadiusOnFullscreen: 0, builder: (context) => ss.SlidingSheetDialog(
avoidStatusBar: true, cornerRadius: 16,
color: Theme.of(context).colorScheme.background, cornerRadiusOnFullscreen: 0,
duration: const Duration(milliseconds: 400), avoidStatusBar: true,
snapSpec: const ss.SnapSpec(
snap: true,
snappings: [0.5, 1.0],
positioning: ss.SnapPositioning.relativeToAvailableSpace,
),
headerBuilder: (context, state) {
return Material(
color: Theme.of(context).colorScheme.background, color: Theme.of(context).colorScheme.background,
child: Column( duration: const Duration(milliseconds: 400),
mainAxisSize: MainAxisSize.min, snapSpec: const ss.SnapSpec(
children: [ snap: true,
Container( snappings: [0.5, 1.0],
decoration: BoxDecoration( positioning: ss.SnapPositioning.relativeToAvailableSpace,
color: Colors.grey,
borderRadius: BorderRadius.circular(12.0),
),
height: 4.0,
width: 60.0,
margin: const EdgeInsets.all(12.0),
),
],
), ),
); headerBuilder: (context, state) {
}, return Material(
builder: (context, state) { color: Theme.of(context).colorScheme.background,
return Material( child: Column(
color: Theme.of(context).colorScheme.background, mainAxisSize: MainAxisSize.min,
child: Padding(padding: const EdgeInsets.fromLTRB(12.0, 0, 12.0, 8.0), child: child), children: [
); Container(
}, decoration: BoxDecoration(
)); color: Colors.grey,
borderRadius: BorderRadius.circular(12.0),
),
height: 4.0,
width: 60.0,
margin: const EdgeInsets.all(12.0),
),
],
),
);
},
builder: (context, state) {
return Material(
color: Theme.of(context).colorScheme.background,
child: Padding(
padding: const EdgeInsets.fromLTRB(12.0, 0, 12.0, 8.0),
child: child),
);
},
));

View File

@ -21,19 +21,21 @@ import 'package:filcnaplo_mobile_ui/common/screens.i18n.dart';
import 'package:filcnaplo/api/providers/news_provider.dart'; import 'package:filcnaplo/api/providers/news_provider.dart';
import 'package:filcnaplo/api/providers/sync.dart'; import 'package:filcnaplo/api/providers/sync.dart';
import 'package:home_widget/home_widget.dart'; import 'package:home_widget/home_widget.dart';
import 'package:sliding_sheet/sliding_sheet.dart'; import 'package:wtf_sliding_sheet/wtf_sliding_sheet.dart';
import 'package:background_fetch/background_fetch.dart'; import 'package:background_fetch/background_fetch.dart';
class NavigationScreen extends StatefulWidget { class NavigationScreen extends StatefulWidget {
const NavigationScreen({Key? key}) : super(key: key); const NavigationScreen({Key? key}) : super(key: key);
static NavigationScreenState? of(BuildContext context) => context.findAncestorStateOfType<NavigationScreenState>(); static NavigationScreenState? of(BuildContext context) =>
context.findAncestorStateOfType<NavigationScreenState>();
@override @override
NavigationScreenState createState() => NavigationScreenState(); NavigationScreenState createState() => NavigationScreenState();
} }
class NavigationScreenState extends State<NavigationScreen> with WidgetsBindingObserver { class NavigationScreenState extends State<NavigationScreen>
with WidgetsBindingObserver {
late NavigationRoute selected; late NavigationRoute selected;
List<String> initializers = []; List<String> initializers = [];
final _navigatorState = GlobalKey<NavigatorState>(); final _navigatorState = GlobalKey<NavigatorState>();
@ -65,7 +67,8 @@ class NavigationScreenState extends State<NavigationScreen> with WidgetsBindingO
Navigator.of(context).popUntil((route) => route.isFirst); Navigator.of(context).popUntil((route) => route.isFirst);
setPage("timetable"); setPage("timetable");
_navigatorState.currentState?.pushNamedAndRemoveUntil("timetable", (_) => false); _navigatorState.currentState
?.pushNamedAndRemoveUntil("timetable", (_) => false);
} else if (uri.scheme == "settings" && uri.authority == "premium") { } else if (uri.scheme == "settings" && uri.authority == "premium") {
Navigator.of(context).popUntil((route) => route.isFirst); Navigator.of(context).popUntil((route) => route.isFirst);
@ -145,7 +148,8 @@ class NavigationScreenState extends State<NavigationScreen> with WidgetsBindingO
WidgetsBinding.instance.addObserver(this); WidgetsBinding.instance.addObserver(this);
// set client User-Agent // set client User-Agent
Provider.of<KretaClient>(context, listen: false).userAgent = settings.config.userAgent; Provider.of<KretaClient>(context, listen: false).userAgent =
settings.config.userAgent;
// Get news // Get news
newsProvider = Provider.of<NewsProvider>(context, listen: false); newsProvider = Provider.of<NewsProvider>(context, listen: false);
@ -169,8 +173,10 @@ class NavigationScreenState extends State<NavigationScreen> with WidgetsBindingO
@override @override
void didChangePlatformBrightness() { void didChangePlatformBrightness() {
if (settings.theme == ThemeMode.system) { if (settings.theme == ThemeMode.system) {
Brightness? brightness = WidgetsBinding.instance.window.platformBrightness; Brightness? brightness =
Provider.of<ThemeModeObserver>(context, listen: false).changeTheme(brightness == Brightness.light ? ThemeMode.light : ThemeMode.dark); WidgetsBinding.instance.window.platformBrightness;
Provider.of<ThemeModeObserver>(context, listen: false).changeTheme(
brightness == Brightness.light ? ThemeMode.light : ThemeMode.dark);
} }
super.didChangePlatformBrightness(); super.didChangePlatformBrightness();
} }
@ -187,7 +193,8 @@ class NavigationScreenState extends State<NavigationScreen> with WidgetsBindingO
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
if (newsProvider.show) { if (newsProvider.show) {
newsProvider.lock(); newsProvider.lock();
NewsView.show(newsProvider.news[newsProvider.state], context: context).then((value) => newsProvider.release()); NewsView.show(newsProvider.news[newsProvider.state], context: context)
.then((value) => newsProvider.release());
} }
}); });
@ -223,7 +230,8 @@ class NavigationScreenState extends State<NavigationScreen> with WidgetsBindingO
Navigator( Navigator(
key: _navigatorState, key: _navigatorState,
initialRoute: selected.name, initialRoute: selected.name,
onGenerateRoute: (settings) => navigationRouteHandler(settings), onGenerateRoute: (settings) =>
navigationRouteHandler(settings),
), ),
], ],
), ),

View File

@ -28,7 +28,6 @@ dependencies:
flutter_markdown: ^0.6.5 flutter_markdown: ^0.6.5
animations: ^2.0.1 animations: ^2.0.1
animated_list_plus: ^0.5.0 animated_list_plus: ^0.5.0
sliding_sheet: ^0.5.2
confetti: ^0.6.0 confetti: ^0.6.0
live_activities: ^1.0.0 live_activities: ^1.0.0
animated_flip_counter: ^0.2.5 animated_flip_counter: ^0.2.5
@ -39,6 +38,7 @@ dependencies:
dropdown_button2: ^1.8.9 dropdown_button2: ^1.8.9
flutter_svg: ^1.1.6 flutter_svg: ^1.1.6
background_fetch: ^1.1.5 background_fetch: ^1.1.5
wtf_sliding_sheet: ^1.0.0
dev_dependencies: dev_dependencies:
flutter_lints: ^1.0.0 flutter_lints: ^1.0.0

View File

@ -13,20 +13,22 @@ import 'package:flutter_feather_icons/flutter_feather_icons.dart';
import 'package:filcnaplo_mobile_ui/screens/settings/settings_screen.i18n.dart'; import 'package:filcnaplo_mobile_ui/screens/settings/settings_screen.i18n.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:image_picker/image_picker.dart'; import 'package:image_picker/image_picker.dart';
import 'package:image_crop/image_crop.dart';
class UserMenuProfilePic extends StatelessWidget { class UserMenuProfilePic extends StatelessWidget {
const UserMenuProfilePic({Key? key}) : super(key: key); const UserMenuProfilePic({Key? key}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (!Provider.of<PremiumProvider>(context).hasScope(PremiumScopes.nickname)) { if (!Provider.of<PremiumProvider>(context)
.hasScope(PremiumScopes.nickname)) {
return const SizedBox(); return const SizedBox();
} }
return BottomSheetMenuItem( return BottomSheetMenuItem(
onPressed: () { onPressed: () {
showDialog(context: context, builder: (context) => const UserProfilePicEditor()); showDialog(
context: context,
builder: (context) => const UserProfilePicEditor());
}, },
icon: const Icon(FeatherIcons.camera), icon: const Icon(FeatherIcons.camera),
title: Text("edit_profile_picture".i18n), title: Text("edit_profile_picture".i18n),
@ -44,7 +46,6 @@ class UserProfilePicEditor extends StatefulWidget {
class _UserProfilePicEditorState extends State<UserProfilePicEditor> { class _UserProfilePicEditorState extends State<UserProfilePicEditor> {
late final UserProvider user; late final UserProvider user;
final cropKey = GlobalKey<CropState>();
File? _file; File? _file;
File? _sample; File? _sample;
File? _lastCropped; File? _lastCropped;
@ -56,16 +57,10 @@ class _UserProfilePicEditorState extends State<UserProfilePicEditor> {
if (image == null) return; if (image == null) return;
File imageFile = File(image.path); File imageFile = File(image.path);
final sample = await ImageCrop.sampleImage(
file: imageFile,
preferredSize: context.size!.longestSide.ceil(),
);
_sample?.delete(); _sample?.delete();
_file?.delete(); _file?.delete();
setState(() { setState(() {
_sample = sample;
_file = imageFile; _file = imageFile;
}); });
} on PlatformException catch (e) { } on PlatformException catch (e) {
@ -73,16 +68,6 @@ class _UserProfilePicEditorState extends State<UserProfilePicEditor> {
} }
} }
Widget cropImageWidget() {
return SizedBox(
height: 300,
child: Crop.file(
_sample!,
key: cropKey,
aspectRatio: 1.0,
));
}
Widget openImageWidget() { Widget openImageWidget() {
return InkWell( return InkWell(
customBorder: RoundedRectangleBorder( customBorder: RoundedRectangleBorder(
@ -90,18 +75,22 @@ class _UserProfilePicEditorState extends State<UserProfilePicEditor> {
), ),
onTap: () => pickImage(), onTap: () => pickImage(),
child: Container( child: Container(
decoration: BoxDecoration(border: Border.all(color: Colors.grey), borderRadius: BorderRadius.circular(14.0)), decoration: BoxDecoration(
border: Border.all(color: Colors.grey),
borderRadius: BorderRadius.circular(14.0)),
width: double.infinity, width: double.infinity,
padding: const EdgeInsets.symmetric(vertical: 32.0, horizontal: 8.0), padding: const EdgeInsets.symmetric(vertical: 32.0, horizontal: 8.0),
child: Column( child: Column(
children: [ children: [
Text( Text(
"click_here".i18n, "click_here".i18n,
style: const TextStyle(fontSize: 22.0, fontWeight: FontWeight.w600), style:
const TextStyle(fontSize: 22.0, fontWeight: FontWeight.w600),
), ),
Text( Text(
"select_profile_picture".i18n, "select_profile_picture".i18n,
style: const TextStyle(fontSize: 14.0, fontWeight: FontWeight.w500), style:
const TextStyle(fontSize: 14.0, fontWeight: FontWeight.w500),
) )
], ],
), ),
@ -110,34 +99,13 @@ class _UserProfilePicEditorState extends State<UserProfilePicEditor> {
} }
Future<void> _cropImage() async { Future<void> _cropImage() async {
final scale = cropKey.currentState!.scale; List<int> imageBytes = await _file!.readAsBytes();
final area = cropKey.currentState!.area;
if (area == null || _file == null) {
return;
}
final sample = await ImageCrop.sampleImage(
file: _file!,
preferredSize: (2000 / scale).round(),
);
final file = await ImageCrop.cropImage(
file: sample,
area: area,
);
sample.delete();
_lastCropped?.delete();
_lastCropped = file;
List<int> imageBytes = await _lastCropped!.readAsBytes();
String base64Image = base64Encode(imageBytes); String base64Image = base64Encode(imageBytes);
user.user!.picture = base64Image; user.user!.picture = base64Image;
Provider.of<DatabaseProvider>(context, listen: false).store.storeUser(user.user!); Provider.of<DatabaseProvider>(context, listen: false)
.store
.storeUser(user.user!);
Provider.of<UserProvider>(context, listen: false).refresh(); Provider.of<UserProvider>(context, listen: false).refresh();
debugPrint('$file');
} }
@override @override
@ -157,25 +125,30 @@ class _UserProfilePicEditorState extends State<UserProfilePicEditor> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AlertDialog( return AlertDialog(
shape: const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(14.0))), shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(14.0))),
contentPadding: const EdgeInsets.only(top: 10.0), contentPadding: const EdgeInsets.only(top: 10.0),
title: Text("edit_profile_picture".i18n), title: Text("edit_profile_picture".i18n),
content: Column( content: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
Padding( Padding(
padding: const EdgeInsets.symmetric(vertical: 12.0, horizontal: 24.0), padding:
child: _sample == null ? openImageWidget() : cropImageWidget(), const EdgeInsets.symmetric(vertical: 12.0, horizontal: 24.0),
child: openImageWidget(),
), ),
if (user.user!.picture != "") if (user.user!.picture != "")
TextButton( TextButton(
child: Text( child: Text(
"remove_profile_picture".i18n, "remove_profile_picture".i18n,
style: const TextStyle(fontWeight: FontWeight.w500, color: Colors.red), style: const TextStyle(
fontWeight: FontWeight.w500, color: Colors.red),
), ),
onPressed: () { onPressed: () {
user.user!.picture = ""; user.user!.picture = "";
Provider.of<DatabaseProvider>(context, listen: false).store.storeUser(user.user!); Provider.of<DatabaseProvider>(context, listen: false)
.store
.storeUser(user.user!);
Provider.of<UserProvider>(context, listen: false).refresh(); Provider.of<UserProvider>(context, listen: false).refresh();
Navigator.of(context).pop(true); Navigator.of(context).pop(true);
}, },

View File

@ -24,7 +24,6 @@ dependencies:
dropdown_button2: ^1.8.9 dropdown_button2: ^1.8.9
home_widget: ^0.1.6 home_widget: ^0.1.6
image_picker: ^0.8.6 image_picker: ^0.8.6
image_crop: ^0.4.1
lottie: ^1.4.3 lottie: ^1.4.3
animations: ^2.0.1 animations: ^2.0.1
flutter_svg: ^1.1.6 flutter_svg: ^1.1.6