summaryrefslogtreecommitdiff
path: root/client/components
diff options
context:
space:
mode:
Diffstat (limited to 'client/components')
-rw-r--r--client/components/App.jsx14
-rw-r--r--client/components/Browser/Browser.jsx57
-rw-r--r--client/components/Browser/BrowserView.jsx29
-rw-r--r--client/components/Browser/Files/FileUploadButton.jsx (renamed from client/components/Browser/Folder/FileUploadButton.jsx)0
-rw-r--r--client/components/Browser/Files/Files.jsx (renamed from client/components/Browser/Folder/Files.jsx)13
-rw-r--r--client/components/Tasks/TaskListView.jsx23
-rw-r--r--client/components/Tasks/Tasks.jsx27
-rw-r--r--client/components/UI/AudioPlayerView.jsx (renamed from client/components/UI/AudioPlayer.jsx)4
-rw-r--r--client/components/UI/Header.jsx5
9 files changed, 67 insertions, 105 deletions
diff --git a/client/components/App.jsx b/client/components/App.jsx
index b3da081..d8050c8 100644
--- a/client/components/App.jsx
+++ b/client/components/App.jsx
@@ -3,23 +3,11 @@ import { isMobile } from '../vendor/util'
// import db from '../db'
import Header from './UI/Header.jsx'
-import Browser from './Browser/Browser.jsx'
+import Browser from '../containers/browser.js'
import Tasks from './Tasks/Tasks.jsx'
import client from '../client'
-var socket = io(window.location.origin)
-
-socket.on('connect', (data) => {
- console.log('connected')
-})
-socket.on('worker', (data) => {
- console.log('worker connected', data)
-})
-socket.on('processed', (data) => {
- console.log('processed', data)
-})
-
const App = () => {
return (
<div>
diff --git a/client/components/Browser/Browser.jsx b/client/components/Browser/Browser.jsx
deleted file mode 100644
index a7731f1..0000000
--- a/client/components/Browser/Browser.jsx
+++ /dev/null
@@ -1,57 +0,0 @@
-import { h, Component } from 'preact'
-
-import Folders from './Folders/Folders.jsx'
-import Files from './Folder/Files.jsx'
-
-import client from '../../client'
-
-class Browser extends Component {
- constructor(props) {
- super()
- let openFolders = JSON.parse( localStorage['openFolders'] || 'null' )
- this.state = {
- folders: [],
- openFolders: openFolders || [],
- }
- client.folder.index().then( folders => this.setState({ folders }) )
- }
- openFolder(folder) {
- if (this.state.openFolders.indexOf(folder.id) === -1) {
- const newOpenFolders = this.state.openFolders.concat(folder.id)
- localStorage['openFolders'] = JSON.stringify(newOpenFolders)
- this.setState({ openFolders: newOpenFolders })
- }
- }
- closeFolder(folder) {
- const openFolders = this.state.openFolders.filter( folder_id => folder_id !== folder.id )
- localStorage['openFolders'] = JSON.stringify(openFolders)
- this.setState({ openFolders })
- }
- addFolder(folder) {
- this.setState({ folders: this.state.folders.concat([folder]) })
- }
- render() {
- const openFolders = this.state.openFolders.map((folder_id) => {
- const folder_list = this.state.folders.filter(folder => folder.id === folder_id)
- if (! folder_list.length) return
- const folder = folder_list[0]
- return (
- <Files
- folder={folder}
- onClose={() => this.closeFolder(folder)}
- />
- )
- })
- return (
- <div class='column'>
- <Folders folders={this.state.folders}
- openFolder={(folder) => this.openFolder(folder)}
- addFolder={(folder) => this.addFolder(folder)}
- />
- {openFolders}
- </div>
- )
- }
-}
-
-export default Browser
diff --git a/client/components/Browser/BrowserView.jsx b/client/components/Browser/BrowserView.jsx
new file mode 100644
index 0000000..ed4f2cb
--- /dev/null
+++ b/client/components/Browser/BrowserView.jsx
@@ -0,0 +1,29 @@
+import { h, Component } from 'preact'
+
+import Folders from './Folders/Folders.jsx'
+import Files from './Files/Files.jsx'
+
+export default function BrowserView (props) {
+ console.log('browser view', props)
+ const openFolders = (props.openFolders || []).map((folder_id) => {
+ const folder_list = props.folders.filter(folder => folder.id === folder_id)
+ if (! folder_list.length) return
+ const folder = folder_list[0]
+ return (
+ <Files
+ folder={folder}
+ onClose={() => props.closeFolder(folder)}
+ />
+ )
+ })
+
+ return (
+ <div class='column'>
+ <Folders folders={props.folders}
+ openFolder={(folder) => props.openFolder(folder)}
+ addFolder={(folder) => props.addFolder(folder)}
+ />
+ {openFolders}
+ </div>
+ )
+}
diff --git a/client/components/Browser/Folder/FileUploadButton.jsx b/client/components/Browser/Files/FileUploadButton.jsx
index 136cd45..136cd45 100644
--- a/client/components/Browser/Folder/FileUploadButton.jsx
+++ b/client/components/Browser/Files/FileUploadButton.jsx
diff --git a/client/components/Browser/Folder/Files.jsx b/client/components/Browser/Files/Files.jsx
index f0ad95e..74c266f 100644
--- a/client/components/Browser/Folder/Files.jsx
+++ b/client/components/Browser/Files/Files.jsx
@@ -13,13 +13,9 @@ export default class Files extends Component {
constructor(props) {
super()
this.state = {
- files: props.folder.files || [],
selected: null,
}
this.addFiles = this.addFiles.bind(this)
- if (! props.folder.files) {
- client.file.index({ folder_id: props.folder.id }).then( files => this.setState({ files }) )
- }
}
addFiles(newFiles) {
if (! newFiles) return
@@ -30,7 +26,14 @@ export default class Files extends Component {
this.setState({ selected: file })
}
render() {
- const files = (this.state.files).map(toFilenamePair).sort(sortByFilename).map(fromPair).map( (file, i) => {
+ let file_list;
+ if (this.props.folder && this.props.folder.files) {
+ file_list = this.props.folder.files
+ }
+ else {
+ file_list = []
+ }
+ const files = file_list.map(toFilenamePair).sort(sortByFilename).map(fromPair).map( (file, i) => {
if (! file) return
return (
<div key={i} class={this.state.selected === file ? 'selected' : ''}>
diff --git a/client/components/Tasks/TaskListView.jsx b/client/components/Tasks/TaskListView.jsx
new file mode 100644
index 0000000..dc1d9b4
--- /dev/null
+++ b/client/components/Tasks/TaskListView.jsx
@@ -0,0 +1,23 @@
+import { h, Component } from 'preact'
+
+import FileLink from '../../containers/fileLink.js'
+
+export default function TaskListView (props) {
+ const tasks = (props.tasks || []).map( (task, i) => {
+ return (
+ <div key={i}>
+ <span>{task.id}</span>
+ <span>{task.created_at}</span>
+ <span class='name'><FileLink file={task.content_file}>{task.content_file.name}</FileLink></span>
+ <span class='name'><FileLink file={task.style_file}>{task.style_file.name}</FileLink></span>
+ <span>{task.alpha}</span>
+ </div>
+ )
+ // <span class='name'>{task.result_file.name}</span>
+ })
+ return (
+ <div class='list'>
+ {tasks}
+ </div>
+ )
+}
diff --git a/client/components/Tasks/Tasks.jsx b/client/components/Tasks/Tasks.jsx
index 263e669..79ee0a1 100644
--- a/client/components/Tasks/Tasks.jsx
+++ b/client/components/Tasks/Tasks.jsx
@@ -2,31 +2,10 @@ import { h, Component } from 'preact'
import { Link } from 'react-router-dom'
import TaskForm from '../../containers/taskForm.js'
-
-import client from '../../client.js'
+import TaskList from '../../containers/taskList.js'
export default class Tasks extends Component {
- constructor(props) {
- super()
- this.state = {
- adding: false,
- tasks: [],
- }
- client.task.index().then( tasks => this.setState({ tasks }) )
- }
render() {
-// <span class='name'>{task.result_file.name}</span>
- const tasks = (this.state.tasks || []).map( (task, i) => {
- return (
- <div key={i} onClick={() => this.toggle(task)}>
- <span>{task.id}</span>
- <span>{task.created_at}</span>
- <span class='name'>{task.content_file.name}</span>
- <span class='name'>{task.style_file.name}</span>
- <span>{task.alpha}</span>
- </div>
- )
- })
return (
<div class='column'>
<div class='window'>
@@ -39,9 +18,7 @@ export default class Tasks extends Component {
<div class='heading'>
<b>recent tasks</b>
</div>
- <div class='list'>
- {tasks}
- </div>
+ <TaskList />
</div>
</div>
)
diff --git a/client/components/UI/AudioPlayer.jsx b/client/components/UI/AudioPlayerView.jsx
index 1a68518..62745ed 100644
--- a/client/components/UI/AudioPlayer.jsx
+++ b/client/components/UI/AudioPlayerView.jsx
@@ -2,9 +2,9 @@ import { h, Component } from 'preact'
const audio = document.createElement('audio')
-export default function AudioPlayer (props) {
+export default function AudioPlayerView (props) {
if (props.file) {
- document.body.style.backgroundImage = 'url(' + pngpath(file) + ')'
+ document.body.style.backgroundImage = 'url(' + pngpath(props.file) + ')'
audio.src = mp3path(props.file)
audio.play()
return (
diff --git a/client/components/UI/Header.jsx b/client/components/UI/Header.jsx
index 55dd25f..3f643ba 100644
--- a/client/components/UI/Header.jsx
+++ b/client/components/UI/Header.jsx
@@ -1,6 +1,5 @@
import { h, Component } from 'preact'
-// import { Link } from 'react-router-dom'
-import AudioPlayerContainer from '../../containers/audioPlayerContainer.js'
+import AudioPlayer from '../../containers/audioPlayer.js'
export default class Header extends Component {
constructor(props) {
@@ -12,7 +11,7 @@ export default class Header extends Component {
return (
<div class='header'>
<b>spawn cortex</b>
- <AudioPlayerContainer />
+ <AudioPlayer />
</div>
)
}