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: