@@ -7,9 +7,14 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
77import 'package:unyo/application/cubits/settings_cubit.dart' ;
88import 'package:unyo/application/states/settings_state.dart' ;
99import 'package:unyo/core/di/locator.dart' ;
10+ import 'package:unyo/core/enums/episode_service.dart' ;
11+ import 'package:unyo/core/enums/service.dart' ;
1012import 'package:unyo/core/services/effects/app_effect_handler.dart' ;
1113import 'package:unyo/presentation/widgets/styled/unyo_settings_category.dart' ;
1214import 'package:unyo/presentation/widgets/styled/unyo_settings_selection_dialog.dart' ;
15+ import 'package:unyo/presentation/widgets/styled/unyo_settings_selection_dropdown.dart' ;
16+ import 'package:unyo/presentation/widgets/styled/unyo_settings_selection_slider.dart' ;
17+ import 'package:unyo/presentation/widgets/styled/unyo_settings_selection_toggle.dart' ;
1318import 'package:unyo/presentation/widgets/text/text_body_large.dart' ;
1419import 'package:unyo/presentation/widgets/text/text_headline_medium.dart' ;
1520
@@ -34,7 +39,9 @@ class _SettingsListener extends StatelessWidget {
3439 sl <AppEffectHandler >().handleEffects (
3540 context,
3641 state.effects,
37- context.read <SettingsCubit >().clearEffects,
42+ context
43+ .read <SettingsCubit >()
44+ .clearEffects,
3845 );
3946 }
4047 },
@@ -77,7 +84,9 @@ class _SettingsViewState extends State<_SettingsView> with TickerProviderStateMi
7784 TextHeadlineMedium (
7885 text: "Settings!" ,
7986 style: TextStyle (
80- color: ColorScheme .of (context).tertiary,
87+ color: ColorScheme
88+ .of (context)
89+ .tertiary,
8190 fontWeight: FontWeight .bold,
8291 ),
8392 ),
@@ -106,7 +115,7 @@ class _SettingsViewState extends State<_SettingsView> with TickerProviderStateMi
106115 UnyoSettingsCategory (
107116 title: "Accounts" ,
108117 description: "Manage your connected accounts" ,
109- icon: Icons .person_outline_rounded ,
118+ icon: Icons .person_rounded ,
110119 alignment: "top" ,
111120 childAlignment: "center" ,
112121 settingsOptions: [
@@ -152,17 +161,51 @@ class _SettingsViewState extends State<_SettingsView> with TickerProviderStateMi
152161 alignment: "" ,
153162 childAlignment: "" ,
154163 settingsOptions: [
164+ UnyoSettingsSelectionDropdown (
165+ title: "Media Metadata Service" ,
166+ description: "Select the Media Metadata service to use" ,
167+ icon: Icons .image_search_rounded,
168+ label: "Select a service" ,
169+ defaultValue: Service .anilist.name.substring (0 , 1 ).toUpperCase () + Service .anilist.name.substring (1 ),
170+ children: Service .values.map ((service) => service.name.substring (0 , 1 ).toUpperCase () + service.name.substring (1 )).toList (),
171+ onPressed: (value){ },
172+ ),
173+ UnyoSettingsSelectionDropdown (
174+ title: "Episode Metadata Service" ,
175+ description: "Select the Episode Metadata service to use" ,
176+ icon: Icons .movie_filter_rounded,
177+ label: "Select a service" ,
178+ defaultValue: EpisodeService .anizip.name.substring (0 , 1 ).toUpperCase () + Service .anilist.name.substring (1 ),
179+ children: EpisodeService .values.map ((service) => service.name.substring (0 , 1 ).toUpperCase () + service.name.substring (1 )).toList (),
180+ onPressed: (value){ },
181+ ),
182+ UnyoSettingsSelectionDropdown (
183+ title: "Language" ,
184+ description: "Select the application language" ,
185+ icon: Icons .language_rounded,
186+ label: "Select a language" ,
187+ defaultValue: "English" ,
188+ children: ["English" ],
189+ onPressed: (value){ },
190+ ),
155191 UnyoSettingsSelectionDialog (
156- title: "Media Metadata Service " ,
157- description: "Select the Media Metadata service to use " ,
158- icon: Icons .image_search_rounded ,
159- openDialog: (){}
192+ title: "Default Title Language " ,
193+ description: "Select the default title language " ,
194+ icon: Icons .text_fields_rounded ,
195+ openDialog: () {},
160196 ),
161197 UnyoSettingsSelectionDialog (
162- title: "Episode Metadata Service" ,
163- description: "Select the Episode Metadata service to use" ,
164- icon: Icons .movie_filter_rounded,
165- openDialog: (){}
198+ title: "Default Episode Title Language" ,
199+ description: "Select the default episode title language" ,
200+ icon: Icons .text_fields_rounded,
201+ openDialog: () {},
202+ ),
203+ UnyoSettingsSelectionToggle (
204+ title: "Discord RPC" ,
205+ description: "Enable or disable Discord Rich Presence" ,
206+ icon: Icons .discord_rounded,
207+ initiallySelected: true ,
208+ onPressed: (value) {},
166209 ),
167210 ],
168211 ),
@@ -180,7 +223,45 @@ class _SettingsViewState extends State<_SettingsView> with TickerProviderStateMi
180223 icon: Icons .play_arrow_rounded,
181224 alignment: "" ,
182225 childAlignment: "" ,
183- settingsOptions: [],
226+ settingsOptions: [
227+ UnyoSettingsSelectionToggle (
228+ title: "Skip opening automatically (when available)" ,
229+ description: "Automatically skip the opening of episodes" ,
230+ icon: Icons .skip_next_rounded,
231+ initiallySelected: false ,
232+ onPressed: (value) {},
233+ ),
234+ UnyoSettingsSelectionToggle (
235+ title: "Skip ending automatically (when available)" ,
236+ description: "Automatically skip the ending of episodes" ,
237+ icon: Icons .skip_previous_rounded,
238+ initiallySelected: false ,
239+ onPressed: (value) {},
240+ ),
241+ UnyoSettingsSelectionSlider (
242+ title: "Default manual skip time" ,
243+ description: "Set the default time for manual skips" ,
244+ icon: Icons .fast_forward_rounded,
245+ initialValue: 85 ,
246+ minValue: 60 ,
247+ maxValue: 120 ,
248+ onChanged: (value) {},
249+ ),
250+ UnyoSettingsSelectionToggle (
251+ title: "Enable auto-play next episode" ,
252+ description: "Automatically accept next episode pop-up when the current one ends" ,
253+ icon: Icons .navigate_next_rounded,
254+ initiallySelected: false ,
255+ onPressed: (value) {},
256+ ),
257+ UnyoSettingsSelectionToggle (
258+ title: "Enable OpenSubtitles.org integration (When available)" ,
259+ description: "Enable OpenSubtitles.org integration for automatic subtitle fetching" ,
260+ icon: Icons .subtitles_rounded,
261+ initiallySelected: false ,
262+ onPressed: (value) {},
263+ ),
264+ ],
184265 ),
185266 UnyoSettingsCategory (
186267 title: "Reader" ,
@@ -198,17 +279,17 @@ class _SettingsViewState extends State<_SettingsView> with TickerProviderStateMi
198279 childAlignment: "" ,
199280 settingsOptions: [
200281 UnyoSettingsSelectionDialog (
201- title: "Aniyomi Extensions Repository" ,
202- description: "Change the Aniyomi extensions repository URL" ,
203- icon: Icons .link_rounded,
204- openDialog: (){}
282+ title: "Aniyomi Extensions Repository" ,
283+ description: "Change the Aniyomi extensions repository URL" ,
284+ icon: Icons .link_rounded,
285+ openDialog: () {},
205286 ),
206287 UnyoSettingsSelectionDialog (
207- title: "Tachiyomi Extensions Repository" ,
208- description: "Change the Tachiyomi extensions repository URL" ,
209- icon: Icons .link_rounded,
210- openDialog: (){}
211- )
288+ title: "Tachiyomi Extensions Repository" ,
289+ description: "Change the Tachiyomi extensions repository URL" ,
290+ icon: Icons .link_rounded,
291+ openDialog: () {},
292+ ),
212293 ],
213294 ),
214295 UnyoSettingsCategory (
0 commit comments