Skip to content

Commit

Permalink
Move SendNotificationBase
Browse files Browse the repository at this point in the history
  • Loading branch information
Jonas-Sander committed Feb 27, 2024
1 parent 31818ec commit 765fe97
Show file tree
Hide file tree
Showing 9 changed files with 49 additions and 69 deletions.
1 change: 0 additions & 1 deletion app/lib/blackboard/blackboard_dialog.dart
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import 'package:sharezone/filesharing/dialog/attach_file.dart';
import 'package:sharezone/filesharing/dialog/course_tile.dart';
import 'package:sharezone/main/application_bloc.dart';
import 'package:sharezone/markdown/markdown_analytics.dart';
import 'package:sharezone/widgets/material/list_tile_with_description.dart';
import 'package:sharezone/widgets/material/save_button.dart';
import 'package:sharezone_common/api_errors.dart';
import 'package:sharezone_widgets/sharezone_widgets.dart';
Expand Down
33 changes: 2 additions & 31 deletions app/lib/homework/homework_dialog/homework_dialog.dart
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ import 'package:sharezone/main/constants.dart';
import 'package:sharezone/markdown/markdown_analytics.dart';
import 'package:sharezone/timetable/src/edit_time.dart';
import 'package:sharezone/util/next_lesson_calculator/next_lesson_calculator.dart';
import 'package:sharezone/widgets/material/list_tile_with_description.dart';
import 'package:sharezone/widgets/material/save_button.dart';
import 'package:sharezone_widgets/sharezone_widgets.dart';
import 'package:time/time.dart';
Expand Down Expand Up @@ -964,7 +963,8 @@ class _SendNotification extends StatelessWidget {
child: SafeArea(
top: false,
bottom: false,
child: _SendNotificationBase(
child: SendNotificationBase(
listTileKey: HwDialogKeys.notifyCourseMembersTile,
title:
"Kursmitglieder ${state.isEditing ? "über die Änderungen " : ""}benachrichtigen",
onChanged: (newValue) =>
Expand All @@ -979,35 +979,6 @@ class _SendNotification extends StatelessWidget {
}
}

class _SendNotificationBase extends StatelessWidget {
const _SendNotificationBase({
required this.title,
required this.sendNotification,
required this.onChanged,
this.description,
});

final String title;
final String? description;
final bool sendNotification;
final Function(bool) onChanged;

@override
Widget build(BuildContext context) {
return ListTileWithDescription(
key: HwDialogKeys.notifyCourseMembersTile,
leading: const Icon(Icons.notifications_active),
title: Text(title),
trailing: Switch.adaptive(
onChanged: onChanged,
value: sendNotification,
),
onTap: () => onChanged(!sendNotification),
description: description != null ? Text(description!) : null,
);
}
}

class _DescriptionField extends StatelessWidget {
const _DescriptionField({required this.state});

Expand Down
7 changes: 3 additions & 4 deletions app/lib/settings/src/subpages/my_profile/my_profile_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,20 @@ import 'package:crash_analytics/crash_analytics.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:helper_functions/helper_functions.dart';
import 'package:provider/provider.dart' as pv;
import 'package:sharezone/account/account_page.dart';
import 'package:sharezone/account/change_data_bloc.dart';
import 'package:sharezone/account/profile/user_edit/user_edit_page.dart';
import 'package:sharezone/activation_code/activation_code_page.dart';
import 'package:sharezone/main/application_bloc.dart';
import 'package:sharezone/account/change_data_bloc.dart';
import 'package:sharezone/navigation/drawer/sign_out_dialogs/sign_out_dialogs.dart';
import 'package:sharezone/navigation/drawer/sign_out_dialogs/src/sign_out_and_delete_anonymous_user.dart';
import 'package:sharezone/account/profile/user_edit/user_edit_page.dart';
import 'package:sharezone/settings/src/subpages/my_profile/change_email.dart';
import 'package:sharezone/settings/src/subpages/my_profile/change_password.dart';
import 'package:sharezone/settings/src/subpages/my_profile/change_state.dart';
import 'package:sharezone/settings/src/subpages/my_profile/my_profile_bloc.dart';
import 'package:sharezone/widgets/material/list_tile_with_description.dart';
import 'package:sharezone_common/api_errors.dart';
import 'package:helper_functions/helper_functions.dart';
import 'package:sharezone_widgets/sharezone_widgets.dart';
import 'package:streaming_shared_preferences/streaming_shared_preferences.dart';
import 'package:url_launcher_extended/url_launcher_extended.dart';
Expand Down
3 changes: 1 addition & 2 deletions app/lib/settings/src/subpages/notification.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,14 @@
import 'package:bloc_provider/bloc_provider.dart';
import 'package:flutter/material.dart' hide TimePickerEntryMode;
import 'package:interval_time_picker/interval_time_picker.dart';
import 'package:platform_check/platform_check.dart';
import 'package:provider/provider.dart';
import 'package:sharezone/notifications/notifications_bloc.dart';
import 'package:sharezone/notifications/notifications_bloc_factory.dart';
import 'package:sharezone/sharezone_plus/page/sharezone_plus_page.dart';
import 'package:sharezone/sharezone_plus/subscription_service/subscription_service.dart';
import 'package:sharezone/timetable/src/edit_time.dart';
import 'package:sharezone/widgets/matching_type_of_user_builder.dart';
import 'package:sharezone/widgets/material/list_tile_with_description.dart';
import 'package:platform_check/platform_check.dart';
import 'package:sharezone_widgets/sharezone_widgets.dart';
import 'package:time/time.dart';
import 'package:user/user.dart';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import 'package:sharezone/filesharing/dialog/course_tile.dart';
import 'package:sharezone/homework/homework_dialog/homework_dialog.dart';
import 'package:sharezone/main/application_bloc.dart';
import 'package:sharezone/markdown/markdown_analytics.dart';
import 'package:sharezone/widgets/material/list_tile_with_description.dart';
import 'package:sharezone/widgets/material/save_button.dart';
import 'package:sharezone_widgets/sharezone_widgets.dart';
import 'package:time/time.dart';
Expand Down Expand Up @@ -590,7 +589,8 @@ class _SendNotification extends StatelessWidget {
child: SafeArea(
top: false,
bottom: false,
child: _SendNotificationBase(
child: SendNotificationBase(
switchKey: EventDialogKeys.notifyCourseMembersSwitch,
title: "Kursmitglieder benachrichtigen",
onChanged: (newValue) {
controller.notifyCourseMembers = newValue;
Expand All @@ -604,35 +604,6 @@ class _SendNotification extends StatelessWidget {
}
}

class _SendNotificationBase extends StatelessWidget {
const _SendNotificationBase({
required this.title,
required this.sendNotification,
required this.onChanged,
this.description,
});

final String title;
final String? description;
final bool sendNotification;
final Function(bool) onChanged;

@override
Widget build(BuildContext context) {
return ListTileWithDescription(
leading: const Icon(Icons.notifications_active),
title: Text(title),
trailing: Switch.adaptive(
key: EventDialogKeys.notifyCourseMembersSwitch,
onChanged: onChanged,
value: sendNotification,
),
onTap: () => onChanged(!sendNotification),
description: description != null ? Text(description!) : null,
);
}
}

class EventDialogKeys {
static const Key saveButton = Key("save-button");
static const Key titleTextField = Key("title-field");
Expand Down
3 changes: 3 additions & 0 deletions lib/sharezone_widgets/lib/sharezone_widgets.dart
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ export 'src/dimensions.dart';
// form
export 'src/form.dart';

// list_tile_with_description
export 'src/list_tile_with_description.dart';

// placeholder
export 'src/placeholder.dart';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export 'course_tile_base.dart';
export 'description_field_base.dart';
export 'markdown_support.dart';
export 'send_notification_base.dart';
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import 'package:flutter/material.dart';
import 'package:sharezone_widgets/sharezone_widgets.dart';

class SendNotificationBase extends StatelessWidget {
const SendNotificationBase({
super.key,
required this.title,
required this.sendNotification,
required this.onChanged,
this.listTileKey,
this.switchKey,
this.description,
});

final String title;
final String? description;
final bool sendNotification;
final Function(bool) onChanged;
final Key? listTileKey;
final Key? switchKey;

@override
Widget build(BuildContext context) {
return ListTileWithDescription(
key: listTileKey,
leading: const Icon(Icons.notifications_active),
title: Text(title),
trailing: Switch.adaptive(
key: switchKey,
onChanged: onChanged,
value: sendNotification,
),
onTap: () => onChanged(!sendNotification),
description: description != null ? Text(description!) : null,
);
}
}

0 comments on commit 765fe97

Please sign in to comment.