text: const uiReducer = (state = initialState.ui, action) => {
    switch (action.type) {
      case TOGGLE_DRAWER:
        return Object.assign({}, state, {
          isDrawerOpened: action.value || !state.isDrawerOpened
        });
      case TOGGLE_VIDEO_DIALOG:
        return Object.assign({}, state, {
          videoDialog: Object.assign({}, state.videoDialog, action.value)
        });
      case SET_VIEWPORT_SIZE:
        return Object.assign({}, state, {
          viewport: Object.assign({}, state.viewport, action.value)
        });
      default:
        return state;
    }
  };
  
  const routingReducer = (state = initialState.routing, action) => {
    switch (action.type) {
      case SET_ROUTE:
        return Object.assign({}, state, {
          route: action.route
        });
      case SET_SUB_ROUTE:
        return Object.assign({}, state, {
          subRoute: action.subRoute
        });
      default:
        return state;
    }
  };
  
  const heroReducer = (state = initialState.hero, action) => {
    switch (action.type) {
      case SET_HERO:
        return action.hero;
      default:
        return state;
    }
  };
  
  const dialogsReducer = (state = initialState.dialogs, action) => {
    switch (action.type) {
      case OPEN_DIALOG:
      case SET_DIALOG_DATA:
        return Object.assign({}, state, action.dialog);
      case CLOSE_DIALOG:
        return Object.assign({}, state, {
          [action.dialogName]: initialState.dialogs[action.dialogName]
        });
      default:
        return state;
    }
  };
  
  const ticketsReducer = (state = initialState.tickets, action) => {
    switch (action.type) {
      case FETCH_TICKETS:
        return action.tickets;
      default:
        return state;
    }
  };
  
  const partnersReducer = (state = initialState.partners, action) => {
    switch (action.type) {
      case FETCH_PARTNERS:
        return action.partners;
      default:
        return state;
    }
  };
  
  const videosReducer = (state = initialState.videos, action) => {
    switch (action.type) {
      case FETCH_VIDEOS:
        return action.videos;
      default:
        return state;
    }
  };
  
  const blogReducer = (state = initialState.blog, action) => {
    switch (action.type) {
      case FETCH_BLOG_LIST:
        return action.list;
      default:
        return state;
    }
  };
  
  const speakersReducer = (state = initialState.speakers, action) => {
    switch (action.type) {
      case FETCH_SPEAKERS_LIST:
      case UPDATE_SPEAKERS:
        return action.list;
      default:
        return state;
    }
  };
  
  const sessionsReducer = (state = initialState.sessions, action) => {
    switch (action.type) {
      case FETCH_SESSIONS_LIST:
      case UPDATE_SESSIONS:
        return Object.assign({}, state, {
          list: action.list
        });
      case FETCH_USER_FEATURED_SESSIONS:
      case SET_USER_FEATURED_SESSIONS:
        return Object.assign({}, state, {
          featured: action.featuredSessions || {}
        });
      default:
        return state;
    }
  };
  
  const scheduleReducer = (state = initialState.schedule, action) => {
    switch (action.type) {
      case FETCH_SCHEDULE:
        return action.data;
      default:
        return state;
    }
  };
  
  const galleryReducer = (state = initialState.gallery, action) => {
    switch (action.type) {
      case FETCH_GALLERY:
        return action.gallery;
      default:
        return state;
    }
  };
  
  const teamReducer = (state = initialState.team, action) => {
    switch (action.type) {
      case FETCH_TEAM:
        return action.team;
      default:
        return state;
    }
  };
  
  const userReducer = (state = initialState.user, action) => {
    switch (action.type) {
      case SIGN_IN:
      case SIGN_OUT:
        return action.user;
      default:
        return state;
    }
  };
  
  const subscribeReducer = (state = initialState.subscribed, action) => {
    switch (action.type) {
      case SUBSCRIBE:
        return action.subscribed;
      default:
        return state;
    }
  };
  
  const toastReducer = (state = initialState.toast, action) => {
    switch (action.type) {
      case SHOW_TOAST:
        return action.toast;
      case HIDE_TOAST:
        return initialState.toast;
      default:
        return state;
    }
  };
  
  const notificationsReducer = (state = initialState.notifications, action) => {
    switch (action.type) {
      case UPDATE_NOTIFICATIONS_STATUS:
        return Object.assign({}, state, {
          status: action.status,
          token: action.token
        });
      default:
        return state;
    }
  };
  