summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/actions/index.js7
-rw-r--r--client/components/UI/AudioPlayerView.jsx4
-rw-r--r--client/components/UI/Header.jsx2
-rw-r--r--client/index.jsx22
-rw-r--r--client/reducers/currentTask.js11
-rw-r--r--client/reducers/folders.js2
-rw-r--r--client/reducers/tasks.js13
-rw-r--r--client/socket.js4
-rw-r--r--client/store.js23
9 files changed, 53 insertions, 35 deletions
diff --git a/client/actions/index.js b/client/actions/index.js
index afcd10a..5b180ea 100644
--- a/client/actions/index.js
+++ b/client/actions/index.js
@@ -25,8 +25,13 @@ export const setAlpha = (alpha) => ({
export const createTask = () => ({
type: 'CREATE_TASK',
})
-export const addTask = () => ({
+export const addTask = (task) => ({
type: 'ADD_TASK',
+ task,
+})
+export const taskUpdated = (task) => ({
+ type: 'TASK_UPDATED',
+ task,
})
/* tasks */
diff --git a/client/components/UI/AudioPlayerView.jsx b/client/components/UI/AudioPlayerView.jsx
index 62745ed..d2c9982 100644
--- a/client/components/UI/AudioPlayerView.jsx
+++ b/client/components/UI/AudioPlayerView.jsx
@@ -8,14 +8,14 @@ export default function AudioPlayerView (props) {
audio.src = mp3path(props.file)
audio.play()
return (
- <div>
+ <div class='audioPlayer'>
Playing {props.file.name}
</div>
)
}
else {
return (
- <div>
+ <div class='audioPlayer'>
Not Playing
</div>
)
diff --git a/client/components/UI/Header.jsx b/client/components/UI/Header.jsx
index 3f643ba..2d35d39 100644
--- a/client/components/UI/Header.jsx
+++ b/client/components/UI/Header.jsx
@@ -10,7 +10,7 @@ export default class Header extends Component {
render() {
return (
<div class='header'>
- <b>spawn cortex</b>
+ <div class='title'>spawn cortex</div>
<AudioPlayer />
</div>
)
diff --git a/client/index.jsx b/client/index.jsx
index b0815f4..1a8577e 100644
--- a/client/index.jsx
+++ b/client/index.jsx
@@ -2,8 +2,30 @@ import { h, render } from 'preact'
import { Provider } from 'react-redux'
import App from './components/App.jsx'
import store from './store'
+import client from './client'
import socket from './socket'
+import { loadFolders, loadOpenFolders, loadFiles, loadTasks } from './actions/index.js'
+
+client.folder.index().then( folders => {
+ store.dispatch(loadFolders(folders))
+ try {
+ const openFolders = JSON.parse(localStorage['openFolders'])
+ store.dispatch( loadOpenFolders(openFolders) )
+ openFolders.forEach( folder_id => {
+ client.file.index({ folder_id }).then( files => {
+ store.dispatch(loadFiles(files))
+ })
+ })
+ }
+ catch (e) {
+ console.log('error opening folders')
+ }
+})
+client.task.index().then( tasks => {
+ store.dispatch(loadTasks(tasks))
+})
+
const app = (
<Provider store={store}>
<App />
diff --git a/client/reducers/currentTask.js b/client/reducers/currentTask.js
index e760fba..126c35d 100644
--- a/client/reducers/currentTask.js
+++ b/client/reducers/currentTask.js
@@ -23,18 +23,15 @@ const currentTask = (state = {}, action) => {
content_file_id: state.content.id,
style_file_id: state.style.id,
alpha: state.alpha || '0.001',
- command: 'nsatf.py',
+ tool: 'nsatf',
completed: false,
}
client.task.create( record ).then( (data) => {
- addTask( data )
+ data.content_file = state.content
+ data.style_file = state.file
+ // store.dispatch( addTask( data ) )
})
-
return state
-// case 'ADD_TASK':
-// return {
-// ...state
-// }
default:
return state
}
diff --git a/client/reducers/folders.js b/client/reducers/folders.js
index d6bdd46..a69df74 100644
--- a/client/reducers/folders.js
+++ b/client/reducers/folders.js
@@ -90,6 +90,7 @@ const folders = (state = {}, action) => {
...state,
folders
}
+
case 'UPDATE_FILE':
file = action.file
folders = state.folders.map( (folder) => {
@@ -106,6 +107,7 @@ const folders = (state = {}, action) => {
...state,
folders: folders
}
+
default:
return state
}
diff --git a/client/reducers/tasks.js b/client/reducers/tasks.js
index d6ef8e1..9edd82a 100644
--- a/client/reducers/tasks.js
+++ b/client/reducers/tasks.js
@@ -1,10 +1,21 @@
// import { addTask } from '../actions'
import client from '../client'
-const tasks = (state = {}, action) => {
+const tasks = (state = [], action) => {
switch (action.type) {
case 'LOAD_TASKS':
return action.tasks
+ case 'ADD_TASK':
+ console.log(action)
+ return state.concat([action.task])
+ case 'TASK_UPDATED':
+ const updated_tasks = state.map(task => {
+ if (task.id == id) {
+ return task
+ }
+ return id
+ })
+ return updated_tasks
default:
return state
}
diff --git a/client/socket.js b/client/socket.js
index 635bf62..d94a968 100644
--- a/client/socket.js
+++ b/client/socket.js
@@ -13,5 +13,9 @@ socket.on('processed', (data) => {
console.log('processed', data)
store.dispatch(updateFile(data.file))
})
+socket.on('completed', (data) => {
+ console.log('completed', data)
+ store.dispatch(updateTask(data.task))
+})
export default socket
diff --git a/client/store.js b/client/store.js
index 5b38d45..1ac7be1 100644
--- a/client/store.js
+++ b/client/store.js
@@ -1,8 +1,5 @@
import { createStore } from 'redux'
import reducer from './reducers/index.js'
-import { loadFolders, loadOpenFolders, loadFiles, loadTasks } from './actions/index.js'
-
-import client from './client.js'
const store = createStore(reducer, {
currentTask: {
@@ -20,24 +17,4 @@ const store = createStore(reducer, {
},
})
-client.folder.index().then( folders => {
- store.dispatch(loadFolders(folders))
- try {
- const openFolders = JSON.parse(localStorage['openFolders'])
- store.dispatch( loadOpenFolders(openFolders) )
- openFolders.forEach( folder_id => {
- client.file.index({ folder_id }).then( files => {
- store.dispatch(loadFiles(files))
- })
- })
- }
- catch (e) {
- console.log('error opening folders')
- }
-})
-client.task.index().then( tasks => {
- store.dispatch(loadTasks(tasks))
-})
-
-
export default store