diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist index 7c56964..74210a1 100644 --- a/ios/Flutter/AppFrameworkInfo.plist +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 12.0 + 16.0 diff --git a/ios/Podfile.lock b/ios/Podfile.lock index a809249..5476d35 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,7 +1,16 @@ PODS: + - device_info_plus (0.0.1): + - Flutter - Flutter (1.0.0) - image_picker_ios (0.0.1): - Flutter + - package_info_plus (0.4.5): + - Flutter + - Sentry/HybridSDK (8.42.0) + - sentry_flutter (8.12.0): + - Flutter + - FlutterMacOS + - Sentry/HybridSDK (= 8.42.0) - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS @@ -11,17 +20,30 @@ PODS: - Flutter DEPENDENCIES: + - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - Flutter (from `Flutter`) - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) + - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) + - sentry_flutter (from `.symlinks/plugins/sentry_flutter/ios`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - uni_links (from `.symlinks/plugins/uni_links/ios`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) +SPEC REPOS: + trunk: + - Sentry + EXTERNAL SOURCES: + device_info_plus: + :path: ".symlinks/plugins/device_info_plus/ios" Flutter: :path: Flutter image_picker_ios: :path: ".symlinks/plugins/image_picker_ios/ios" + package_info_plus: + :path: ".symlinks/plugins/package_info_plus/ios" + sentry_flutter: + :path: ".symlinks/plugins/sentry_flutter/ios" shared_preferences_foundation: :path: ".symlinks/plugins/shared_preferences_foundation/darwin" uni_links: @@ -30,12 +52,16 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/url_launcher_ios/ios" SPEC CHECKSUMS: + device_info_plus: 97af1d7e84681a90d0693e63169a5d50e0839a0d Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1 + package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4 + Sentry: 38ed8bf38eab5812787274bf591e528074c19e02 + sentry_flutter: 7d1f1df30f3768c411603ed449519bbb90a7d87b shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 uni_links: d97da20c7701486ba192624d99bffaaffcfc298a url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe PODFILE CHECKSUM: 819463e6a0290f5a72f145ba7cde16e8b6ef0796 -COCOAPODS: 1.15.2 +COCOAPODS: 1.16.2 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index ecff23f..bcb3cef 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -114,7 +114,6 @@ EADB8A8FD658FBABA46A254C /* Pods-RunnerTests.release.xcconfig */, 94D49256AA4B7672FE714391 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; @@ -470,18 +469,29 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; DEVELOPMENT_TEAM = 4E7TQFPUUU; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = Collabify; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.entertainment"; + IPHONEOS_DEPLOYMENT_TARGET = 16; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); PRODUCT_BUNDLE_IDENTIFIER = com.ssaakaash.collabify; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; VERSIONING_SYSTEM = "apple-generic"; }; name = Profile; @@ -653,19 +663,30 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; DEVELOPMENT_TEAM = 4E7TQFPUUU; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = Collabify; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.entertainment"; + IPHONEOS_DEPLOYMENT_TARGET = 16; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); PRODUCT_BUNDLE_IDENTIFIER = com.ssaakaash.collabify; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; @@ -676,18 +697,29 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; DEVELOPMENT_TEAM = 4E7TQFPUUU; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = Collabify; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.entertainment"; + IPHONEOS_DEPLOYMENT_TARGET = 16; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); PRODUCT_BUNDLE_IDENTIFIER = com.ssaakaash.collabify; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; VERSIONING_SYSTEM = "apple-generic"; }; name = Release; diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 8e3ca5d..6ce5b0b 100644 --- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -51,7 +51,7 @@ collabify CFBundleExecutable $(EXECUTABLE_NAME) + NSPhotoLibraryUsageDescription + Uses photos to add images to events. CFBundleIdentifier $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion @@ -22,6 +24,17 @@ $(FLUTTER_BUILD_NAME) CFBundleSignature ???? + CFBundleURLTypes + + + CFBundleURLName + com.example.collabify + CFBundleURLSchemes + + collabify + + + CFBundleVersion $(FLUTTER_BUILD_NUMBER) LSRequiresIPhoneOS @@ -56,6 +69,5 @@ - diff --git a/lib/view/screens/connect_screen.dart b/lib/view/screens/connect_screen.dart index 4efb66c..a82dafe 100644 --- a/lib/view/screens/connect_screen.dart +++ b/lib/view/screens/connect_screen.dart @@ -59,26 +59,6 @@ class ConnectScreenState extends ConsumerState { Widget build(BuildContext context) { return Scaffold( backgroundColor: const Color(0xff5822EE), - appBar: AppBar( - centerTitle: true, - title: const Text( - 'Connect To Spotify', - style: TextStyle( - fontFamily: 'Gotham', - shadows: [ - Shadow( - color: Color(0xff000000), - offset: Offset(0, 3), - ), - ], - fontSize: 30, - fontWeight: FontWeight.w900, - color: Colors.white, - ), - ), - automaticallyImplyLeading: false, - backgroundColor: Colors.transparent, - ), body: Stack(children: [ SizedBox( height: double.infinity, diff --git a/lib/view/screens/create_screen.dart b/lib/view/screens/create_screen.dart index 0c4beee..5c0d451 100644 --- a/lib/view/screens/create_screen.dart +++ b/lib/view/screens/create_screen.dart @@ -7,14 +7,20 @@ import 'package:spotify_collab_app/providers/create_screen_provider.dart'; import 'package:spotify_collab_app/view/widgets/custom_text_field.dart'; import 'package:spotify_collab_app/providers/photo_upload_notifier.dart'; -class CreateScreen extends ConsumerWidget { +class CreateScreen extends ConsumerStatefulWidget { const CreateScreen({super.key}); @override - Widget build(BuildContext context, WidgetRef ref) { + CreateScreenState createState() => CreateScreenState(); +} + +class CreateScreenState extends ConsumerState { + final TextEditingController eventNameController = TextEditingController(); + + @override + Widget build(BuildContext context) { double width = MediaQuery.sizeOf(context).width; double height = MediaQuery.sizeOf(context).height; - final TextEditingController eventNameController = TextEditingController(); final createState = ref.watch(createScreenProvider); return Scaffold( @@ -42,7 +48,10 @@ class CreateScreen extends ConsumerWidget { Row( children: [ IconButton( - onPressed: () => context.go('/home'), + onPressed: () { + context.go('/home'); + ref.read(photoUploadProvider.notifier).clearImage(); + }, icon: const Icon(Icons.arrow_back_ios), color: const Color(0xff5822EE), ), @@ -187,6 +196,9 @@ class CreateScreen extends ConsumerWidget { if (result.success) { context.go('/home'); + ref + .read(photoUploadProvider.notifier) + .clearImage(); } }, child: Padding( diff --git a/lib/view/screens/home_screen.dart b/lib/view/screens/home_screen.dart index ac67b48..eed4e89 100644 --- a/lib/view/screens/home_screen.dart +++ b/lib/view/screens/home_screen.dart @@ -23,33 +23,33 @@ class HomeScreen extends ConsumerWidget { ), backgroundColor: Colors.transparent, ), - body: Stack( - children: [ - Padding( - padding: const EdgeInsets.all(32.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const Text( - "Create new Playlist ·", - style: TextStyle( - fontFamily: "Gotham", - fontWeight: FontWeight.w700, - fontSize: 16, - ), - ), - const SizedBox(height: 10), - InkWell( - borderRadius: const BorderRadius.all(Radius.circular(8)), - onTap: () => context.go('/create'), - child: Ink(child: const NewPlaylistButton()), - ), - const SizedBox(height: 20), - RefreshIndicator( - onRefresh: () => playlistNotifier.fetchPlaylists(), - child: SingleChildScrollView( - physics: const AlwaysScrollableScrollPhysics(), - child: FutureBuilder( + body: RefreshIndicator( + onRefresh: () => playlistNotifier.fetchPlaylists(), + child: Stack( + children: [ + Padding( + padding: const EdgeInsets.all(32.0), + child: SingleChildScrollView( + physics: const AlwaysScrollableScrollPhysics(), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + "Create new Playlist ·", + style: TextStyle( + fontFamily: "Gotham", + fontWeight: FontWeight.w700, + fontSize: 16, + ), + ), + const SizedBox(height: 10), + InkWell( + borderRadius: const BorderRadius.all(Radius.circular(8)), + onTap: () => context.go('/create'), + child: Ink(child: const NewPlaylistButton()), + ), + const SizedBox(height: 20), + FutureBuilder( future: playlistNotifier.fetchPlaylists(), builder: (context, snapshot) { if (snapshot.connectionState == @@ -155,25 +155,25 @@ class HomeScreen extends ConsumerWidget { } }, ), - ), + ], ), - ], + ), ), - ), - IgnorePointer( - ignoring: true, - child: SizedBox( - height: double.maxFinite, - width: double.maxFinite, - child: SvgPicture.asset( - 'assets/bg.svg', - colorFilter: - const ColorFilter.mode(Color(0xffd1dfdb), BlendMode.srcIn), - fit: BoxFit.cover, + IgnorePointer( + ignoring: true, + child: SizedBox( + height: double.maxFinite, + width: double.maxFinite, + child: SvgPicture.asset( + 'assets/bg.svg', + colorFilter: const ColorFilter.mode( + Color(0xffd1dfdb), BlendMode.srcIn), + fit: BoxFit.cover, + ), ), ), - ), - ], + ], + ), ), ); } diff --git a/pubspec.lock b/pubspec.lock index 865c544..3a9c853 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -85,10 +85,10 @@ packages: dependency: transitive description: name: device_info_plus - sha256: "4fa68e53e26ab17b70ca39f072c285562cfc1589df5bb1e9295db90f6645f431" + sha256: a7fd703482b391a87d60b6061d04dfdeab07826b96f9abd8f5ed98068acc0074 url: "https://pub.dev" source: hosted - version: "11.2.0" + version: "10.1.2" device_info_plus_platform_interface: dependency: transitive description: @@ -202,10 +202,10 @@ packages: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: "615a505aef59b151b46bbeef55b36ce2b6ed299d160c51d84281946f0aa0ce0e" + sha256: "9ee02950848f61c4129af3d6ec84a1cfc0e47931abc746b03e7a3bc3e8ff6eda" url: "https://pub.dev" source: hosted - version: "2.0.24" + version: "2.0.22" flutter_riverpod: dependency: "direct main" description: @@ -260,10 +260,10 @@ packages: dependency: transitive description: name: http_parser - sha256: "76d306a1c3afb33fe82e2bbacad62a61f409b5634c915fceb0d799de1a913360" + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" url: "https://pub.dev" source: hosted - version: "4.1.1" + version: "4.0.2" image_picker: dependency: "direct main" description: @@ -276,10 +276,10 @@ packages: dependency: transitive description: name: image_picker_android - sha256: aa6f1280b670861ac45220cc95adc59bb6ae130259d36f980ccb62220dc5e59f + sha256: "8c5abf0dcc24fe6e8e0b4a5c0b51a5cf30cefdf6407a3213dae61edc75a70f56" url: "https://pub.dev" source: hosted - version: "0.8.12+19" + version: "0.8.12+12" image_picker_for_web: dependency: transitive description: @@ -516,18 +516,18 @@ packages: dependency: "direct main" description: name: shared_preferences - sha256: "3c7e73920c694a436afaf65ab60ce3453d91f84208d761fbd83fc21182134d93" + sha256: "95f9997ca1fb9799d494d0cb2a780fd7be075818d59f00c43832ed112b158a82" url: "https://pub.dev" source: hosted - version: "2.3.4" + version: "2.3.3" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - sha256: "02a7d8a9ef346c9af715811b01fbd8e27845ad2c41148eefd31321471b41863d" + sha256: "480ba4345773f56acda9abf5f50bd966f581dac5d514e5fc4a18c62976bbba7e" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.3.2" shared_preferences_foundation: dependency: transitive description: @@ -657,10 +657,10 @@ packages: dependency: transitive description: name: typed_data - sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.3.2" uni_links: dependency: "direct main" description: @@ -689,10 +689,10 @@ packages: dependency: "direct main" description: name: upgrader - sha256: eb5a4888873d7998605306c4212491efdff8e59ee609d946dbcd6df83598d004 + sha256: d45483694620883107c2f5ca1dff7cdd4237b16810337a9c9c234203eb79eb5f url: "https://pub.dev" source: hosted - version: "11.3.1" + version: "10.3.0" url_launcher: dependency: "direct main" description: @@ -705,10 +705,10 @@ packages: dependency: transitive description: name: url_launcher_android - sha256: "6fc2f56536ee873eeb867ad176ae15f304ccccc357848b351f6f0d8d4a40d193" + sha256: f0c73347dfcfa5b3db8bc06e1502668265d39c08f310c29bff4e28eea9699f79 url: "https://pub.dev" source: hosted - version: "6.3.14" + version: "6.3.9" url_launcher_ios: dependency: transitive description: @@ -825,10 +825,10 @@ packages: dependency: transitive description: name: win32 - sha256: "154360849a56b7b67331c21f09a386562d88903f90a1099c5987afc1912e1f29" + sha256: "68d1e89a91ed61ad9c370f9f8b6effed9ae5e0ede22a270bdfa6daf79fc2290a" url: "https://pub.dev" source: hosted - version: "5.10.0" + version: "5.5.4" win32_registry: dependency: transitive description: @@ -854,5 +854,5 @@ packages: source: hosted version: "6.5.0" sdks: - dart: ">=3.5.0 <4.0.0" - flutter: ">=3.24.0" + dart: ">=3.4.3 <4.0.0" + flutter: ">=3.22.0" diff --git a/pubspec.yaml b/pubspec.yaml index 85fd96d..f8f145d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -47,7 +47,7 @@ dependencies: sentry_flutter: ^8.12.0 flutter_dotenv: ^5.2.1 package_info_plus: ^8.1.2 - upgrader: ^11.3.1 + upgrader: ^10.3.0 dev_dependencies: flutter_test: