mangayomi/lib/views/more/settings/appearance/dark_mode_button.dart
2023-04-11 10:49:28 +01:00

39 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:mangayomi/views/more/settings/appearance/providers/theme_mode_state_provider.dart';
// import 'package:rive/rive.dart';
class DarkModeButton extends ConsumerStatefulWidget {
const DarkModeButton({
super.key,
});
@override
ConsumerState<DarkModeButton> createState() => _DarkModeButtonState();
}
class _DarkModeButtonState extends ConsumerState<DarkModeButton> {
@override
Widget build(BuildContext context) {
bool isLight = ref.watch(themeModeStateProvider);
return ListTile(
onTap: () {
if (!isLight == true) {
ref.read(themeModeStateProvider.notifier).setLightTheme();
} else {
ref.read(themeModeStateProvider.notifier).setDarkTheme();
}
},
title: const Text("Theme mode"),
subtitle: Text(ref.watch(themeModeStateProvider) ? 'Light' : 'Dark'),
trailing: Switch(
value: !isLight,
onChanged: (dd) {
if (!isLight == true) {
ref.read(themeModeStateProvider.notifier).setLightTheme();
} else {
ref.read(themeModeStateProvider.notifier).setDarkTheme();
}
}));
}
}