- move keepScreenAwake from video to chat settings (store + UI) - mute section headers (lighter weight, smaller, reduced opacity) - add breathing room between app bar and first setting - improve labels across general, video, and chat settings - reorder store fields to logical grouping with organized reset Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
43 lines
1.7 KiB
Dart
43 lines
1.7 KiB
Dart
import 'package:flutter/material.dart';
|
|
// import removed: flutter_colorpicker
|
|
import 'package:flutter_mobx/flutter_mobx.dart';
|
|
import 'package:frosty/screens/settings/stores/settings_store.dart';
|
|
import 'package:frosty/screens/settings/widgets/settings_list_switch.dart';
|
|
import 'package:frosty/widgets/accent_color_setting.dart';
|
|
import 'package:frosty/widgets/external_browser_setting.dart';
|
|
// import removed: frosty/widgets/dialog.dart
|
|
import 'package:frosty/widgets/section_header.dart';
|
|
import 'package:frosty/widgets/settings_page_layout.dart';
|
|
import 'package:frosty/widgets/theme_selection_setting.dart';
|
|
|
|
class GeneralSettings extends StatelessWidget {
|
|
final SettingsStore settingsStore;
|
|
|
|
const GeneralSettings({super.key, required this.settingsStore});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Observer(
|
|
builder: (context) => SettingsPageLayout(
|
|
children: [
|
|
const SectionHeader('Theme', isFirst: true),
|
|
ThemeSelectionSetting(settingsStore: settingsStore),
|
|
AccentColorSetting(settingsStore: settingsStore),
|
|
const SectionHeader('Stream card'),
|
|
SettingsListSwitch(
|
|
title: 'Large stream cards',
|
|
value: settingsStore.largeStreamCard,
|
|
onChanged: (newValue) => settingsStore.largeStreamCard = newValue,
|
|
),
|
|
SettingsListSwitch(
|
|
title: 'Show thumbnails',
|
|
value: settingsStore.showThumbnails,
|
|
onChanged: (newValue) => settingsStore.showThumbnails = newValue,
|
|
),
|
|
const SectionHeader('Links'),
|
|
ExternalBrowserSetting(settingsStore: settingsStore),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
}
|