diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 6e702833..197d2615 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -407,6 +407,7 @@ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; @@ -542,6 +543,7 @@ baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/RunnerDebug.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; @@ -571,6 +573,7 @@ baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json index a0b3a224..9cc82a0d 100644 --- a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -1,16 +1,18 @@ { "images" : [ { - "filename" : "appstore.png", - "idiom" : "universal", + "filename" : "Frame 35309.png", + "idiom" : "iphone", "scale" : "1x" }, { - "idiom" : "universal", + "filename" : "Frame 35309 (1).png", + "idiom" : "iphone", "scale" : "2x" }, { - "idiom" : "universal", + "filename" : "Frame 35309 (2).png", + "idiom" : "iphone", "scale" : "3x" } ], diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Frame 35309 (1).png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Frame 35309 (1).png new file mode 100644 index 00000000..7600e2a1 Binary files /dev/null and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Frame 35309 (1).png differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Frame 35309 (2).png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Frame 35309 (2).png new file mode 100644 index 00000000..eada73e8 Binary files /dev/null and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Frame 35309 (2).png differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Frame 35309.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Frame 35309.png new file mode 100644 index 00000000..160fdcb0 Binary files /dev/null and b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Frame 35309.png differ diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/appstore.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/appstore.png deleted file mode 100644 index 7fb6e376..00000000 Binary files a/ios/Runner/Assets.xcassets/LaunchImage.imageset/appstore.png and /dev/null differ diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard index f2e259c7..b2e3e1bc 100644 --- a/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -1,8 +1,10 @@ - - + + + - + + @@ -13,10 +15,16 @@ - - + + - + + + + + + + @@ -25,13 +33,14 @@ + - + - + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 7e227844..8961db91 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -39,6 +39,8 @@ CFBundleVersion $(FLUTTER_BUILD_NUMBER) + FirebaseCrashlyticsCollectionEnabled + GIDClientID 606541170752-1u2dcu9h35bn0v8949orj82ouhttb4jt.apps.googleusercontent.com INIntentsSupported @@ -54,11 +56,9 @@ UIApplicationSupportsIndirectInputEvents UILaunchStoryboardName - LaunchScreen + LaunchScreen.storyboard UIMainStoryboardFile Main - FirebaseCrashlyticsCollectionEnabled - UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/lib/style/app_page.dart b/lib/style/app_page.dart index af7b87a7..702e8cd9 100644 --- a/lib/style/app_page.dart +++ b/lib/style/app_page.dart @@ -36,6 +36,7 @@ class AppPage extends StatelessWidget { leading == null ? null : AppBar( + scrolledUnderElevation: 0.0, backgroundColor: backGroundColor, title: titleWidget ?? _title(context), actions: actions, diff --git a/lib/ui/shared/events/celebrations_event_card.dart b/lib/ui/shared/events/celebrations_event_card.dart index 6c8e1cf1..d799c1e5 100644 --- a/lib/ui/shared/events/celebrations_event_card.dart +++ b/lib/ui/shared/events/celebrations_event_card.dart @@ -8,7 +8,6 @@ import 'package:projectunity/data/core/utils/date_formatter.dart'; import 'package:projectunity/ui/shared/events/bloc/celebrations_bloc.dart'; import 'package:projectunity/ui/shared/events/bloc/celebrations_event.dart'; import 'package:projectunity/ui/shared/events/bloc/celebrations_state.dart'; -import 'package:projectunity/ui/widget/circular_progress_indicator.dart'; import 'package:projectunity/ui/widget/error_snack_bar.dart'; import 'package:projectunity/ui/widget/user_profile_image.dart'; @@ -24,67 +23,39 @@ class EventCard extends StatefulWidget { } class _EventCardState extends State { - bool expanded = false; - @override Widget build(BuildContext context) { return Column( children: [ Divider(color: context.colorScheme.outlineColor), - Material( - color: context.colorScheme.surface, - child: ExpansionTile( - onExpansionChanged: (value) { - setState(() { - expanded = !expanded; - }); + BlocConsumer( + builder: (context, state) { + if (state.status == Status.success) { + return Column( + children: [ + EventsList( + header: "🎂 ${context.l10n.birthdays_tag} 🎂 ", + events: state.birthdays, + expanded: state.showAllBdays, + isAnniversary: false, + ), + EventsList( + header: "🎊 ${context.l10n.work_anniversaries_tag} 🎊 ", + events: state.anniversaries, + expanded: state.showAllAnniversaries, + isAnniversary: true, + ) + ], + ); + } + return const SizedBox(); }, - shape: const Border(), - trailing: expanded - ? const Icon(Icons.arrow_drop_up) - : const Icon(Icons.arrow_drop_down), - iconColor: context.colorScheme.textPrimary, - collapsedIconColor: context.colorScheme.primary, - collapsedTextColor: context.colorScheme.primary, - textColor: context.colorScheme.textPrimary, - title: Text("${context.l10n.event_card_title} 🎉", - style: - AppTextStyle.style20.copyWith(fontWeight: FontWeight.w600)), - children: [ - BlocConsumer( - builder: (context, state) { - if (state.status == Status.loading) { - return const AppCircularProgressIndicator(); - } else if (state.status == Status.success) { - return Column( - children: [ - EventsList( - header: "🎂 ${context.l10n.birthdays_tag} 🎂 ", - events: state.birthdays, - expanded: state.showAllBdays, - isAnniversary: false, - ), - EventsList( - header: - "🎊 ${context.l10n.work_anniversaries_tag} 🎊 ", - events: state.anniversaries, - expanded: state.showAllAnniversaries, - isAnniversary: true, - ) - ], - ); - } - return const SizedBox(); - }, - listenWhen: (previous, current) => current.error != null, - listener: (context, state) { - if (state.error != null) { - showSnackBar(context: context, error: state.error); - } - }) - ], - ), - ), + listenWhen: (previous, current) => current.error != null, + listener: (context, state) { + if (state.error != null) { + showSnackBar(context: context, error: state.error); + } + }), Divider(color: context.colorScheme.outlineColor), ], ); @@ -114,11 +85,15 @@ class EventsList extends StatelessWidget { Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Text( - header, - style: AppTextStyle.style18.copyWith( - color: context.colorScheme.primary, - fontWeight: FontWeight.w700), + Expanded( + child: Text( + header, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: AppTextStyle.style20.copyWith( + color: context.colorScheme.primary, + fontWeight: FontWeight.w600), + ), ), Container( padding: const EdgeInsets.all(5), diff --git a/lib/ui/widget/leave_application_card.dart b/lib/ui/widget/leave_application_card.dart index be3f7637..4b49a4bd 100644 --- a/lib/ui/widget/leave_application_card.dart +++ b/lib/ui/widget/leave_application_card.dart @@ -40,7 +40,10 @@ class LeaveApplicationCard extends StatelessWidget { Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - LeaveStatusView(status: leaveApplication.leave.status), + LeaveStatusView( + status: leaveApplication.leave.status, + leaveType: leaveApplication.leave.type, + ), const SizedBox( height: 10, ), diff --git a/lib/ui/widget/leave_card_status_view.dart b/lib/ui/widget/leave_card_status_view.dart index ec4c2422..5cc96f64 100644 --- a/lib/ui/widget/leave_card_status_view.dart +++ b/lib/ui/widget/leave_card_status_view.dart @@ -7,10 +7,12 @@ class LeaveStatusView extends StatelessWidget { final double verticalPadding; final double horizontalPadding; final LeaveStatus status; + final LeaveType? leaveType; const LeaveStatusView( {super.key, required this.status, + this.leaveType, this.verticalPadding = 4, this.horizontalPadding = 10}); @@ -27,6 +29,22 @@ class LeaveStatusView extends StatelessWidget { style: AppTextStyle.style16 .copyWith(color: leaveStatusColor(status, context)), ), + if (leaveType != null) + const SizedBox( + width: 8, + ), + if (leaveType != null) + Container( + padding: const EdgeInsets.all(5), + decoration: BoxDecoration( + color: context.colorScheme.containerLow, + borderRadius: BorderRadius.circular(5)), + child: Text( + context.l10n + .leave_type_placeholder_text(leaveType!.value.toString()) + .split(" ")[0], + style: AppTextStyle.style12), + ) ], ); }