LCOV - code coverage report
Current view: top level - lib/_classes/structure/navigation - app_menu.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 29 31 93.5 %
Date: 2024-10-04 11:12:13 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_locale.dart';
       5             : import 'package:app_finance/_classes/structure/navigation/app_menu_item.dart';
       6             : import 'package:app_finance/_classes/structure/navigation/app_route.dart';
       7             : import 'package:flutter/foundation.dart';
       8             : import 'package:flutter/material.dart';
       9             : 
      10             : class AppMenu {
      11           1 :   static RouteSettings metrics(String? route) {
      12             :     final key = switch (route) {
      13           1 :       AppRoute.accountRoute => '1',
      14           1 :       AppRoute.budgetRoute => '0',
      15             :       _ => '2',
      16             :     };
      17           2 :     return RouteSettings(name: AppRoute.metricsSearchRoute, arguments: {routeArguments.search: key});
      18             :   }
      19             : 
      20           1 :   static AppMenuItem getByIndex(int index) {
      21           2 :     return get()[index];
      22             :   }
      23             : 
      24           1 :   static List<AppMenuItem> get() {
      25           1 :     return [
      26           1 :       AppMenuItem(
      27           2 :         name: AppLocale.labels.homeHeadline,
      28             :         icon: Icons.home,
      29             :         route: AppRoute.homeRoute,
      30             :       ),
      31           1 :       AppMenuItem(
      32           2 :         name: AppLocale.labels.goalHeadline,
      33             :         icon: Icons.star,
      34             :         route: AppRoute.goalRoute,
      35             :       ),
      36           1 :       AppMenuItem(
      37           2 :         name: AppLocale.labels.accountHeadline,
      38             :         icon: Icons.credit_card,
      39             :         route: AppRoute.accountRoute,
      40             :       ),
      41           1 :       AppMenuItem(
      42           2 :         name: AppLocale.labels.budgetHeadline,
      43             :         icon: Icons.calendar_month,
      44             :         route: AppRoute.budgetRoute,
      45             :       ),
      46           1 :       AppMenuItem(
      47           2 :         name: AppLocale.labels.billHeadline,
      48             :         icon: Icons.money_off,
      49             :         route: AppRoute.billRoute,
      50             :       ),
      51           1 :       AppMenuItem(
      52           2 :         name: AppLocale.labels.currencyHeadline,
      53             :         icon: Icons.currency_exchange,
      54             :         route: AppRoute.currencyRoute,
      55             :       ),
      56           1 :       AppMenuItem(
      57           2 :         name: AppLocale.labels.metricsHeadline,
      58             :         icon: Icons.timeline,
      59             :         route: AppRoute.metricsRoute,
      60             :       ),
      61           1 :       AppMenuItem(
      62           2 :         name: AppLocale.labels.automationHeadline,
      63             :         icon: Icons.access_alarms,
      64             :         route: AppRoute.automationRoute,
      65             :       ),
      66           1 :       AppMenuItem(
      67           2 :         name: AppLocale.labels.settingsHeadline,
      68             :         icon: Icons.settings,
      69             :         route: AppRoute.settingsRoute,
      70             :       ),
      71           3 :       if (![TargetPlatform.iOS, TargetPlatform.macOS, TargetPlatform.android].contains(defaultTargetPlatform))
      72           0 :         AppMenuItem(
      73           0 :           name: AppLocale.labels.subscriptionHeadline,
      74             :           icon: Icons.switch_access_shortcut_add_outlined,
      75             :           route: AppRoute.subscriptionRoute,
      76             :         ),
      77           1 :       AppMenuItem(
      78           2 :         name: AppLocale.labels.aboutHeadline,
      79             :         icon: Icons.question_answer_outlined,
      80             :         route: AppRoute.aboutRoute,
      81             :       ),
      82             :     ];
      83             :   }
      84             : }

Generated by: LCOV version 1.14