✨ Audio normalize
This commit is contained in:
		| @@ -2,8 +2,10 @@ import 'package:flutter/material.dart'; | ||||
| import 'package:get/get.dart'; | ||||
| import 'package:rhythm_box/providers/auth.dart'; | ||||
| import 'package:rhythm_box/providers/spotify.dart'; | ||||
| import 'package:rhythm_box/providers/user_preferences.dart'; | ||||
| import 'package:rhythm_box/screens/auth/login.dart'; | ||||
| import 'package:rhythm_box/widgets/auto_cache_image.dart'; | ||||
| import 'package:rhythm_box/widgets/sized_container.dart'; | ||||
|  | ||||
| class SettingsScreen extends StatefulWidget { | ||||
|   const SettingsScreen({super.key}); | ||||
| @@ -15,6 +17,7 @@ class SettingsScreen extends StatefulWidget { | ||||
| class _SettingsScreenState extends State<SettingsScreen> { | ||||
|   late final SpotifyProvider _spotify = Get.find(); | ||||
|   late final AuthenticationProvider _authenticate = Get.find(); | ||||
|   late final UserPreferencesProvider _preferences = Get.find(); | ||||
|  | ||||
|   bool _isLoggingIn = false; | ||||
|  | ||||
| @@ -22,7 +25,12 @@ class _SettingsScreenState extends State<SettingsScreen> { | ||||
|   Widget build(BuildContext context) { | ||||
|     return Material( | ||||
|       color: Theme.of(context).colorScheme.surface, | ||||
|       child: SafeArea( | ||||
|       child: Scaffold( | ||||
|         appBar: AppBar( | ||||
|           title: const Text('Settings'), | ||||
|           centerTitle: MediaQuery.of(context).size.width >= 720, | ||||
|         ), | ||||
|         body: CenteredContainer( | ||||
|           child: Column( | ||||
|             children: [ | ||||
|               Obx(() { | ||||
| @@ -31,7 +39,8 @@ class _SettingsScreenState extends State<SettingsScreen> { | ||||
|                     contentPadding: const EdgeInsets.symmetric(horizontal: 24), | ||||
|                     leading: const Icon(Icons.login), | ||||
|                     title: const Text('Connect with Spotify'), | ||||
|                   subtitle: const Text('To explore your own library and more'), | ||||
|                     subtitle: | ||||
|                         const Text('To explore your own library and more'), | ||||
|                     trailing: const Icon(Icons.chevron_right), | ||||
|                     enabled: !_isLoggingIn, | ||||
|                     onTap: () async { | ||||
| @@ -90,9 +99,22 @@ class _SettingsScreenState extends State<SettingsScreen> { | ||||
|                   }, | ||||
|                 ); | ||||
|               }), | ||||
|               const Divider(thickness: 0.3, height: 1), | ||||
|               Obx( | ||||
|                 () => SwitchListTile( | ||||
|                   contentPadding: const EdgeInsets.symmetric(horizontal: 24), | ||||
|                   secondary: const Icon(Icons.graphic_eq), | ||||
|                   title: const Text('Normalize Audio'), | ||||
|                   subtitle: | ||||
|                       const Text('Make audio not too loud either too quiet'), | ||||
|                   value: _preferences.state.value.normalizeAudio, | ||||
|                   onChanged: _preferences.setNormalizeAudio, | ||||
|                 ), | ||||
|               ), | ||||
|             ], | ||||
|           ), | ||||
|         ), | ||||
|       ), | ||||
|     ); | ||||
|   } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user