Skip to content
Snippets Groups Projects
Select Git revision
  • 25745181c7f36685ba0f4197de55c093677facbd
  • master default protected
  • 60-display-last-tracks-and-some-dump-metadata
  • 58-create-api-for-main-routes
  • 40-add-more-default-playlists-in-quick-create-feature
  • 37-batch-update-recently-played-tracks
  • 11-improve-new-playlist-name-and-description
  • 15-add-a-play-now-button-on-created-playlist-message
  • 20-rename-playlist-with-artists-names
  • 30-save-spotify-personal-token-for-external-use
10 results

template.php

Blame
  • settings_global_cubit.dart 2.30 KiB
    import 'package:flutter/material.dart';
    import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
    
    import 'package:jeweled/config/default_global_settings.dart';
    import 'package:jeweled/models/settings/settings_global.dart';
    
    part 'settings_global_state.dart';
    
    class GlobalSettingsCubit extends HydratedCubit<GlobalSettingsState> {
      GlobalSettingsCubit() : super(GlobalSettingsState(settings: GlobalSettings.createDefault()));
    
      void setValues({
        String? colorsTheme,
        String? graphicTheme,
      }) {
        emit(
          GlobalSettingsState(
            settings: GlobalSettings(
              colorsTheme: colorsTheme ?? state.settings.colorsTheme,
              graphicTheme: graphicTheme ?? state.settings.graphicTheme,
            ),
          ),
        );
      }
    
      String getParameterValue(String code) {
        switch (code) {
          case DefaultGlobalSettings.parameterCodeColorsTheme:
            return GlobalSettings.getColorsThemeValueFromUnsafe(state.settings.colorsTheme);
          case DefaultGlobalSettings.parameterCodeGraphicsTheme:
            return GlobalSettings.getGraphicThemeValueFromUnsafe(state.settings.graphicTheme);
        }
        return '';
      }
    
      void setParameterValue(String code, String value) {
        final String colorsTheme = code == DefaultGlobalSettings.parameterCodeColorsTheme
            ? value
            : getParameterValue(DefaultGlobalSettings.parameterCodeColorsTheme);
        final String graphicTheme = code == DefaultGlobalSettings.parameterCodeGraphicsTheme
            ? value
            : getParameterValue(DefaultGlobalSettings.parameterCodeGraphicsTheme);
    
        setValues(
          colorsTheme: colorsTheme,
          graphicTheme: graphicTheme,
        );
      }
    
      @override
      GlobalSettingsState? fromJson(Map<String, dynamic> json) {
        final String colorsTheme = json[DefaultGlobalSettings.parameterCodeColorsTheme] as String;
        final String graphicTheme =
            json[DefaultGlobalSettings.parameterCodeGraphicsTheme] as String;
    
        return GlobalSettingsState(
          settings: GlobalSettings(
            colorsTheme: colorsTheme,
            graphicTheme: graphicTheme,
          ),
        );
      }
    
      @override
      Map<String, dynamic>? toJson(GlobalSettingsState state) {
        return <String, dynamic>{
          DefaultGlobalSettings.parameterCodeColorsTheme: state.settings.colorsTheme,
          DefaultGlobalSettings.parameterCodeGraphicsTheme: state.settings.graphicTheme,
        };
      }