feature: Adds schemeVariants to color options (#109)

Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
PartyDonut 2024-11-03 08:59:35 +01:00 committed by GitHub
parent 98130f953e
commit 0b0cd3a557
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 143 additions and 16 deletions

View file

@ -20,6 +20,7 @@ import 'package:fladder/screens/settings/widgets/settings_label_divider.dart';
import 'package:fladder/screens/shared/default_alert_dialog.dart';
import 'package:fladder/screens/shared/input_fields.dart';
import 'package:fladder/util/adaptive_layout.dart';
import 'package:fladder/util/color_extensions.dart';
import 'package:fladder/util/custom_color_themes.dart';
import 'package:fladder/util/localization_helper.dart';
import 'package:fladder/util/option_dialogue.dart';
@ -428,6 +429,33 @@ class _ClientSettingsPageState extends ConsumerState<ClientSettingsPage> {
),
),
),
SettingsListTile(
label: Text(context.localized.clientSettingsSchemeVariantTitle),
subLabel: Text(clientSettings.schemeVariant.label(context)),
onTap: () => openOptionDialogue<DynamicSchemeVariant>(
context,
isNullable: false,
label: context.localized.themeColor,
items: DynamicSchemeVariant.values,
itemBuilder: (type) => Consumer(
builder: (context, ref, child) => ListTile(
title: Row(
children: [
Checkbox.adaptive(
value: type == ref.watch(clientSettingsProvider.select((value) => value.schemeVariant)),
onChanged: (value) => ref.read(clientSettingsProvider.notifier).setSchemeVariant(type),
),
const SizedBox(width: 8),
Text(type?.label(context) ?? ""),
],
),
contentPadding: EdgeInsets.zero,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)),
onTap: () => ref.read(clientSettingsProvider.notifier).setSchemeVariant(type),
),
),
),
),
SettingsListTile(
label: Text(context.localized.amoledBlack),
subLabel: Text(clientSettings.amoledBlack ? context.localized.enabled : context.localized.disabled),