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 locale = ref.watch(userPreferencesProvider.select((s) => s.locale));
|
||||||
final accentMaterialColor =
|
final accentMaterialColor =
|
||||||
ref.watch(userPreferencesProvider.select((s) => s.accentColorScheme));
|
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 router = ref.watch(routerProvider);
|
||||||
final hasTouchSupport = useHasTouch();
|
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(
|
return ShadcnApp.router(
|
||||||
supportedLocales: L10n.all,
|
supportedLocales: L10n.all,
|
||||||
locale: locale.languageCode == "system" ? null : locale,
|
locale: locale.languageCode == "system" ? null : locale,
|
||||||
|
@ -79,14 +79,14 @@ class SettingsAppearanceSection extends HookConsumerWidget {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
ListTile(
|
// ListTile(
|
||||||
leading: const Icon(SpotubeIcons.amoled),
|
// leading: const Icon(SpotubeIcons.amoled),
|
||||||
title: Text(context.l10n.use_amoled_mode),
|
// title: Text(context.l10n.use_amoled_mode),
|
||||||
subtitle: Text(context.l10n.pitch_dark_theme),
|
// subtitle: Text(context.l10n.pitch_dark_theme),
|
||||||
trailing: Switch(
|
// trailing: Switch(
|
||||||
value: preferences.amoledDarkTheme,
|
// value: preferences.amoledDarkTheme,
|
||||||
onChanged: preferencesNotifier.setAmoledDarkTheme,
|
// onChanged: preferencesNotifier.setAmoledDarkTheme,
|
||||||
)),
|
// )),
|
||||||
ListTile(
|
ListTile(
|
||||||
leading: const Icon(SpotubeIcons.palette),
|
leading: const Icon(SpotubeIcons.palette),
|
||||||
title: Text(context.l10n.accent_color),
|
title: Text(context.l10n.accent_color),
|
||||||
@ -102,14 +102,14 @@ class SettingsAppearanceSection extends HookConsumerWidget {
|
|||||||
),
|
),
|
||||||
onTap: pickColorScheme(),
|
onTap: pickColorScheme(),
|
||||||
),
|
),
|
||||||
ListTile(
|
// ListTile(
|
||||||
leading: const Icon(SpotubeIcons.colorSync),
|
// leading: const Icon(SpotubeIcons.colorSync),
|
||||||
title: Text(context.l10n.sync_album_color),
|
// title: Text(context.l10n.sync_album_color),
|
||||||
subtitle: Text(context.l10n.sync_album_color_description),
|
// subtitle: Text(context.l10n.sync_album_color_description),
|
||||||
trailing: Switch(
|
// trailing: Switch(
|
||||||
value: preferences.albumColorSync,
|
// value: preferences.albumColorSync,
|
||||||
onChanged: preferencesNotifier.setAlbumColorSync,
|
// onChanged: preferencesNotifier.setAlbumColorSync,
|
||||||
)),
|
// )),
|
||||||
];
|
];
|
||||||
|
|
||||||
if (isGettingStarted) {
|
if (isGettingStarted) {
|
||||||
|
@ -1,15 +1,11 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
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/models/local_track.dart';
|
||||||
import 'package:spotube/provider/audio_player/audio_player.dart';
|
import 'package:spotube/provider/audio_player/audio_player.dart';
|
||||||
import 'package:spotube/provider/audio_player/state.dart';
|
import 'package:spotube/provider/audio_player/state.dart';
|
||||||
import 'package:spotube/provider/discord_provider.dart';
|
import 'package:spotube/provider/discord_provider.dart';
|
||||||
import 'package:spotube/provider/history/history.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/skip_segments/skip_segments.dart';
|
||||||
import 'package:spotube/provider/scrobbler/scrobbler.dart';
|
import 'package:spotube/provider/scrobbler/scrobbler.dart';
|
||||||
import 'package:spotube/provider/server/sourced_track.dart';
|
import 'package:spotube/provider/server/sourced_track.dart';
|
||||||
@ -48,36 +44,12 @@ class AudioPlayerStreamListeners {
|
|||||||
PlaybackHistoryActions get history =>
|
PlaybackHistoryActions get history =>
|
||||||
ref.read(playbackHistoryActionsProvider);
|
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() {
|
StreamSubscription subscribeToPlaylist() {
|
||||||
return audioPlayer.playlistStream.listen((mpvPlaylist) {
|
return audioPlayer.playlistStream.listen((mpvPlaylist) {
|
||||||
try {
|
try {
|
||||||
if (audioPlayerState.activeTrack == null) return;
|
if (audioPlayerState.activeTrack == null) return;
|
||||||
notificationService.addTrack(audioPlayerState.activeTrack!);
|
notificationService.addTrack(audioPlayerState.activeTrack!);
|
||||||
discord.updatePresence(audioPlayerState.activeTrack!);
|
discord.updatePresence(audioPlayerState.activeTrack!);
|
||||||
updatePalette();
|
|
||||||
} catch (e, stack) {
|
} catch (e, stack) {
|
||||||
AppLogger.reportError(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:spotify/spotify.dart';
|
||||||
import 'package:spotube/models/database/database.dart';
|
import 'package:spotube/models/database/database.dart';
|
||||||
import 'package:spotube/modules/settings/color_scheme_picker_dialog.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/database/database.dart';
|
||||||
import 'package:spotube/provider/palette_provider.dart';
|
|
||||||
import 'package:spotube/services/audio_player/audio_player.dart';
|
import 'package:spotube/services/audio_player/audio_player.dart';
|
||||||
import 'package:spotube/services/logger/logger.dart';
|
import 'package:spotube/services/logger/logger.dart';
|
||||||
import 'package:spotube/services/sourced_track/enums.dart';
|
import 'package:spotube/services/sourced_track/enums.dart';
|
||||||
@ -144,11 +142,11 @@ class UserPreferencesNotifier extends Notifier<PreferencesTableData> {
|
|||||||
void setAlbumColorSync(bool sync) {
|
void setAlbumColorSync(bool sync) {
|
||||||
setData(PreferencesTableCompanion(albumColorSync: Value(sync)));
|
setData(PreferencesTableCompanion(albumColorSync: Value(sync)));
|
||||||
|
|
||||||
if (!sync) {
|
// if (!sync) {
|
||||||
ref.read(paletteProvider.notifier).state = null;
|
// ref.read(paletteProvider.notifier).state = null;
|
||||||
} else {
|
// } else {
|
||||||
ref.read(audioPlayerStreamListenersProvider).updatePalette();
|
// ref.read(audioPlayerStreamListenersProvider).updatePalette();
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
void setCheckUpdate(bool check) {
|
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