mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 07:55:18 +00:00
chore: remove obsolete appearance customization
This commit is contained in:
parent
42158a99ff
commit
ada0ca1472
@ -133,10 +133,6 @@ class Spotube extends HookConsumerWidget {
|
||||
final locale = ref.watch(userPreferencesProvider.select((s) => s.locale));
|
||||
final accentMaterialColor =
|
||||
ref.watch(userPreferencesProvider.select((s) => s.accentColorScheme));
|
||||
// final isAmoledTheme =
|
||||
// ref.watch(userPreferencesProvider.select((s) => s.amoledDarkTheme));
|
||||
// final paletteColor =
|
||||
// ref.watch(paletteProvider.select((s) => s?.dominantColor?.color));
|
||||
final router = ref.watch(routerProvider);
|
||||
final hasTouchSupport = useHasTouch();
|
||||
|
||||
@ -166,19 +162,6 @@ class Spotube extends HookConsumerWidget {
|
||||
};
|
||||
}, []);
|
||||
|
||||
// final lightTheme = useMemoized(
|
||||
// () => theme(paletteColor ?? accentMaterialColor, Brightness.light, false),
|
||||
// [paletteColor, accentMaterialColor],
|
||||
// );
|
||||
// final darkTheme = useMemoized(
|
||||
// () => theme(
|
||||
// paletteColor ?? accentMaterialColor,
|
||||
// Brightness.dark,
|
||||
// isAmoledTheme,
|
||||
// ),
|
||||
// [paletteColor, accentMaterialColor, isAmoledTheme],
|
||||
// );
|
||||
|
||||
return ShadcnApp.router(
|
||||
supportedLocales: L10n.all,
|
||||
locale: locale.languageCode == "system" ? null : locale,
|
||||
|
@ -79,14 +79,14 @@ class SettingsAppearanceSection extends HookConsumerWidget {
|
||||
}
|
||||
},
|
||||
),
|
||||
ListTile(
|
||||
leading: const Icon(SpotubeIcons.amoled),
|
||||
title: Text(context.l10n.use_amoled_mode),
|
||||
subtitle: Text(context.l10n.pitch_dark_theme),
|
||||
trailing: Switch(
|
||||
value: preferences.amoledDarkTheme,
|
||||
onChanged: preferencesNotifier.setAmoledDarkTheme,
|
||||
)),
|
||||
// ListTile(
|
||||
// leading: const Icon(SpotubeIcons.amoled),
|
||||
// title: Text(context.l10n.use_amoled_mode),
|
||||
// subtitle: Text(context.l10n.pitch_dark_theme),
|
||||
// trailing: Switch(
|
||||
// value: preferences.amoledDarkTheme,
|
||||
// onChanged: preferencesNotifier.setAmoledDarkTheme,
|
||||
// )),
|
||||
ListTile(
|
||||
leading: const Icon(SpotubeIcons.palette),
|
||||
title: Text(context.l10n.accent_color),
|
||||
@ -102,14 +102,14 @@ class SettingsAppearanceSection extends HookConsumerWidget {
|
||||
),
|
||||
onTap: pickColorScheme(),
|
||||
),
|
||||
ListTile(
|
||||
leading: const Icon(SpotubeIcons.colorSync),
|
||||
title: Text(context.l10n.sync_album_color),
|
||||
subtitle: Text(context.l10n.sync_album_color_description),
|
||||
trailing: Switch(
|
||||
value: preferences.albumColorSync,
|
||||
onChanged: preferencesNotifier.setAlbumColorSync,
|
||||
)),
|
||||
// ListTile(
|
||||
// leading: const Icon(SpotubeIcons.colorSync),
|
||||
// title: Text(context.l10n.sync_album_color),
|
||||
// subtitle: Text(context.l10n.sync_album_color_description),
|
||||
// trailing: Switch(
|
||||
// value: preferences.albumColorSync,
|
||||
// onChanged: preferencesNotifier.setAlbumColorSync,
|
||||
// )),
|
||||
];
|
||||
|
||||
if (isGettingStarted) {
|
||||
|
@ -1,15 +1,11 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:palette_generator/palette_generator.dart';
|
||||
import 'package:spotube/components/image/universal_image.dart';
|
||||
import 'package:spotube/extensions/image.dart';
|
||||
import 'package:spotube/models/local_track.dart';
|
||||
import 'package:spotube/provider/audio_player/audio_player.dart';
|
||||
import 'package:spotube/provider/audio_player/state.dart';
|
||||
import 'package:spotube/provider/discord_provider.dart';
|
||||
import 'package:spotube/provider/history/history.dart';
|
||||
import 'package:spotube/provider/palette_provider.dart';
|
||||
import 'package:spotube/provider/skip_segments/skip_segments.dart';
|
||||
import 'package:spotube/provider/scrobbler/scrobbler.dart';
|
||||
import 'package:spotube/provider/server/sourced_track.dart';
|
||||
@ -48,36 +44,12 @@ class AudioPlayerStreamListeners {
|
||||
PlaybackHistoryActions get history =>
|
||||
ref.read(playbackHistoryActionsProvider);
|
||||
|
||||
Future<void> updatePalette() async {
|
||||
final palette = ref.read(paletteProvider);
|
||||
if (!preferences.albumColorSync) {
|
||||
if (palette != null) ref.read(paletteProvider.notifier).state = null;
|
||||
return;
|
||||
}
|
||||
return Future.microtask(() async {
|
||||
final activeTrack = ref.read(audioPlayerProvider).activeTrack;
|
||||
if (activeTrack == null) return;
|
||||
|
||||
final palette = await PaletteGenerator.fromImageProvider(
|
||||
UniversalImage.imageProvider(
|
||||
(activeTrack.album?.images).asUrlString(
|
||||
placeholder: ImagePlaceholder.albumArt,
|
||||
),
|
||||
height: 50,
|
||||
width: 50,
|
||||
),
|
||||
);
|
||||
ref.read(paletteProvider.notifier).state = palette;
|
||||
});
|
||||
}
|
||||
|
||||
StreamSubscription subscribeToPlaylist() {
|
||||
return audioPlayer.playlistStream.listen((mpvPlaylist) {
|
||||
try {
|
||||
if (audioPlayerState.activeTrack == null) return;
|
||||
notificationService.addTrack(audioPlayerState.activeTrack!);
|
||||
discord.updatePresence(audioPlayerState.activeTrack!);
|
||||
updatePalette();
|
||||
} catch (e, stack) {
|
||||
AppLogger.reportError(e, stack);
|
||||
}
|
||||
|
@ -1,4 +0,0 @@
|
||||
import 'package:palette_generator/palette_generator.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
final paletteProvider = StateProvider<PaletteGenerator?>((ref) => null);
|
@ -7,9 +7,7 @@ import 'package:shadcn_flutter/shadcn_flutter.dart' hide join;
|
||||
import 'package:spotify/spotify.dart';
|
||||
import 'package:spotube/models/database/database.dart';
|
||||
import 'package:spotube/modules/settings/color_scheme_picker_dialog.dart';
|
||||
import 'package:spotube/provider/audio_player/audio_player_streams.dart';
|
||||
import 'package:spotube/provider/database/database.dart';
|
||||
import 'package:spotube/provider/palette_provider.dart';
|
||||
import 'package:spotube/services/audio_player/audio_player.dart';
|
||||
import 'package:spotube/services/logger/logger.dart';
|
||||
import 'package:spotube/services/sourced_track/enums.dart';
|
||||
@ -144,11 +142,11 @@ class UserPreferencesNotifier extends Notifier<PreferencesTableData> {
|
||||
void setAlbumColorSync(bool sync) {
|
||||
setData(PreferencesTableCompanion(albumColorSync: Value(sync)));
|
||||
|
||||
if (!sync) {
|
||||
ref.read(paletteProvider.notifier).state = null;
|
||||
} else {
|
||||
ref.read(audioPlayerStreamListenersProvider).updatePalette();
|
||||
}
|
||||
// if (!sync) {
|
||||
// ref.read(paletteProvider.notifier).state = null;
|
||||
// } else {
|
||||
// ref.read(audioPlayerStreamListenersProvider).updatePalette();
|
||||
// }
|
||||
}
|
||||
|
||||
void setCheckUpdate(bool check) {
|
||||
|
@ -1,86 +0,0 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
ThemeData theme(Color seed, Brightness brightness, bool isAmoled) {
|
||||
final scheme = ColorScheme.fromSeed(
|
||||
seedColor: seed,
|
||||
shadow: Colors.black12,
|
||||
surface: isAmoled ? Colors.black : null,
|
||||
brightness: brightness,
|
||||
);
|
||||
return ThemeData(
|
||||
useMaterial3: true,
|
||||
colorScheme: scheme,
|
||||
listTileTheme: ListTileThemeData(
|
||||
horizontalTitleGap: 5,
|
||||
iconColor: scheme.onSurface,
|
||||
),
|
||||
appBarTheme: const AppBarTheme(
|
||||
surfaceTintColor: Colors.transparent,
|
||||
scrolledUnderElevation: 0,
|
||||
shadowColor: Colors.transparent,
|
||||
elevation: 0,
|
||||
),
|
||||
inputDecorationTheme: InputDecorationTheme(
|
||||
border: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(15),
|
||||
),
|
||||
),
|
||||
iconTheme: IconThemeData(size: 16, color: scheme.onSurface),
|
||||
navigationBarTheme: const NavigationBarThemeData(
|
||||
labelBehavior: NavigationDestinationLabelBehavior.alwaysHide,
|
||||
height: 50,
|
||||
iconTheme: WidgetStatePropertyAll(
|
||||
IconThemeData(size: 18),
|
||||
),
|
||||
),
|
||||
tabBarTheme: TabBarTheme(
|
||||
indicatorSize: TabBarIndicatorSize.tab,
|
||||
labelStyle: const TextStyle(fontWeight: FontWeight.w600),
|
||||
labelColor: scheme.primary,
|
||||
dividerColor: Colors.transparent,
|
||||
indicator: BoxDecoration(
|
||||
color: scheme.secondaryContainer,
|
||||
borderRadius: BorderRadius.circular(15),
|
||||
),
|
||||
),
|
||||
popupMenuTheme: PopupMenuThemeData(
|
||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15)),
|
||||
color: scheme.surface,
|
||||
elevation: 4,
|
||||
labelTextStyle: WidgetStatePropertyAll(
|
||||
TextStyle(color: scheme.onSurface),
|
||||
),
|
||||
),
|
||||
snackBarTheme: SnackBarThemeData(
|
||||
behavior: SnackBarBehavior.floating,
|
||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15)),
|
||||
backgroundColor: scheme.onSurface,
|
||||
contentTextStyle: TextStyle(color: scheme.surface),
|
||||
),
|
||||
sliderTheme: SliderThemeData(overlayShape: SliderComponentShape.noOverlay),
|
||||
searchBarTheme: SearchBarThemeData(
|
||||
textStyle: const WidgetStatePropertyAll(TextStyle(fontSize: 15)),
|
||||
constraints: const BoxConstraints(maxWidth: double.infinity),
|
||||
padding: const WidgetStatePropertyAll(EdgeInsets.all(8)),
|
||||
backgroundColor: WidgetStatePropertyAll(
|
||||
Color.lerp(
|
||||
scheme.surfaceContainerHighest,
|
||||
scheme.surface,
|
||||
brightness == Brightness.light ? .9 : .7,
|
||||
),
|
||||
),
|
||||
elevation: const WidgetStatePropertyAll(0),
|
||||
shape: WidgetStatePropertyAll(
|
||||
RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
),
|
||||
),
|
||||
),
|
||||
scrollbarTheme: const ScrollbarThemeData(
|
||||
thickness: WidgetStatePropertyAll(14),
|
||||
),
|
||||
checkboxTheme: CheckboxThemeData(
|
||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)),
|
||||
),
|
||||
);
|
||||
}
|
Loading…
Reference in New Issue
Block a user