import Immutable from 'immutable';

// Settings actions
export const UPDATE_USER_THEME = 'UPDATE_USER_THEME';
export function updateUserTheme(theme) {
  bzTrack.track('User Settings: Theme Updated', {
    theme
  });

  return {
    type: UPDATE_USER_THEME,
    theme
  };
}

export const LOAD_USER_SETTINGS = 'LOAD_USER_SETTINGS';
export function loadUserSettings() {
  if (localStorage.userSettings) {
    const userSettings = JSON.parse(localStorage.userSettings);

    store.dispatch({
      type: LOAD_USER_SETTINGS,
      userSettings
    });

    bzTrack.track('User Settings: User Settings Loaded From LocalStorage', {
      userSettings
    });
  }
}

export function saveUserSettings() {
  const userSettings = store.getState().userSettings.toJS();
  localStorage.userSettings = JSON.stringify(userSettings);

  bzTrack.track('User Settings: Settings Updated', {
    userSettings
  });
}
