LCOV - code coverage report
Current view: top level - lib/pages/metrics/widgets - bill_tab.dart Coverage Total Hit
Test: lcov.info Lines: 0.0 % 21 0
Test Date: 2026-11-14 15:08:11 Functions: - 0 0

            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/_classes/herald/app_design.dart';
       5              : import 'package:app_finance/_classes/storage/app_data.dart';
       6              : import 'package:app_finance/_classes/herald/app_locale.dart';
       7              : import 'package:app_finance/charts/data/data_handler.dart';
       8              : import 'package:app_finance/_classes/structure/currency/exchange.dart';
       9              : import 'package:app_finance/_configs/theme_helper.dart';
      10              : import 'package:app_finance/_ext/build_context_ext.dart';
      11              : import 'package:app_finance/charts/bar_race_chart.dart';
      12              : import 'package:app_finance/components/widgets/bill_ytd_chart.dart';
      13              : import 'package:app_finance/design/wrapper/text_wrapper.dart';
      14              : import 'package:material_ui/material_ui.dart';
      15              : 
      16              : class BillTab extends StatelessWidget {
      17              :   final AppData store;
      18              :   final double? width;
      19              : 
      20            0 :   const BillTab({
      21              :     super.key,
      22              :     required this.store,
      23              :     this.width,
      24              :   });
      25              : 
      26            0 :   @override
      27              :   Widget build(BuildContext context) {
      28            0 :     final TextTheme textTheme = context.textTheme;
      29            0 :     double indent = ThemeHelper.getIndent();
      30            0 :     final width = this.width ?? ThemeHelper.getWidth(context, 6);
      31            0 :     final budgets = store.getList(AppDataType.budgets);
      32            0 :     return SingleChildScrollView(
      33            0 :       child: Padding(
      34            0 :         padding: this.width != null ? EdgeInsets.zero : EdgeInsets.all(indent * 2),
      35            0 :         child: Column(
      36            0 :           crossAxisAlignment: AppDesign.getAlignment(),
      37            0 :           children: [
      38              :             const BillYtdChart(),
      39              :             ThemeHelper.hIndent2x,
      40            0 :             TextWrapper(
      41            0 :               '${AppLocale.labels.chartBarRace}, ${Exchange.defaultCurrency?.code}',
      42            0 :               style: textTheme.bodyLarge,
      43              :             ),
      44            0 :             BarRaceChart(
      45              :               width: width,
      46              :               indent: indent,
      47            0 :               categories: budgets.cast(),
      48            0 :               data: DataHandler.getAmountGroupedByCategory(
      49            0 :                 store.getActualList(AppDataType.bills).cast(),
      50            0 :                 budgets.cast(),
      51            0 :                 exchange: Exchange(store: store),
      52              :               ),
      53              :             ),
      54              :             ThemeHelper.formEndBox,
      55              :           ],
      56              :         ),
      57              :       ),
      58              :     );
      59              :   }
      60              : }
        

Generated by: LCOV version 2.0-1