26 lines
		
	
	
		
			814 B
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			814 B
		
	
	
	
		
			JavaScript
		
	
	
	
import { Map as ImmutableMap } from 'immutable';
 | 
						|
 | 
						|
import { changeLayout } from 'flavours/glitch/actions/app';
 | 
						|
import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
 | 
						|
import { layoutFromWindow } from 'flavours/glitch/is_mobile';
 | 
						|
 | 
						|
const initialState = ImmutableMap({
 | 
						|
  streaming_api_base_url: null,
 | 
						|
  access_token: null,
 | 
						|
  layout: layoutFromWindow(),
 | 
						|
  permissions: '0',
 | 
						|
});
 | 
						|
 | 
						|
export default function meta(state = initialState, action) {
 | 
						|
  switch(action.type) {
 | 
						|
  case STORE_HYDRATE:
 | 
						|
    return state.merge(action.state.get('meta'))
 | 
						|
      .set('permissions', action.state.getIn(['role', 'permissions']))
 | 
						|
      .set('layout', layoutFromWindow(action.state.getIn(['local_settings', 'layout'])));
 | 
						|
  case changeLayout.type:
 | 
						|
    return state.set('layout', action.payload.layout);
 | 
						|
  default:
 | 
						|
    return state;
 | 
						|
  }
 | 
						|
}
 |