mukodo cucc
@ -1,7 +1,7 @@
|
||||
PODS:
|
||||
- app_group_directory (1.0.0):
|
||||
- Flutter
|
||||
- background_fetch (1.1.5):
|
||||
- background_fetch (1.1.6):
|
||||
- Flutter
|
||||
- connectivity_plus (0.0.1):
|
||||
- Flutter
|
||||
@ -57,8 +57,6 @@ PODS:
|
||||
- FMDB/standard (2.7.5)
|
||||
- home_widget (0.0.1):
|
||||
- Flutter
|
||||
- image_crop (0.0.1):
|
||||
- Flutter
|
||||
- image_picker_ios (0.0.1):
|
||||
- Flutter
|
||||
- libwebp (1.2.4):
|
||||
@ -77,8 +75,9 @@ PODS:
|
||||
- Mantle/extobjc (2.2.0)
|
||||
- open_file (0.0.1):
|
||||
- Flutter
|
||||
- path_provider_ios (0.0.1):
|
||||
- path_provider_foundation (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- permission_handler_apple (9.0.4):
|
||||
- Flutter
|
||||
- quick_actions_ios (0.0.1):
|
||||
@ -92,7 +91,7 @@ PODS:
|
||||
- SDWebImage/Core (~> 5.13)
|
||||
- share_plus (0.0.1):
|
||||
- Flutter
|
||||
- sqflite (0.0.2):
|
||||
- sqflite (0.0.3):
|
||||
- Flutter
|
||||
- FMDB (>= 2.7.5)
|
||||
- SwiftyGif (5.4.3)
|
||||
@ -115,11 +114,10 @@ DEPENDENCIES:
|
||||
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
|
||||
- flutter_native_image (from `.symlinks/plugins/flutter_native_image/ios`)
|
||||
- home_widget (from `.symlinks/plugins/home_widget/ios`)
|
||||
- image_crop (from `.symlinks/plugins/image_crop/ios`)
|
||||
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
||||
- live_activities (from `.symlinks/plugins/live_activities/ios`)
|
||||
- open_file (from `.symlinks/plugins/open_file/ios`)
|
||||
- path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`)
|
||||
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
|
||||
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
|
||||
- quick_actions_ios (from `.symlinks/plugins/quick_actions_ios/ios`)
|
||||
- share_plus (from `.symlinks/plugins/share_plus/ios`)
|
||||
@ -162,16 +160,14 @@ EXTERNAL SOURCES:
|
||||
:path: ".symlinks/plugins/flutter_native_image/ios"
|
||||
home_widget:
|
||||
:path: ".symlinks/plugins/home_widget/ios"
|
||||
image_crop:
|
||||
:path: ".symlinks/plugins/image_crop/ios"
|
||||
image_picker_ios:
|
||||
:path: ".symlinks/plugins/image_picker_ios/ios"
|
||||
live_activities:
|
||||
:path: ".symlinks/plugins/live_activities/ios"
|
||||
open_file:
|
||||
:path: ".symlinks/plugins/open_file/ios"
|
||||
path_provider_ios:
|
||||
:path: ".symlinks/plugins/path_provider_ios/ios"
|
||||
path_provider_foundation:
|
||||
:path: ".symlinks/plugins/path_provider_foundation/darwin"
|
||||
permission_handler_apple:
|
||||
:path: ".symlinks/plugins/permission_handler_apple/ios"
|
||||
quick_actions_ios:
|
||||
@ -194,8 +190,8 @@ CHECKOUT OPTIONS:
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
app_group_directory: 7bf9f8f9819ead554de29da7c25fb7a680d6a9a0
|
||||
background_fetch: 9a9963128952bfdd197e21786983c7c7a30e1478
|
||||
connectivity_plus: 413a8857dd5d9f1c399a39130850d02fe0feaf7e
|
||||
background_fetch: bc9b44b0bf8b434e282a2ac9be8662800a0296ed
|
||||
connectivity_plus: 07c49e96d7fc92bc9920617b83238c4d178b446a
|
||||
DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
|
||||
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
|
||||
file_picker: 817ab1d8cd2da9d2da412a417162deee3500fc95
|
||||
@ -206,25 +202,24 @@ SPEC CHECKSUMS:
|
||||
flutter_native_image: 9c0b7451838484458e5b0fae007b86a4c2d4bdfe
|
||||
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
|
||||
home_widget: 2829415127ee92e876f816cbbe44c0b6601b8a37
|
||||
image_crop: e0a67085d3ebf3cf46ca46d61c53a082507b0bc3
|
||||
image_picker_ios: 58b9c4269cb176f89acea5e5d043c9358f2d25f8
|
||||
image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5
|
||||
libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef
|
||||
live_activities: 9ff56a06a2d43ecd68f56deeed13b18a8304789c
|
||||
Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d
|
||||
open_file: 02eb5cb6b21264bd3a696876f5afbfb7ca4f4b7d
|
||||
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02
|
||||
path_provider_foundation: eaf5b3e458fc0e5fbb9940fb09980e853fe058b8
|
||||
permission_handler_apple: 44366e37eaf29454a1e7b1b7d736c2cceaeb17ce
|
||||
quick_actions_ios: d211ffc5d7619ace7e9fb1800540b14a1aafe940
|
||||
quick_actions_ios: 9e80dcfadfbc5d47d9cf8f47bcf428b11cf383d4
|
||||
ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
|
||||
SDWebImage: 72f86271a6f3139cc7e4a89220946489d4b9a866
|
||||
SDWebImageWebPCoder: 18503de6621dd2c420d680e33d46bf8e1d5169b0
|
||||
share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
|
||||
sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904
|
||||
sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a
|
||||
SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780
|
||||
uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
|
||||
url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de
|
||||
url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4
|
||||
workmanager: 0afdcf5628bbde6924c21af7836fed07b42e30e6
|
||||
|
||||
PODFILE CHECKSUM: 862f939bb7e5390bdb8b2534eb81a9457ea9fbdc
|
||||
PODFILE CHECKSUM: efe5e2e257c61a1c3d5be693ef1a8ea1c4b81d8f
|
||||
|
||||
COCOAPODS: 1.12.0
|
||||
COCOAPODS: 1.12.1
|
||||
|
@ -303,6 +303,7 @@
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||
);
|
||||
name = "Thin Binary";
|
||||
outputPaths = (
|
||||
@ -476,15 +477,18 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
DEVELOPMENT_TEAM = MYUTW2GF6J;
|
||||
CURRENT_PROJECT_VERSION = 195;
|
||||
DEVELOPMENT_TEAM = 48XS7JAZB7;
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = Runner/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = reFilc;
|
||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education";
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = hu.filc.naplo;
|
||||
MARKETING_VERSION = 3.6.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.refilc.naplo;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
SWIFT_VERSION = 5.0;
|
||||
@ -506,7 +510,7 @@
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEVELOPMENT_TEAM = MYUTW2GF6J;
|
||||
DEVELOPMENT_TEAM = 48XS7JAZB7;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = livecard/Info.plist;
|
||||
@ -522,7 +526,7 @@
|
||||
MARKETING_VERSION = 1.0;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = hu.filc.naplo.livecardpro;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.refilc.naplo.livecardpro;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SKIP_INSTALL = YES;
|
||||
@ -548,7 +552,7 @@
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEVELOPMENT_TEAM = MYUTW2GF6J;
|
||||
DEVELOPMENT_TEAM = 48XS7JAZB7;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = livecard/Info.plist;
|
||||
@ -563,7 +567,7 @@
|
||||
);
|
||||
MARKETING_VERSION = 1.0;
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = hu.filc.naplo.livecardpro;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.refilc.naplo.livecardpro;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SKIP_INSTALL = YES;
|
||||
@ -588,7 +592,7 @@
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEVELOPMENT_TEAM = MYUTW2GF6J;
|
||||
DEVELOPMENT_TEAM = 48XS7JAZB7;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = livecard/Info.plist;
|
||||
@ -603,7 +607,7 @@
|
||||
);
|
||||
MARKETING_VERSION = 1.0;
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = hu.filc.naplo.livecardpro;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.refilc.naplo.livecardpro;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SKIP_INSTALL = YES;
|
||||
@ -731,15 +735,18 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
DEVELOPMENT_TEAM = MYUTW2GF6J;
|
||||
CURRENT_PROJECT_VERSION = 195;
|
||||
DEVELOPMENT_TEAM = 48XS7JAZB7;
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = Runner/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = reFilc;
|
||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education";
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = hu.filc.naplo;
|
||||
MARKETING_VERSION = 3.6.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.refilc.naplo;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
@ -756,15 +763,18 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
DEVELOPMENT_TEAM = MYUTW2GF6J;
|
||||
CURRENT_PROJECT_VERSION = 195;
|
||||
DEVELOPMENT_TEAM = 48XS7JAZB7;
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = Runner/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = reFilc;
|
||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education";
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = hu.filc.naplo;
|
||||
MARKETING_VERSION = 3.6.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.refilc.naplo;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
SWIFT_VERSION = 5.0;
|
||||
|
Before Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 620 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 7.7 KiB |
@ -1,208 +1,14 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"size": "60x60",
|
||||
"expected-size": "180",
|
||||
"filename": "180.png",
|
||||
"folder": "Assets.xcassets/AppIcon.appiconset/",
|
||||
"idiom": "iphone",
|
||||
"scale": "3x"
|
||||
},
|
||||
{
|
||||
"size": "40x40",
|
||||
"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"
|
||||
"filename" : "reFilc_Logo.png",
|
||||
"idiom" : "universal",
|
||||
"platform" : "ios",
|
||||
"size" : "1024x1024"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version": 1,
|
||||
"author": "xcode"
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 593 KiB |
Before Width: | Height: | Size: 590 B |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 931 B |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 617 KiB |
@ -2,6 +2,10 @@
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BGTaskSchedulerPermittedIdentifiers</key>
|
||||
<array>
|
||||
<string>com.transistorsoft.fetch</string>
|
||||
</array>
|
||||
<key>CADisableMinimumFrameDurationOnPhone</key>
|
||||
<true/>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
@ -61,10 +65,6 @@
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>BGTaskSchedulerPermittedIdentifiers</key>
|
||||
<array>
|
||||
<string>com.transistorsoft.fetch</string>
|
||||
</array>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<false/>
|
||||
</dict>
|
||||
|
@ -2,15 +2,7 @@
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>aps-environment</key>
|
||||
<string>development</string>
|
||||
<key>com.apple.developer.associated-domains</key>
|
||||
<array>
|
||||
<string>applinks:api.filcnaplo.hu</string>
|
||||
</array>
|
||||
<key>com.apple.security.application-groups</key>
|
||||
<array>
|
||||
<string>group.filcnaplo.livecard</string>
|
||||
</array>
|
||||
<array/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -7,7 +7,5 @@
|
||||
<key>NSExtensionPointIdentifier</key>
|
||||
<string>com.apple.widgetkit-extension</string>
|
||||
</dict>
|
||||
<key>NSSupportsLiveActivities</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -3,8 +3,6 @@
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.application-groups</key>
|
||||
<array>
|
||||
<string>group.filcnaplo.livecard</string>
|
||||
</array>
|
||||
<array/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -64,7 +64,6 @@ dependencies:
|
||||
workmanager: ^0.5.1
|
||||
flutter_svg: ^1.1.6
|
||||
image_picker: ^0.8.6
|
||||
image_crop: ^0.4.1
|
||||
animations: ^2.0.1
|
||||
background_fetch: ^1.1.5
|
||||
flutter_local_notifications: ^14.1.0
|
||||
|
@ -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:flutter/material.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 {
|
||||
const ProfileButton({Key? key, required this.child}) : super(key: key);
|
||||
@ -12,10 +12,13 @@ class ProfileButton extends StatelessWidget {
|
||||
|
||||
@override
|
||||
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(
|
||||
backgroundColor: !pMode ? child.backgroundColor : Theme.of(context).colorScheme.secondary,
|
||||
backgroundColor: !pMode
|
||||
? child.backgroundColor
|
||||
: Theme.of(context).colorScheme.secondary,
|
||||
heroTag: child.heroTag,
|
||||
key: child.key,
|
||||
name: !pMode ? child.name : "Béla",
|
||||
|
@ -1,7 +1,9 @@
|
||||
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(
|
||||
{required Widget child, required BuildContext context}) =>
|
||||
ss.showSlidingBottomSheet(context,
|
||||
useRootNavigator: true,
|
||||
builder: (context) => ss.SlidingSheetDialog(
|
||||
cornerRadius: 16,
|
||||
@ -36,7 +38,9 @@ void showSlidingBottomSheet({required Widget child, required BuildContext contex
|
||||
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),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.fromLTRB(12.0, 0, 12.0, 8.0),
|
||||
child: child),
|
||||
);
|
||||
},
|
||||
));
|
||||
|
@ -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/sync.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';
|
||||
|
||||
class NavigationScreen extends StatefulWidget {
|
||||
const NavigationScreen({Key? key}) : super(key: key);
|
||||
|
||||
static NavigationScreenState? of(BuildContext context) => context.findAncestorStateOfType<NavigationScreenState>();
|
||||
static NavigationScreenState? of(BuildContext context) =>
|
||||
context.findAncestorStateOfType<NavigationScreenState>();
|
||||
|
||||
@override
|
||||
NavigationScreenState createState() => NavigationScreenState();
|
||||
}
|
||||
|
||||
class NavigationScreenState extends State<NavigationScreen> with WidgetsBindingObserver {
|
||||
class NavigationScreenState extends State<NavigationScreen>
|
||||
with WidgetsBindingObserver {
|
||||
late NavigationRoute selected;
|
||||
List<String> initializers = [];
|
||||
final _navigatorState = GlobalKey<NavigatorState>();
|
||||
@ -65,7 +67,8 @@ class NavigationScreenState extends State<NavigationScreen> with WidgetsBindingO
|
||||
Navigator.of(context).popUntil((route) => route.isFirst);
|
||||
|
||||
setPage("timetable");
|
||||
_navigatorState.currentState?.pushNamedAndRemoveUntil("timetable", (_) => false);
|
||||
_navigatorState.currentState
|
||||
?.pushNamedAndRemoveUntil("timetable", (_) => false);
|
||||
} else if (uri.scheme == "settings" && uri.authority == "premium") {
|
||||
Navigator.of(context).popUntil((route) => route.isFirst);
|
||||
|
||||
@ -145,7 +148,8 @@ class NavigationScreenState extends State<NavigationScreen> with WidgetsBindingO
|
||||
WidgetsBinding.instance.addObserver(this);
|
||||
|
||||
// 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
|
||||
newsProvider = Provider.of<NewsProvider>(context, listen: false);
|
||||
@ -169,8 +173,10 @@ class NavigationScreenState extends State<NavigationScreen> with WidgetsBindingO
|
||||
@override
|
||||
void didChangePlatformBrightness() {
|
||||
if (settings.theme == ThemeMode.system) {
|
||||
Brightness? brightness = WidgetsBinding.instance.window.platformBrightness;
|
||||
Provider.of<ThemeModeObserver>(context, listen: false).changeTheme(brightness == Brightness.light ? ThemeMode.light : ThemeMode.dark);
|
||||
Brightness? brightness =
|
||||
WidgetsBinding.instance.window.platformBrightness;
|
||||
Provider.of<ThemeModeObserver>(context, listen: false).changeTheme(
|
||||
brightness == Brightness.light ? ThemeMode.light : ThemeMode.dark);
|
||||
}
|
||||
super.didChangePlatformBrightness();
|
||||
}
|
||||
@ -187,7 +193,8 @@ class NavigationScreenState extends State<NavigationScreen> with WidgetsBindingO
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
if (newsProvider.show) {
|
||||
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(
|
||||
key: _navigatorState,
|
||||
initialRoute: selected.name,
|
||||
onGenerateRoute: (settings) => navigationRouteHandler(settings),
|
||||
onGenerateRoute: (settings) =>
|
||||
navigationRouteHandler(settings),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
@ -28,7 +28,6 @@ dependencies:
|
||||
flutter_markdown: ^0.6.5
|
||||
animations: ^2.0.1
|
||||
animated_list_plus: ^0.5.0
|
||||
sliding_sheet: ^0.5.2
|
||||
confetti: ^0.6.0
|
||||
live_activities: ^1.0.0
|
||||
animated_flip_counter: ^0.2.5
|
||||
@ -39,6 +38,7 @@ dependencies:
|
||||
dropdown_button2: ^1.8.9
|
||||
flutter_svg: ^1.1.6
|
||||
background_fetch: ^1.1.5
|
||||
wtf_sliding_sheet: ^1.0.0
|
||||
|
||||
dev_dependencies:
|
||||
flutter_lints: ^1.0.0
|
||||
|
@ -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:provider/provider.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
import 'package:image_crop/image_crop.dart';
|
||||
|
||||
class UserMenuProfilePic extends StatelessWidget {
|
||||
const UserMenuProfilePic({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (!Provider.of<PremiumProvider>(context).hasScope(PremiumScopes.nickname)) {
|
||||
if (!Provider.of<PremiumProvider>(context)
|
||||
.hasScope(PremiumScopes.nickname)) {
|
||||
return const SizedBox();
|
||||
}
|
||||
|
||||
return BottomSheetMenuItem(
|
||||
onPressed: () {
|
||||
showDialog(context: context, builder: (context) => const UserProfilePicEditor());
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (context) => const UserProfilePicEditor());
|
||||
},
|
||||
icon: const Icon(FeatherIcons.camera),
|
||||
title: Text("edit_profile_picture".i18n),
|
||||
@ -44,7 +46,6 @@ class UserProfilePicEditor extends StatefulWidget {
|
||||
class _UserProfilePicEditorState extends State<UserProfilePicEditor> {
|
||||
late final UserProvider user;
|
||||
|
||||
final cropKey = GlobalKey<CropState>();
|
||||
File? _file;
|
||||
File? _sample;
|
||||
File? _lastCropped;
|
||||
@ -56,16 +57,10 @@ class _UserProfilePicEditorState extends State<UserProfilePicEditor> {
|
||||
if (image == null) return;
|
||||
File imageFile = File(image.path);
|
||||
|
||||
final sample = await ImageCrop.sampleImage(
|
||||
file: imageFile,
|
||||
preferredSize: context.size!.longestSide.ceil(),
|
||||
);
|
||||
|
||||
_sample?.delete();
|
||||
_file?.delete();
|
||||
|
||||
setState(() {
|
||||
_sample = sample;
|
||||
_file = imageFile;
|
||||
});
|
||||
} 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() {
|
||||
return InkWell(
|
||||
customBorder: RoundedRectangleBorder(
|
||||
@ -90,18 +75,22 @@ class _UserProfilePicEditorState extends State<UserProfilePicEditor> {
|
||||
),
|
||||
onTap: () => pickImage(),
|
||||
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,
|
||||
padding: const EdgeInsets.symmetric(vertical: 32.0, horizontal: 8.0),
|
||||
child: Column(
|
||||
children: [
|
||||
Text(
|
||||
"click_here".i18n,
|
||||
style: const TextStyle(fontSize: 22.0, fontWeight: FontWeight.w600),
|
||||
style:
|
||||
const TextStyle(fontSize: 22.0, fontWeight: FontWeight.w600),
|
||||
),
|
||||
Text(
|
||||
"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 {
|
||||
final scale = cropKey.currentState!.scale;
|
||||
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();
|
||||
List<int> imageBytes = await _file!.readAsBytes();
|
||||
String base64Image = base64Encode(imageBytes);
|
||||
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();
|
||||
|
||||
debugPrint('$file');
|
||||
}
|
||||
|
||||
@override
|
||||
@ -157,25 +125,30 @@ class _UserProfilePicEditorState extends State<UserProfilePicEditor> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
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),
|
||||
title: Text("edit_profile_picture".i18n),
|
||||
content: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 12.0, horizontal: 24.0),
|
||||
child: _sample == null ? openImageWidget() : cropImageWidget(),
|
||||
padding:
|
||||
const EdgeInsets.symmetric(vertical: 12.0, horizontal: 24.0),
|
||||
child: openImageWidget(),
|
||||
),
|
||||
if (user.user!.picture != "")
|
||||
TextButton(
|
||||
child: Text(
|
||||
"remove_profile_picture".i18n,
|
||||
style: const TextStyle(fontWeight: FontWeight.w500, color: Colors.red),
|
||||
style: const TextStyle(
|
||||
fontWeight: FontWeight.w500, color: Colors.red),
|
||||
),
|
||||
onPressed: () {
|
||||
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();
|
||||
Navigator.of(context).pop(true);
|
||||
},
|
||||
|
@ -24,7 +24,6 @@ dependencies:
|
||||
dropdown_button2: ^1.8.9
|
||||
home_widget: ^0.1.6
|
||||
image_picker: ^0.8.6
|
||||
image_crop: ^0.4.1
|
||||
lottie: ^1.4.3
|
||||
animations: ^2.0.1
|
||||
flutter_svg: ^1.1.6
|
||||
|