Skip to content

Commit 6351e19

Browse files
committed
Restructure Settings
1 parent 9e3fce8 commit 6351e19

File tree

3 files changed

+74
-46
lines changed

3 files changed

+74
-46
lines changed

lib/settingsComponent/views/appearance_settings_view.dart

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import 'package:campus_flutter/base/enums/appearance.dart';
22
import 'package:campus_flutter/base/enums/user_preference.dart';
33
import 'package:campus_flutter/base/util/seperated_list.dart';
4-
import 'package:campus_flutter/calendarComponent/viewModels/calendar_viewmodel.dart';
5-
import 'package:campus_flutter/calendarComponent/views/calendars_view.dart';
64
import 'package:campus_flutter/studiesComponent/viewModel/grade_viewmodel.dart';
75
import 'package:campus_flutter/homeComponent/view/widget/widget_frame_view.dart';
86
import 'package:campus_flutter/main.dart';
@@ -11,7 +9,6 @@ import 'package:campus_flutter/settingsComponent/views/settings_view.dart';
119
import 'package:easy_localization/easy_localization.dart';
1210
import 'package:flutter/material.dart';
1311
import 'package:flutter_riverpod/flutter_riverpod.dart';
14-
import 'package:syncfusion_flutter_calendar/calendar.dart';
1512

1613
class AppearanceSettingsView extends ConsumerWidget {
1714
const AppearanceSettingsView({super.key});
@@ -26,8 +23,6 @@ class AppearanceSettingsView extends ConsumerWidget {
2623
_appearanceSelection(context, ref),
2724
_useWebView(context, ref),
2825
_hideFailedGrades(context, ref),
29-
_showWeekends(context, ref),
30-
_showHiddenCalendarEntries(context, ref),
3126
],
3227
),
3328
),
@@ -95,45 +90,4 @@ class AppearanceSettingsView extends ConsumerWidget {
9590
),
9691
);
9792
}
98-
99-
Widget _showWeekends(BuildContext context, WidgetRef ref) {
100-
return ListTile(
101-
dense: true,
102-
title: Text(
103-
context.tr("showWeekends"),
104-
style: Theme.of(context).textTheme.bodyMedium,
105-
),
106-
trailing: Switch(
107-
value: ref.watch(showWeekends),
108-
onChanged: (value) {
109-
ref.read(userPreferencesViewModel).savePreference(
110-
UserPreference.weekends,
111-
value,
112-
);
113-
calendarsKey.currentState?.weekController.view =
114-
value ? CalendarView.week : CalendarView.workWeek;
115-
},
116-
),
117-
);
118-
}
119-
120-
Widget _showHiddenCalendarEntries(BuildContext context, WidgetRef ref) {
121-
return ListTile(
122-
dense: true,
123-
title: Text(
124-
context.tr("showHiddenCalendarEntries"),
125-
style: Theme.of(context).textTheme.bodyMedium,
126-
),
127-
trailing: Switch(
128-
value: ref.watch(showHiddenCalendarEntries),
129-
onChanged: (value) {
130-
ref.read(userPreferencesViewModel).savePreference(
131-
UserPreference.hiddenCalendarEntries,
132-
value,
133-
);
134-
ref.read(calendarViewModel).fetch(false);
135-
},
136-
),
137-
);
138-
}
13993
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
import 'package:campus_flutter/base/enums/user_preference.dart';
2+
import 'package:campus_flutter/base/util/seperated_list.dart';
3+
import 'package:campus_flutter/calendarComponent/viewModels/calendar_viewmodel.dart';
4+
import 'package:campus_flutter/calendarComponent/views/calendars_view.dart';
5+
import 'package:campus_flutter/homeComponent/view/widget/widget_frame_view.dart';
6+
import 'package:campus_flutter/settingsComponent/viewModels/user_preferences_viewmodel.dart';
7+
import 'package:campus_flutter/settingsComponent/views/settings_view.dart';
8+
import 'package:easy_localization/easy_localization.dart';
9+
import 'package:flutter/material.dart';
10+
import 'package:flutter_riverpod/flutter_riverpod.dart';
11+
import 'package:syncfusion_flutter_calendar/calendar.dart';
12+
13+
class CalendarSettingsView extends ConsumerWidget {
14+
const CalendarSettingsView({super.key});
15+
16+
@override
17+
Widget build(BuildContext context, WidgetRef ref) {
18+
return WidgetFrameView(
19+
title: context.tr("calendar"),
20+
child: Card(
21+
child: SeparatedList.widgets(
22+
widgets: [
23+
_showWeekends(context, ref),
24+
_showHiddenCalendarEntries(context, ref),
25+
],
26+
),
27+
),
28+
);
29+
}
30+
31+
Widget _showWeekends(BuildContext context, WidgetRef ref) {
32+
return ListTile(
33+
dense: true,
34+
title: Text(
35+
context.tr("showWeekends"),
36+
style: Theme.of(context).textTheme.bodyMedium,
37+
),
38+
trailing: Switch(
39+
value: ref.watch(showWeekends),
40+
onChanged: (value) {
41+
ref.read(userPreferencesViewModel).savePreference(
42+
UserPreference.weekends,
43+
value,
44+
);
45+
calendarsKey.currentState?.weekController.view =
46+
value ? CalendarView.week : CalendarView.workWeek;
47+
},
48+
),
49+
);
50+
}
51+
52+
Widget _showHiddenCalendarEntries(BuildContext context, WidgetRef ref) {
53+
return ListTile(
54+
dense: true,
55+
title: Text(
56+
context.tr("showHiddenCalendarEntries"),
57+
style: Theme.of(context).textTheme.bodyMedium,
58+
),
59+
trailing: Switch(
60+
value: ref.watch(showHiddenCalendarEntries),
61+
onChanged: (value) {
62+
ref.read(userPreferencesViewModel).savePreference(
63+
UserPreference.hiddenCalendarEntries,
64+
value,
65+
);
66+
ref.read(calendarViewModel).fetch(false);
67+
},
68+
),
69+
);
70+
}
71+
}

lib/settingsComponent/views/settings_view.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import 'package:campus_flutter/base/util/padded_divider.dart';
44
import 'package:campus_flutter/homeComponent/view/widget/widget_frame_view.dart';
55
import 'package:campus_flutter/onboardingComponent/viewModels/onboarding_viewmodel.dart';
66
import 'package:campus_flutter/settingsComponent/views/appearance_settings_view.dart';
7+
import 'package:campus_flutter/settingsComponent/views/calendar_settings_view.dart';
78
import 'package:campus_flutter/settingsComponent/views/contact_view.dart';
89
import 'package:campus_flutter/settingsComponent/views/general_settings_view.dart';
910
import 'package:easy_localization/easy_localization.dart';
@@ -30,6 +31,7 @@ class SettingsView extends ConsumerWidget {
3031
children: [
3132
GeneralSettingsView(),
3233
AppearanceSettingsView(),
34+
CalendarSettingsView(),
3335
],
3436
),
3537
),
@@ -49,6 +51,7 @@ class SettingsView extends ConsumerWidget {
4951
children: [
5052
const GeneralSettingsView(),
5153
const AppearanceSettingsView(),
54+
const CalendarSettingsView(),
5255
const ContactView(),
5356
_resetButtons(context, ref),
5457
_versionNumberText(),

0 commit comments

Comments
 (0)