@ -7,12 +7,6 @@ import uuid from '../uuid';
const initialState = Immutable . Map ( {
const initialState = Immutable . Map ( {
onboarded : false ,
onboarded : false ,
columns : Immutable . fromJS ( [
{ id : 'COMPOSE' , uuid : uuid ( ) , params : { } } ,
{ id : 'HOME' , uuid : uuid ( ) , params : { } } ,
{ id : 'NOTIFICATIONS' , uuid : uuid ( ) , params : { } } ,
] ) ,
home : Immutable . Map ( {
home : Immutable . Map ( {
shows : Immutable . Map ( {
shows : Immutable . Map ( {
reblog : true ,
reblog : true ,
@ -60,6 +54,19 @@ const initialState = Immutable.Map({
} ) ,
} ) ,
} ) ;
} ) ;
const defaultColumns = Immutable . fromJS ( [
{ id : 'COMPOSE' , uuid : uuid ( ) , params : { } } ,
{ id : 'HOME' , uuid : uuid ( ) , params : { } } ,
{ id : 'NOTIFICATIONS' , uuid : uuid ( ) , params : { } } ,
] ) ;
const hydrate = ( settings ) => {
return initialState . withMutations ( ( state ) => {
state . mergeDeep ( settings ) ;
state . update ( 'columns' , defaultColumns , val => val ) ;
} ) ;
} ;
const moveColumn = ( state , uuid , direction ) => {
const moveColumn = ( state , uuid , direction ) => {
const columns = state . get ( 'columns' ) ;
const columns = state . get ( 'columns' ) ;
const index = columns . findIndex ( item => item . get ( 'uuid' ) === uuid ) ;
const index = columns . findIndex ( item => item . get ( 'uuid' ) === uuid ) ;
@ -76,7 +83,7 @@ const moveColumn = (state, uuid, direction) => {
export default function settings ( state = initialState , action ) {
export default function settings ( state = initialState , action ) {
switch ( action . type ) {
switch ( action . type ) {
case STORE_HYDRATE :
case STORE_HYDRATE :
return state . mergeDeep ( action . state . get ( 'settings' ) ) ;
return hydrate ( action . state . get ( 'settings' ) ) ;
case SETTING_CHANGE :
case SETTING_CHANGE :
return state . setIn ( action . key , action . value ) ;
return state . setIn ( action . key , action . value ) ;
case COLUMN_ADD :
case COLUMN_ADD :