From 8dad7c33499ebc95fd76091e3fe5e41c018efa2c Mon Sep 17 00:00:00 2001 From: Johannes Vedder Date: Fri, 14 Jun 2024 09:26:15 +0200 Subject: [PATCH] chore: Merge origin/dev --- core/lib/src/models/tables/study.dart | 7 +++-- core/lib/src/models/tables/study_subject.dart | 4 ++- .../lib/common_views/action_popup_menu.dart | 26 +++++++++---------- .../features/recruit/study_recruit_page.dart | 9 +++---- .../features/study/study_status_badge.dart | 1 - .../lib/repositories/study_repository.dart | 25 +++++++++++++----- designer_v2/lib/services/notifications.dart | 2 +- 7 files changed, 44 insertions(+), 30 deletions(-) diff --git a/core/lib/src/models/tables/study.dart b/core/lib/src/models/tables/study.dart index 3f5183a99..c7ba9cd53 100644 --- a/core/lib/src/models/tables/study.dart +++ b/core/lib/src/models/tables/study.dart @@ -241,8 +241,11 @@ class Study extends SupabaseObjectFunctions static Future> publishedPublicStudies() async { ExtractionResult result; try { - final response = - await env.client.from(tableName).select().eq('participation', 'open').eq("is_closed", false); + final response = await env.client + .from(tableName) + .select() + .eq('participation', 'open') + .eq("is_closed", false); final extracted = SupabaseQuery.extractSupabaseList( List>.from(response), ); diff --git a/core/lib/src/models/tables/study_subject.dart b/core/lib/src/models/tables/study_subject.dart index 9e90e86f9..5fe742721 100644 --- a/core/lib/src/models/tables/study_subject.dart +++ b/core/lib/src/models/tables/study_subject.dart @@ -298,7 +298,9 @@ class StudySubject extends SupabaseObjectFunctions { Future save({bool onlyUpdate = false}) async { try { final tableQuery = env.client.from(tableName); - final query = onlyUpdate ? tableQuery.update(toJson()).eq("id", id) : tableQuery.upsert(toJson()); + final query = onlyUpdate + ? tableQuery.update(toJson()).eq("id", id) + : tableQuery.upsert(toJson()); final response = await query.select(); final json = toFullJson( partialJson: List>.from(response).single, diff --git a/designer_v2/lib/common_views/action_popup_menu.dart b/designer_v2/lib/common_views/action_popup_menu.dart index 7f1aa602a..ec0f59e77 100644 --- a/designer_v2/lib/common_views/action_popup_menu.dart +++ b/designer_v2/lib/common_views/action_popup_menu.dart @@ -86,15 +86,15 @@ class ActionPopUpMenuButton extends StatelessWidget { itemBuilder: (BuildContext context) { final textTheme = theme.textTheme.labelMedium!; final List popupList = []; - for (final action in actions) { - if (action.isSeparator) { - popupList.add(const PopupMenuDivider()); - continue; - } - popupList.add(PopupMenuItem( - value: action, - child: ListTile( - contentPadding: const EdgeInsets.symmetric(horizontal: 8.0), + for (final action in actions) { + if (action.isSeparator) { + popupList.add(const PopupMenuDivider()); + continue; + } + popupList.add(PopupMenuItem( + value: action, + child: ListTile( + contentPadding: const EdgeInsets.symmetric(horizontal: 8.0), horizontalTitleGap: 4.0, leading: (action.icon == null) ? const SizedBox.shrink() @@ -111,10 +111,10 @@ class ActionPopUpMenuButton extends StatelessWidget { ) : Text(action.label, style: textTheme), ), - )); - continue; - } - return popupList; + ),); + continue; + } + return popupList; }, ); } diff --git a/designer_v2/lib/features/recruit/study_recruit_page.dart b/designer_v2/lib/features/recruit/study_recruit_page.dart index c76a34fd8..c577a59df 100644 --- a/designer_v2/lib/features/recruit/study_recruit_page.dart +++ b/designer_v2/lib/features/recruit/study_recruit_page.dart @@ -65,7 +65,6 @@ class StudyRecruitScreen extends StudyPageWidget { return BannerBox( noPrefix: true, body: Column( - mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ TextParagraph( @@ -75,8 +74,8 @@ class StudyRecruitScreen extends StudyPageWidget { TextParagraph( text: tr.banner_study_closed_description, ), - ]), - style: BannerStyle.info); + ],), + style: BannerStyle.info,); } return null; @@ -106,12 +105,12 @@ class StudyRecruitScreen extends StudyPageWidget { ? null : () { final formViewModel = - ref.read(inviteCodeFormViewModelProvider(studyId)); + ref.read(inviteCodeFormViewModelProvider(studyId)); showFormSideSheet( context: context, formViewModel: formViewModel, formViewBuilder: (formViewModel) => - InviteCodeFormView(formViewModel: formViewModel), + InviteCodeFormView(formViewModel: formViewModel), ); }, ); diff --git a/designer_v2/lib/features/study/study_status_badge.dart b/designer_v2/lib/features/study/study_status_badge.dart index 97bd1e34e..b2418c4fa 100644 --- a/designer_v2/lib/features/study/study_status_badge.dart +++ b/designer_v2/lib/features/study/study_status_badge.dart @@ -32,7 +32,6 @@ class StudyStatusBadge extends StatelessWidget { final tooltipMessage = '${status?.description ?? ''}\n${(status == StudyStatus.closed ? null : participation?.description) ?? ''}' - .trim(); Widget inTooltip(Widget child) { diff --git a/designer_v2/lib/repositories/study_repository.dart b/designer_v2/lib/repositories/study_repository.dart index 8b6189bfe..84b1bbd62 100644 --- a/designer_v2/lib/repositories/study_repository.dart +++ b/designer_v2/lib/repositories/study_repository.dart @@ -123,9 +123,14 @@ class StudyRepository extends ModelRepository Future onCloseCallback() { model.isClosed = true; - return save(model).then((value) => ref.read(routerProvider).dispatch(RoutingIntents.studies)).then((value) => - Future.delayed(const Duration(milliseconds: 200), - () => ref.read(notificationServiceProvider).show(Notifications.studyClosed))); + return save(model) + .then((value) => + ref.read(routerProvider).dispatch(RoutingIntents.studies),) + .then((value) => Future.delayed( + const Duration(milliseconds: 200), + () => ref + .read(notificationServiceProvider) + .show(Notifications.studyClosed),),); } final currentUser = authRepository.currentUser; @@ -190,11 +195,17 @@ class StudyRepository extends ModelRepository type: StudyActionType.close, label: StudyActionType.close.string, onExecute: () { - return ref.read(notificationServiceProvider).show(Notifications.studyCloseConfirmation, actions: [ - NotificationAction(label: StudyActionType.close.string, onSelect: onCloseCallback, isDestructive: true), - ]); + return ref + .read(notificationServiceProvider) + .show(Notifications.studyCloseConfirmation, actions: [ + NotificationAction( + label: StudyActionType.close.string, + onSelect: onCloseCallback, + isDestructive: true,), + ],); }, - isAvailable: model.canClose(currentUser) && model.status == StudyStatus.running, + isAvailable: + model.canClose(currentUser) && model.status == StudyStatus.running, ), ModelAction( type: StudyActionType.delete, diff --git a/designer_v2/lib/services/notifications.dart b/designer_v2/lib/services/notifications.dart index 780540b32..6a6bcbd9f 100644 --- a/designer_v2/lib/services/notifications.dart +++ b/designer_v2/lib/services/notifications.dart @@ -38,7 +38,7 @@ class Notifications { title: tr.dialog_study_close_title, message: tr.dialog_study_close_description, icon: MdiIcons.accountLock, - actions: [NotificationDefaultActions.cancel]); + actions: [NotificationDefaultActions.cancel],); } class NotificationDefaultActions {