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) {}, ); }