import types from '../types' const datasetInitialState = { loading: false, error: null, status: '', } const datasetReducer = (state = datasetInitialState, action) => { console.log(action) switch(action.type) { case types.socket.connect: return { ...state, } case types.task.task_begin: return { ...state, } case types.task.task_finish: return { ...state, } case types.folder.index: return { ...state, folders: action.data, folder: action.data[0], } case types.folder.update: return state case types.file.index: return { ...state, files: action.data } case types.folder.upload_loading: return { ...state, upload: { loading: true, status: 'Loading...', }, } case types.folder.upload_error: return { ...state, upload: { loading: false, status: 'Error uploading :(', }, } case types.folder.upload_progress: console.log(action) return { ...state, upload: { loading: true, status: 'Upload progress ' + action.percent + '%', }, } case types.folder.upload_waiting: console.log(action) return { ...state, upload: { loading: true, status: 'Waiting for server to finish processing...', }, } case types.file.create_loading: return { ...state, upload: { loading: true, status: 'Creating file...' } } case types.file.create: console.log('booo') if (state.folder.id === action.data.folder_id) { return { ...state, files: [action.data].concat(state.files), upload: { loading: false, status: 'File created', }, } } else { return { ...state, upload: { loading: false, status: 'created', }, } } case types.folder.upload_complete: console.log(action) if (state.folder.id === action.folder) { return { ...state, files: [action.files].concat(state.files), upload: { loading: false, status: 'Upload complete', }, } } else { return { ...state, upload: { loading: false, status: 'Upload complete', }, } } case types.socket.status: return datasetSocket(state, action.data) default: return state } } const datasetSocket = (state, action) => { console.log(action) switch (action.key) { default: return state } } export default datasetReducer