Skip to content
Snippets Groups Projects
application_config.dart 3.17 KiB
Newer Older
  • Learn to ignore specific revisions
  • import 'package:flutter/material.dart';
    import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
    
    import 'package:scrobbles/common/cubit/nav/nav_cubit_pages.dart';
    
    import 'package:scrobbles/cubit/activity/activity_cubit.dart';
    
    
    class ApplicationConfig {
    
      static const String parameterCodeDistributionDaysCount = 'distribution-days-count';
      static const String parameterCodeDiscoveriesDaysCount = 'discoveries-days-count';
      static const String parameterCodeNewArtistsCount = 'new-artists-count';
      static const String parameterCodeNewTracksCount = 'new-tracks-count';
      static const String parameterCodeTimelineDaysCount = 'timeline-days-count';
      static const String parameterCodeTopArtistsDaysCount = 'top-artists-days-count';
      static const String parameterCodeStatisticsRecentDaysCount = 'statistics-recent-days-count';
    
      static const List<ApplicationSettingsParameterItemValue> allowedDaysCountValues = [
        ApplicationSettingsParameterItemValue(
          value: '7',
        ),
        ApplicationSettingsParameterItemValue(
          value: '14',
          isDefault: true,
        ),
        ApplicationSettingsParameterItemValue(
          value: '21',
        ),
        ApplicationSettingsParameterItemValue(
          value: '30',
        ),
        ApplicationSettingsParameterItemValue(
          value: '60',
        ),
        ApplicationSettingsParameterItemValue(
          value: '90',
        ),
      ];
    
      static const List<ApplicationSettingsParameterItemValue> allowedCountValues = [
        ApplicationSettingsParameterItemValue(
          value: '5',
          isDefault: true,
        ),
        ApplicationSettingsParameterItemValue(
          value: '10',
        ),
        ApplicationSettingsParameterItemValue(
          value: '20',
        ),
      ];
    
      static final ApplicationConfigDefinition config = ApplicationConfigDefinition(
        appTitle: 'Scrobbles',
        activitySettings: [
          // DistributionDaysCount
          ApplicationSettingsParameter(
            code: parameterCodeDistributionDaysCount,
            values: allowedDaysCountValues,
          ),
    
          // DiscoveriesDaysCount
          ApplicationSettingsParameter(
            code: parameterCodeDiscoveriesDaysCount,
            values: allowedDaysCountValues,
          ),
    
          // NewArtistsCount
          ApplicationSettingsParameter(
            code: parameterCodeNewArtistsCount,
            values: allowedCountValues,
          ),
    
          // NewTracksCount
          ApplicationSettingsParameter(
            code: parameterCodeNewTracksCount,
            values: allowedCountValues,
          ),
    
          // TimelineDaysCount
          ApplicationSettingsParameter(
            code: parameterCodeTimelineDaysCount,
            values: allowedDaysCountValues,
          ),
    
          // TopArtistsDaysCount
          ApplicationSettingsParameter(
            code: parameterCodeTopArtistsDaysCount,
            values: allowedDaysCountValues,
          ),
    
          // StatisticsRecentDaysCount
          ApplicationSettingsParameter(
            code: parameterCodeStatisticsRecentDaysCount,
            values: allowedDaysCountValues,
          ),
        ],
        startNewActivity: (BuildContext context) {
          BlocProvider.of<ActivityCubit>(context).startNewActivity(context);
          BlocProvider.of<NavCubitPage>(context).goToPageHome();
        },
        deleteCurrentActivity: (BuildContext context) {},
        resumeActivity: (BuildContext context) {},
      );