Line data Source code
1 : // Copyright 2023 The terCAD team. All rights reserved.
2 : // Use of this source code is governed by a CC BY-NC-ND 4.0 license that can be found in the LICENSE file.
3 :
4 : import 'package:app_finance/_ext/string_ext.dart';
5 : import 'package:app_finance/components/component_chart.dart';
6 : import 'package:app_finance/components/component_recent.dart';
7 : import 'package:app_finance/components/_core/component_data.dart';
8 : import 'package:app_finance/components/_core/list_component_registry.dart';
9 : import 'package:app_finance/components/component_summary.dart';
10 : import 'package:material_ui/material_ui.dart';
11 :
12 : class ComponentsBuilderForm extends StatelessWidget {
13 : final ComponentData data;
14 : final Function adjust;
15 :
16 0 : const ComponentsBuilderForm(this.data, {super.key, required this.adjust});
17 :
18 0 : @override
19 : Widget build(BuildContext context) {
20 : var key = ComponentRegistry.recent;
21 0 : if (data[componentData.key] != null) {
22 0 : key = (data[componentData.key] as String).toEnum(ComponentRegistry.values);
23 : }
24 : return switch (key) {
25 0 : ComponentRegistry.recent => ComponentRecentForm(data, adjust: adjust),
26 0 : ComponentRegistry.chart => ComponentChartForm(data, adjust: adjust),
27 0 : ComponentRegistry.summary => ComponentSummaryForm(data, adjust: adjust),
28 : };
29 : }
30 : }
|