Skip to content

Commit 04cd9da

Browse files
committed
Inline the Config GUI widget into its sole parent
1 parent 5749675 commit 04cd9da

6 files changed

Lines changed: 24 additions & 32 deletions

File tree

build.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ targets:
1515
generate_for:
1616
- lib/project_configs_provider.dart
1717
- lib/project_view/configs/models/*.dart
18-
- lib/project_view/configs/config_gui.dart
18+
- lib/project_view/configs/advanced_mode_toggle.dart

lib/project_view/configs/config_gui.dart renamed to lib/project_view/configs/advanced_mode_toggle.dart

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ import "package:flutter_riverpod/flutter_riverpod.dart";
33
import "package:freezed_annotation/freezed_annotation.dart";
44

55
import "../../project_configs_provider.dart";
6-
import "advanced_editor.dart";
76
import "models/base.dart";
8-
import "views/base.dart";
97

10-
part "config_gui.freezed.dart";
8+
part "advanced_mode_toggle.freezed.dart";
119

1210
@freezed
1311
sealed class AdvancedMode with _$AdvancedMode {
@@ -44,26 +42,6 @@ class AdvancedModeNotifier extends Notifier<AdvancedMode> {
4442
}
4543
}
4644

47-
class ConfigGUI extends ConsumerWidget {
48-
const ConfigGUI({super.key});
49-
50-
@override
51-
Widget build(BuildContext context, WidgetRef ref) {
52-
final ConfigFile openConfig = ref.watch(openConfigProvider)!;
53-
final AdvancedMode advancedMode = ref.watch(advancedModeProvider);
54-
55-
return Stack(
56-
children: [
57-
advancedMode.when(
58-
data: (val) => val ? AdvancedEditor(openConfig) : BaseConfigView(openConfig),
59-
loading: () => const Center(child: CircularProgressIndicator()),
60-
),
61-
const AdvancedModeToggle(),
62-
],
63-
);
64-
}
65-
}
66-
6745
// I don't want these for providers; too long
6846
// ignore: specify_nonobvious_property_types
6947
final advancedModeProvider = NotifierProvider(AdvancedModeNotifier.new);

lib/project_view/configs/config_gui.freezed.dart renamed to lib/project_view/configs/advanced_mode_toggle.freezed.dart

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/project_view/configs/views/base.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import "package:flutter_riverpod/flutter_riverpod.dart";
88

99
import "../../../main_menu/settings/setting_heading.dart";
1010
import "../../../utils.dart";
11-
import "../config_gui.dart";
11+
import "../advanced_mode_toggle.dart";
1212
import "../models/base.dart";
1313
import "../models/core.dart";
1414
import "../models/map.dart";

lib/project_view/project_view.dart

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@ import "package:flutter/material.dart";
22
import "package:flutter_riverpod/flutter_riverpod.dart";
33

44
import "../project_configs_provider.dart";
5-
import "configs/config_gui.dart";
5+
import "configs/advanced_editor.dart";
6+
import "configs/advanced_mode_toggle.dart";
7+
import "configs/models/base.dart";
8+
import "configs/views/base.dart";
69
import "control_panel.dart";
710
import "sidebar/project_sidebar.dart";
811

@@ -11,16 +14,27 @@ class ProjectView extends ConsumerWidget {
1114

1215
@override
1316
Widget build(BuildContext context, WidgetRef ref) {
14-
final bool isConfigOpen = ref.watch(
15-
openConfigProvider.select((config) => config != null),
16-
);
17+
final ConfigFile? openConfig = ref.watch(openConfigProvider);
18+
final AdvancedMode advancedMode = ref.watch(advancedModeProvider);
1719

1820
return Row(
1921
crossAxisAlignment: CrossAxisAlignment.stretch,
2022
children: [
2123
const ProjectSidebar(),
2224
Expanded(
23-
child: isConfigOpen ? const ConfigGUI() : const ControlPanel(),
25+
child: openConfig == null
26+
? const ControlPanel()
27+
: Stack(
28+
children: [
29+
advancedMode.when(
30+
data: (value) => value
31+
? AdvancedEditor(openConfig)
32+
: BaseConfigView(openConfig),
33+
loading: () => const Center(child: CircularProgressIndicator()),
34+
),
35+
const AdvancedModeToggle(),
36+
],
37+
),
2438
),
2539
],
2640
);

lib/project_view/sidebar/project_sidebar.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import "package:flutter_riverpod/flutter_riverpod.dart";
33

44
import "../../project_configs_provider.dart";
55
import "../../sidebar.dart";
6-
import "../configs/config_gui.dart";
6+
import "../configs/advanced_mode_toggle.dart";
77
import "../configs/models/base.dart";
88
import "../configs/models/map.dart";
99
import "../control_row/control_row.dart";

0 commit comments

Comments
 (0)