summaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
authorlens <lens@neural.garden>2020-12-26 20:59:17 +0000
committerlens <lens@neural.garden>2020-12-26 20:59:17 +0000
commit7c15f34186622410e25ee85c01d832e48e012140 (patch)
treee0a8dbd5e7b6a3936e7b9a666c2622ecc7ff1a65 /frontend
parent94234db6a771f687788d3decc6dd1ba01731f7af (diff)
parent85bfb949fea4e69dabc5b7544ce70d26d3d11393 (diff)
Merge branch 'master' of asdf.us:swimmer
Diffstat (limited to 'frontend')
-rw-r--r--frontend/app/actions.js (renamed from frontend/actions.js)4
-rw-r--r--frontend/app/api/crud.actions.js (renamed from frontend/api/crud.actions.js)8
-rw-r--r--frontend/app/api/crud.fetch.js (renamed from frontend/api/crud.fetch.js)0
-rw-r--r--frontend/app/api/crud.reducer.js (renamed from frontend/api/crud.reducer.js)16
-rw-r--r--frontend/app/api/crud.types.js (renamed from frontend/api/crud.types.js)0
-rw-r--r--frontend/app/api/crud.upload.js (renamed from frontend/api/crud.upload.js)2
-rw-r--r--frontend/app/api/index.js (renamed from frontend/api/index.js)7
-rw-r--r--frontend/app/common/app.css (renamed from frontend/common/app.css)0
-rw-r--r--frontend/app/common/copyToClipboardButton.component.js (renamed from frontend/common/copyToClipboardButton.component.js)4
-rw-r--r--frontend/app/common/fonts.css (renamed from frontend/common/fonts.css)0
-rw-r--r--frontend/app/common/form.component.js (renamed from frontend/common/form.component.js)2
-rw-r--r--frontend/app/common/form.css (renamed from frontend/common/form.css)0
-rw-r--r--frontend/app/common/header.component.js (renamed from frontend/common/header.component.js)2
-rw-r--r--frontend/app/common/imageCrop.component.js (renamed from frontend/common/imageCrop.component.js)2
-rw-r--r--frontend/app/common/index.js (renamed from frontend/common/index.js)0
-rw-r--r--frontend/app/common/loader.component.js (renamed from frontend/common/loader.component.js)0
-rw-r--r--frontend/app/common/loader.css (renamed from frontend/common/loader.css)0
-rw-r--r--frontend/app/common/menubutton.component.js (renamed from frontend/common/menubutton.component.js)2
-rw-r--r--frontend/app/common/miscellaneous.component.js (renamed from frontend/common/miscellaneous.component.js)4
-rw-r--r--frontend/app/common/miscellaneous.css (renamed from frontend/common/miscellaneous.css)0
-rw-r--r--frontend/app/common/modal.component.js (renamed from frontend/common/modal.component.js)0
-rw-r--r--frontend/app/common/modal.css (renamed from frontend/common/modal.css)0
-rw-r--r--frontend/app/common/slider.component.js (renamed from frontend/common/slider.component.js)0
-rw-r--r--frontend/app/common/table.component.js (renamed from frontend/common/table.component.js)2
-rw-r--r--frontend/app/common/table.css (renamed from frontend/common/table.css)0
-rw-r--r--frontend/app/common/tableIndex.component.js (renamed from frontend/common/tableIndex.component.js)4
-rw-r--r--frontend/app/common/upload.css (renamed from frontend/common/upload.css)0
-rw-r--r--frontend/app/common/upload.helpers.js (renamed from frontend/common/upload.helpers.js)0
-rw-r--r--frontend/app/common/uploadImage.component.js (renamed from frontend/common/uploadImage.component.js)0
-rw-r--r--frontend/app/router.js (renamed from frontend/app.js)4
-rw-r--r--frontend/app/session.js (renamed from frontend/session.js)2
-rw-r--r--frontend/app/site/actions.js (renamed from frontend/site/actions.js)0
-rw-r--r--frontend/app/site/app.js (renamed from frontend/site/app.js)2
-rw-r--r--frontend/app/site/index.js (renamed from frontend/site/index.js)0
-rw-r--r--frontend/app/site/site/site.actions.js11
-rw-r--r--frontend/app/site/site/site.reducer.js (renamed from frontend/site/site/site.reducer.js)1
-rw-r--r--frontend/app/site/store.js (renamed from frontend/site/store.js)1
-rw-r--r--frontend/app/site/types.js (renamed from frontend/site/types.js)2
-rw-r--r--frontend/app/site/viewer/viewer.container.js (renamed from frontend/site/viewer/viewer.container.js)4
-rw-r--r--frontend/app/store.js (renamed from frontend/store.js)13
-rw-r--r--frontend/app/types.js (renamed from frontend/types.js)2
-rw-r--r--frontend/app/utils/index.js (renamed from frontend/util/index.js)2
-rw-r--r--frontend/app/views/graph/components/graph.canvas.js (renamed from frontend/views/graph/components/graph.canvas.js)2
-rw-r--r--frontend/app/views/graph/components/graph.editor.js (renamed from frontend/views/graph/components/graph.editor.js)8
-rw-r--r--frontend/app/views/graph/components/graph.header.js (renamed from frontend/views/graph/components/graph.header.js)0
-rw-r--r--frontend/app/views/graph/components/page.edit.js (renamed from frontend/views/graph/components/page.edit.js)10
-rw-r--r--frontend/app/views/graph/components/page.form.js (renamed from frontend/views/graph/components/page.form.js)4
-rw-r--r--frontend/app/views/graph/components/page.handle.js (renamed from frontend/views/graph/components/page.handle.js)2
-rw-r--r--frontend/app/views/graph/components/page.new.js (renamed from frontend/views/graph/components/page.new.js)4
-rw-r--r--frontend/app/views/graph/graph.actions.js (renamed from frontend/views/graph/graph.actions.js)4
-rw-r--r--frontend/app/views/graph/graph.container.js (renamed from frontend/views/graph/graph.container.js)4
-rw-r--r--frontend/app/views/graph/graph.css (renamed from frontend/views/graph/graph.css)0
-rw-r--r--frontend/app/views/graph/graph.reducer.js (renamed from frontend/views/graph/graph.reducer.js)6
-rw-r--r--frontend/app/views/index.js (renamed from frontend/views/index.js)0
-rw-r--r--frontend/app/views/index/components/graph.form.js (renamed from frontend/views/index/components/graph.form.js)4
-rw-r--r--frontend/app/views/index/containers/graph.edit.js (renamed from frontend/views/index/containers/graph.edit.js)6
-rw-r--r--frontend/app/views/index/containers/graph.index.js (renamed from frontend/views/index/containers/graph.index.js)4
-rw-r--r--frontend/app/views/index/containers/graph.new.js (renamed from frontend/views/index/containers/graph.new.js)4
-rw-r--r--frontend/app/views/index/index.container.js (renamed from frontend/views/index/index.container.js)4
-rw-r--r--frontend/app/views/index/index.css (renamed from frontend/views/index/index.css)0
-rw-r--r--frontend/app/views/page/components/page.editor.js (renamed from frontend/views/page/components/page.editor.js)8
-rw-r--r--frontend/app/views/page/components/page.header.js (renamed from frontend/views/page/components/page.header.js)0
-rw-r--r--frontend/app/views/page/components/tile.edit.js (renamed from frontend/views/page/components/tile.edit.js)6
-rw-r--r--frontend/app/views/page/components/tile.form.js (renamed from frontend/views/page/components/tile.form.js)43
-rw-r--r--frontend/app/views/page/components/tile.handle.js (renamed from frontend/views/page/components/tile.handle.js)22
-rw-r--r--frontend/app/views/page/components/tile.list.js (renamed from frontend/views/page/components/tile.list.js)2
-rw-r--r--frontend/app/views/page/components/tile.new.js (renamed from frontend/views/page/components/tile.new.js)6
-rw-r--r--frontend/app/views/page/cursors.css (renamed from frontend/views/page/cursors.css)0
-rw-r--r--frontend/app/views/page/page.actions.js (renamed from frontend/views/page/page.actions.js)8
-rw-r--r--frontend/app/views/page/page.container.js (renamed from frontend/views/page/page.container.js)4
-rw-r--r--frontend/app/views/page/page.css (renamed from frontend/views/page/page.css)0
-rw-r--r--frontend/app/views/page/page.reducer.js (renamed from frontend/views/page/page.reducer.js)6
-rw-r--r--frontend/app/views/site/site.actions.js (renamed from frontend/views/site/site.actions.js)4
-rw-r--r--frontend/app/views/site/site.reducer.js (renamed from frontend/views/site/site.reducer.js)3
-rw-r--r--frontend/app/views/tile/tile.actions.js (renamed from frontend/views/tile/tile.actions.js)3
-rw-r--r--frontend/app/views/tile/tile.reducer.js (renamed from frontend/views/tile/tile.reducer.js)5
-rw-r--r--frontend/app/views/upload/components/upload.form.js (renamed from frontend/views/upload/components/upload.form.js)2
-rw-r--r--frontend/app/views/upload/components/upload.index.js (renamed from frontend/views/upload/components/upload.index.js)6
-rw-r--r--frontend/app/views/upload/components/upload.indexOptions.js (renamed from frontend/views/upload/components/upload.indexOptions.js)4
-rw-r--r--frontend/app/views/upload/components/upload.menu.js (renamed from frontend/views/upload/components/upload.menu.js)4
-rw-r--r--frontend/app/views/upload/components/upload.show.js (renamed from frontend/views/upload/components/upload.show.js)8
-rw-r--r--frontend/app/views/upload/upload.actions.js (renamed from frontend/views/upload/upload.actions.js)7
-rw-r--r--frontend/app/views/upload/upload.container.js (renamed from frontend/views/upload/upload.container.js)2
-rw-r--r--frontend/app/views/upload/upload.css (renamed from frontend/views/upload/upload.css)0
-rw-r--r--frontend/app/views/upload/upload.reducer.js (renamed from frontend/views/upload/upload.reducer.js)6
-rw-r--r--frontend/index.js6
-rw-r--r--frontend/site/site/site.actions.js24
87 files changed, 184 insertions, 174 deletions
diff --git a/frontend/actions.js b/frontend/app/actions.js
index 69b06f0..0fba6d1 100644
--- a/frontend/actions.js
+++ b/frontend/app/actions.js
@@ -1,9 +1,9 @@
import { bindActionCreators } from 'redux'
import { actions as crudActions } from './api'
-import * as siteActions from './views/site/site.actions'
+import * as siteActions from 'app/views/site/site.actions'
-import { store } from './store'
+import { store } from 'app/store'
export default
Object.keys(crudActions)
diff --git a/frontend/api/crud.actions.js b/frontend/app/api/crud.actions.js
index 25027a5..86c2948 100644
--- a/frontend/api/crud.actions.js
+++ b/frontend/app/api/crud.actions.js
@@ -1,7 +1,7 @@
-import { crud_fetch } from './crud.fetch'
-import { as_type } from './crud.types'
-import { upload_action } from './crud.upload'
-import { store } from '../store'
+import { crud_fetch } from 'app/api/crud.fetch'
+import { as_type } from 'app/api/crud.types'
+import { upload_action } from 'app/api/crud.upload'
+import { store } from 'app/store'
export function crud_actions(type) {
const fetch_type = crud_fetch(type)
diff --git a/frontend/api/crud.fetch.js b/frontend/app/api/crud.fetch.js
index c88225e..c88225e 100644
--- a/frontend/api/crud.fetch.js
+++ b/frontend/app/api/crud.fetch.js
diff --git a/frontend/api/crud.reducer.js b/frontend/app/api/crud.reducer.js
index dd1fe48..2a7e4c4 100644
--- a/frontend/api/crud.reducer.js
+++ b/frontend/app/api/crud.reducer.js
@@ -1,6 +1,6 @@
-import * as types from '../types'
-import { getOrderedIds, getOrderedIdsFromLookup } from '../util'
-import { session } from '../session'
+import * as types from 'app/types'
+import { getOrderedIds, getOrderedIdsFromLookup } from 'app/utils'
+import { session } from 'app/session'
export const crudState = (type, options) => ({
index: {},
@@ -115,14 +115,14 @@ export const crudReducer = (type) => {
...state,
update: action.data,
index: addToIndex(state.index, action.data.res, state.options.sort),
- show: (state.show && state.show.res) ? {
- res: (state.show.res.id === action.data.res.id ? {
+ show: (state.show.res && state.show.res.id === action.data.res.id) ? {
+ res: {
...state.show.res,
...action.data.res,
- } : state.show.res),
- } : {}
+ }
+ } : state.show
}
- case crud_type.index_error:
+ case crud_type.update_error:
return {
...state,
update: { loading: false, error: true },
diff --git a/frontend/api/crud.types.js b/frontend/app/api/crud.types.js
index 7b24811..7b24811 100644
--- a/frontend/api/crud.types.js
+++ b/frontend/app/api/crud.types.js
diff --git a/frontend/api/crud.upload.js b/frontend/app/api/crud.upload.js
index 8a711c7..8c1b265 100644
--- a/frontend/api/crud.upload.js
+++ b/frontend/app/api/crud.upload.js
@@ -1,4 +1,4 @@
-import { as_type } from './crud.types'
+import { as_type } from 'app/api/crud.types'
export function crud_upload(type, data, dispatch) {
return new Promise( (resolve, reject) => {
diff --git a/frontend/api/index.js b/frontend/app/api/index.js
index 26a8baa..41cf624 100644
--- a/frontend/api/index.js
+++ b/frontend/app/api/index.js
@@ -1,11 +1,10 @@
-import { crud_actions } from './crud.actions'
-import * as util from '../util'
+import { crud_actions } from 'app/api/crud.actions'
/*
for our crud events, create corresponding actions
the actions fire a 'loading' event, call the underlying api method, and then resolve.
so you can do ...
- import { folderActions } from '../../api'
+ import { folderActions } from 'app/api'
folderActions.index({ module: 'samplernn' })
folderActions.show(12)
folderActions.create({ module: 'samplernn', name: 'foo' })
@@ -14,8 +13,6 @@ so you can do ...
folderActions.upload(12, form_data)
*/
-export { util }
-
export const actions = [
'graph',
'page',
diff --git a/frontend/common/app.css b/frontend/app/common/app.css
index d9f9946..d9f9946 100644
--- a/frontend/common/app.css
+++ b/frontend/app/common/app.css
diff --git a/frontend/common/copyToClipboardButton.component.js b/frontend/app/common/copyToClipboardButton.component.js
index cfe7103..0defba5 100644
--- a/frontend/common/copyToClipboardButton.component.js
+++ b/frontend/app/common/copyToClipboardButton.component.js
@@ -1,5 +1,5 @@
-import React, { Component } from 'react';
-import { writeToClipboard } from '../util'
+import React, { Component } from 'react'
+import { writeToClipboard } from 'app/utils'
export default class CopyToClipboardButton extends Component {
state = {
diff --git a/frontend/common/fonts.css b/frontend/app/common/fonts.css
index c782885..c782885 100644
--- a/frontend/common/fonts.css
+++ b/frontend/app/common/fonts.css
diff --git a/frontend/common/form.component.js b/frontend/app/common/form.component.js
index f3775a2..cf3e466 100644
--- a/frontend/common/form.component.js
+++ b/frontend/app/common/form.component.js
@@ -1,5 +1,5 @@
import React, { Component } from 'react';
-import { courtesyS } from '../util'
+import { courtesyS } from 'app/utils'
export const TextInput = props => (
<label className={props.error ? 'error' : 'text'}>
diff --git a/frontend/common/form.css b/frontend/app/common/form.css
index dbfa01f..dbfa01f 100644
--- a/frontend/common/form.css
+++ b/frontend/app/common/form.css
diff --git a/frontend/common/header.component.js b/frontend/app/common/header.component.js
index 9e96e80..115c9b4 100644
--- a/frontend/common/header.component.js
+++ b/frontend/app/common/header.component.js
@@ -2,7 +2,7 @@ import React from 'react'
// import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
import { Link } from 'react-router-dom'
-import { session } from '../session'
+import { session } from 'app/session'
function Header(props) {
return (
diff --git a/frontend/common/imageCrop.component.js b/frontend/app/common/imageCrop.component.js
index 9cae850..f687d90 100644
--- a/frontend/common/imageCrop.component.js
+++ b/frontend/app/common/imageCrop.component.js
@@ -1,5 +1,5 @@
import React, { Component } from 'react';
-import { cropImage } from '../util'
+import { cropImage } from 'app/utils'
export default class ImageCrop extends Component {
state = {
diff --git a/frontend/common/index.js b/frontend/app/common/index.js
index 5c0dc50..5c0dc50 100644
--- a/frontend/common/index.js
+++ b/frontend/app/common/index.js
diff --git a/frontend/common/loader.component.js b/frontend/app/common/loader.component.js
index f0a0c69..f0a0c69 100644
--- a/frontend/common/loader.component.js
+++ b/frontend/app/common/loader.component.js
diff --git a/frontend/common/loader.css b/frontend/app/common/loader.css
index f047e8e..f047e8e 100644
--- a/frontend/common/loader.css
+++ b/frontend/app/common/loader.css
diff --git a/frontend/common/menubutton.component.js b/frontend/app/common/menubutton.component.js
index d4c2e31..5fd8e2f 100644
--- a/frontend/common/menubutton.component.js
+++ b/frontend/app/common/menubutton.component.js
@@ -1,6 +1,6 @@
import React, { Component } from 'react'
import { Route, Link } from 'react-router-dom'
-import { history } from '../store'
+import { history } from 'app/store'
const icons = {
upload: {
diff --git a/frontend/common/miscellaneous.component.js b/frontend/app/common/miscellaneous.component.js
index cf12ef5..bf2c266 100644
--- a/frontend/common/miscellaneous.component.js
+++ b/frontend/app/common/miscellaneous.component.js
@@ -1,6 +1,6 @@
-import React, { Component } from 'react';
+import React, { Component } from 'react'
import { Link } from 'react-router-dom'
-import { clamp, percent } from '../util'
+import { clamp, percent } from 'app/utils'
export const Swatch = ({ color }) => (
<div
diff --git a/frontend/common/miscellaneous.css b/frontend/app/common/miscellaneous.css
index 32c3e7b..32c3e7b 100644
--- a/frontend/common/miscellaneous.css
+++ b/frontend/app/common/miscellaneous.css
diff --git a/frontend/common/modal.component.js b/frontend/app/common/modal.component.js
index 75c479c..75c479c 100644
--- a/frontend/common/modal.component.js
+++ b/frontend/app/common/modal.component.js
diff --git a/frontend/common/modal.css b/frontend/app/common/modal.css
index 5e95a09..5e95a09 100644
--- a/frontend/common/modal.css
+++ b/frontend/app/common/modal.css
diff --git a/frontend/common/slider.component.js b/frontend/app/common/slider.component.js
index 9d96b1e..9d96b1e 100644
--- a/frontend/common/slider.component.js
+++ b/frontend/app/common/slider.component.js
diff --git a/frontend/common/table.component.js b/frontend/app/common/table.component.js
index 8a74a79..b26dcba 100644
--- a/frontend/common/table.component.js
+++ b/frontend/app/common/table.component.js
@@ -1,6 +1,6 @@
import React from 'react'
-import { formatName } from '../util'
+import { formatName } from 'app/utils'
const __HR__ = '__HR__'
diff --git a/frontend/common/table.css b/frontend/app/common/table.css
index 4752e21..4752e21 100644
--- a/frontend/common/table.css
+++ b/frontend/app/common/table.css
diff --git a/frontend/common/tableIndex.component.js b/frontend/app/common/tableIndex.component.js
index a34a9e9..c58fc35 100644
--- a/frontend/common/tableIndex.component.js
+++ b/frontend/app/common/tableIndex.component.js
@@ -2,8 +2,8 @@ import React, { Component } from 'react'
import { Link } from 'react-router-dom'
import { connect } from 'react-redux'
-import { formatDateTime } from '../util'
-import { Loader, Swatch, Dot } from '../common'
+import { formatDateTime } from 'app/utils'
+import { Loader, Swatch, Dot } from 'app/common'
/*
<TableIndex
diff --git a/frontend/common/upload.css b/frontend/app/common/upload.css
index 719f98c..719f98c 100644
--- a/frontend/common/upload.css
+++ b/frontend/app/common/upload.css
diff --git a/frontend/common/upload.helpers.js b/frontend/app/common/upload.helpers.js
index f26e2cc..f26e2cc 100644
--- a/frontend/common/upload.helpers.js
+++ b/frontend/app/common/upload.helpers.js
diff --git a/frontend/common/uploadImage.component.js b/frontend/app/common/uploadImage.component.js
index 3ae41c8..3ae41c8 100644
--- a/frontend/common/uploadImage.component.js
+++ b/frontend/app/common/uploadImage.component.js
diff --git a/frontend/app.js b/frontend/app/router.js
index ac1f3e1..8dbbd0f 100644
--- a/frontend/app.js
+++ b/frontend/app/router.js
@@ -2,9 +2,9 @@ import React, { Component } from 'react'
import { ConnectedRouter } from 'connected-react-router'
import { Route } from 'react-router'
-// import actions from './actions'
+// import actions from 'app/actions'
-import * as views from './views'
+import * as views from 'app/views'
const viewList = Object.keys(views).map(name => {
const view = views[name]
diff --git a/frontend/session.js b/frontend/app/session.js
index aea0db4..cdce686 100644
--- a/frontend/session.js
+++ b/frontend/app/session.js
@@ -1,6 +1,6 @@
import Storage from 'store2'
-export const session = Storage.namespace('vcat.search')
+export const session = Storage.namespace('swimmer')
export const getDefault = (key, def) => {
const val = session.get(key);
diff --git a/frontend/site/actions.js b/frontend/app/site/actions.js
index e672028..e672028 100644
--- a/frontend/site/actions.js
+++ b/frontend/app/site/actions.js
diff --git a/frontend/site/app.js b/frontend/app/site/app.js
index cf52460..389e5b5 100644
--- a/frontend/site/app.js
+++ b/frontend/app/site/app.js
@@ -31,3 +31,5 @@ export default class App extends Component {
)
}
}
+/*
+*/
diff --git a/frontend/site/index.js b/frontend/app/site/index.js
index 6f1a0a5..6f1a0a5 100644
--- a/frontend/site/index.js
+++ b/frontend/app/site/index.js
diff --git a/frontend/app/site/site/site.actions.js b/frontend/app/site/site/site.actions.js
new file mode 100644
index 0000000..79e4573
--- /dev/null
+++ b/frontend/app/site/site/site.actions.js
@@ -0,0 +1,11 @@
+import * as types from '../types'
+import { api } from 'app/utils'
+
+export const setSiteTitle = title => dispatch => {
+ document.querySelector('title').innerText = title
+ dispatch({ type: types.site.set_site_title, payload: title })
+}
+
+export const loadSite = (graph_name, path_name) => dispatch => (
+ api(dispatch, types.site, 'site', '/' + graph_name + '/index.json')
+)
diff --git a/frontend/site/site/site.reducer.js b/frontend/app/site/site/site.reducer.js
index f630b9c..85c3486 100644
--- a/frontend/site/site/site.reducer.js
+++ b/frontend/app/site/site/site.reducer.js
@@ -1,5 +1,4 @@
import * as types from '../types'
-// import { session, getDefault, getDefaultInt } from '../../session'
const initialState = {
siteTitle: 'swimmer',
diff --git a/frontend/site/store.js b/frontend/app/site/store.js
index cd77990..a228e2b 100644
--- a/frontend/site/store.js
+++ b/frontend/app/site/store.js
@@ -2,7 +2,6 @@ import { applyMiddleware, compose, combineReducers, createStore } from 'redux'
import { connectRouter, routerMiddleware } from 'connected-react-router'
import { createBrowserHistory } from 'history'
import thunk from 'redux-thunk'
-// import { login } from './util'
import siteReducer from './site/site.reducer'
diff --git a/frontend/site/types.js b/frontend/app/site/types.js
index 8388eff..23bed98 100644
--- a/frontend/site/types.js
+++ b/frontend/app/site/types.js
@@ -1,4 +1,4 @@
-import { with_type, crud_type } from '../api/crud.types'
+import { with_type, crud_type } from 'app/api/crud.types'
export const site = with_type('site', [
'set_site_title', 'loading', 'loaded', 'error',
diff --git a/frontend/site/viewer/viewer.container.js b/frontend/app/site/viewer/viewer.container.js
index da81551..42ce6c2 100644
--- a/frontend/site/viewer/viewer.container.js
+++ b/frontend/app/site/viewer/viewer.container.js
@@ -4,8 +4,8 @@ import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
import actions from '../actions'
-import { Loader } from '../../common/loader.component'
-import TileHandle from '../../views/page/components/tile.handle'
+import { Loader } from 'app/common/loader.component'
+import TileHandle from 'app/views/page/components/tile.handle'
import '../../views/page/page.css'
diff --git a/frontend/store.js b/frontend/app/store.js
index e72c54e..9cf1dbe 100644
--- a/frontend/store.js
+++ b/frontend/app/store.js
@@ -1,16 +1,13 @@
import { applyMiddleware, compose, combineReducers, createStore } from 'redux'
import { connectRouter, routerMiddleware } from 'connected-react-router'
import { createBrowserHistory } from 'history'
-// import createDebounce from 'redux-debounced'
import thunk from 'redux-thunk'
-// import { login } from './util'
-import uploadReducer from './views/upload/upload.reducer'
-import graphReducer from './views/graph/graph.reducer'
-import pageReducer from './views/page/page.reducer'
-import tileReducer from './views/tile/tile.reducer'
+import uploadReducer from 'app/views/upload/upload.reducer'
+import graphReducer from 'app/views/graph/graph.reducer'
+import pageReducer from 'app/views/page/page.reducer'
+import tileReducer from 'app/views/tile/tile.reducer'
import siteReducer from './views/site/site.reducer'
-// import collectionReducer from './views/collection/collection.reducer'
const createRootReducer = history => (
combineReducers({
@@ -21,7 +18,6 @@ const createRootReducer = history => (
page: pageReducer,
tile: tileReducer,
upload: uploadReducer,
- // collection: collectionReducer,
})
)
@@ -34,7 +30,6 @@ const configureStore = (initialState = {}, history) => {
composeEnhancers(
applyMiddleware(
thunk,
- // createDebounce(),
routerMiddleware(history)
),
),
diff --git a/frontend/types.js b/frontend/app/types.js
index 10fb411..7120a91 100644
--- a/frontend/types.js
+++ b/frontend/app/types.js
@@ -1,4 +1,4 @@
-import { with_type, crud_type } from './api/crud.types'
+import { with_type, crud_type } from 'app/api/crud.types'
export const api = crud_type('api', [])
diff --git a/frontend/util/index.js b/frontend/app/utils/index.js
index 194ecf0..bb5e01d 100644
--- a/frontend/util/index.js
+++ b/frontend/app/utils/index.js
@@ -1,4 +1,4 @@
-import { api as api_type } from '../types'
+import { api as api_type } from 'app/types'
// import { format, formatDistance } from 'date-fns'
import format from 'date-fns/format'
diff --git a/frontend/views/graph/components/graph.canvas.js b/frontend/app/views/graph/components/graph.canvas.js
index d10de4f..2896c6b 100644
--- a/frontend/views/graph/components/graph.canvas.js
+++ b/frontend/app/views/graph/components/graph.canvas.js
@@ -1,6 +1,6 @@
import React, { Component } from 'react'
-import { mod, angle } from '../../../util'
+import { mod, angle } from 'app/utils'
const DEFAULT_MEASUREMENT = { width: 16, height: 16 }
const BACKLINK_SPACING = 10
diff --git a/frontend/views/graph/components/graph.editor.js b/frontend/app/views/graph/components/graph.editor.js
index f0a5753..61f26b7 100644
--- a/frontend/views/graph/components/graph.editor.js
+++ b/frontend/app/views/graph/components/graph.editor.js
@@ -3,12 +3,12 @@ import { Route, Link } from 'react-router-dom'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
-import { session } from '../../../session'
-import actions from '../../../actions'
+import { session } from 'app/session'
+import actions from 'app/actions'
import * as graphActions from '../graph.actions'
-import { Loader } from '../../../common'
-import { clamp, dist, mod, angle } from '../../../util'
+import { Loader } from 'app/common'
+import { clamp, dist, mod, angle } from 'app/utils'
import GraphCanvas from './graph.canvas'
import PageHandle from './page.handle'
diff --git a/frontend/views/graph/components/graph.header.js b/frontend/app/views/graph/components/graph.header.js
index 46ad962..46ad962 100644
--- a/frontend/views/graph/components/graph.header.js
+++ b/frontend/app/views/graph/components/graph.header.js
diff --git a/frontend/views/graph/components/page.edit.js b/frontend/app/views/graph/components/page.edit.js
index 5bc64d6..4025726 100644
--- a/frontend/views/graph/components/page.edit.js
+++ b/frontend/app/views/graph/components/page.edit.js
@@ -3,12 +3,12 @@ import { Link } from 'react-router-dom'
import { connect } from 'react-redux'
import { bindActionCreators } from 'redux'
-import { history } from '../../../store'
-import actions from '../../../actions'
-import * as siteActions from '../../site/site.actions'
-import * as graphActions from '../../graph/graph.actions'
+import { history } from 'app/store'
+import actions from 'app/actions'
+import * as siteActions from 'app/views/site/site.actions'
+import * as graphActions from 'app/views/graph/graph.actions'
-import { Loader } from '../../../common'
+import { Loader } from 'app/common'
import PageForm from '../components/page.form'
diff --git a/frontend/views/graph/components/page.form.js b/frontend/app/views/graph/components/page.form.js
index 38fee18..8fc00b0 100644
--- a/frontend/views/graph/components/page.form.js
+++ b/frontend/app/views/graph/components/page.form.js
@@ -1,9 +1,9 @@
import React, { Component } from 'react'
import { Link } from 'react-router-dom'
-import { session } from '../../../session'
+import { session } from 'app/session'
-import { TextInput, ColorInput, LabelDescription, TextArea, Checkbox, SubmitButton, Loader } from '../../../common'
+import { TextInput, ColorInput, LabelDescription, TextArea, Checkbox, SubmitButton, Loader } from 'app/common'
const newPage = (data) => ({
path: '',
diff --git a/frontend/views/graph/components/page.handle.js b/frontend/app/views/graph/components/page.handle.js
index 7093399..c024f1e 100644
--- a/frontend/views/graph/components/page.handle.js
+++ b/frontend/app/views/graph/components/page.handle.js
@@ -1,7 +1,7 @@
import React, { Component } from 'react'
import { Link } from 'react-router-dom'
-import { history } from '../../../store'
+import { history } from 'app/store'
export default class PageHandle extends Component {
constructor(props){
diff --git a/frontend/views/graph/components/page.new.js b/frontend/app/views/graph/components/page.new.js
index bc74358..e7c3609 100644
--- a/frontend/views/graph/components/page.new.js
+++ b/frontend/app/views/graph/components/page.new.js
@@ -2,8 +2,8 @@ import React, { Component } from 'react'
import { Link } from 'react-router-dom'
import { connect } from 'react-redux'
-import { history } from '../../../store'
-import actions from '../../../actions'
+import { history } from 'app/store'
+import actions from 'app/actions'
import PageForm from '../components/page.form'
diff --git a/frontend/views/graph/graph.actions.js b/frontend/app/views/graph/graph.actions.js
index bf6b643..a24ccc2 100644
--- a/frontend/views/graph/graph.actions.js
+++ b/frontend/app/views/graph/graph.actions.js
@@ -1,5 +1,5 @@
-import * as types from '../../types'
-import actions from '../../actions'
+import * as types from 'app/types'
+import actions from 'app/actions'
export const showAddPageForm = () => dispatch => {
dispatch({ type: types.graph.show_add_page_form })
diff --git a/frontend/views/graph/graph.container.js b/frontend/app/views/graph/graph.container.js
index 7f53d64..9e354fc 100644
--- a/frontend/views/graph/graph.container.js
+++ b/frontend/app/views/graph/graph.container.js
@@ -5,8 +5,8 @@ import { connect } from 'react-redux'
import './graph.css'
-import actions from '../../actions'
-import { Loader } from '../../common'
+import actions from 'app/actions'
+import { Loader } from 'app/common'
// import * as uploadActions from './upload.actions'
diff --git a/frontend/views/graph/graph.css b/frontend/app/views/graph/graph.css
index 389a55d..389a55d 100644
--- a/frontend/views/graph/graph.css
+++ b/frontend/app/views/graph/graph.css
diff --git a/frontend/views/graph/graph.reducer.js b/frontend/app/views/graph/graph.reducer.js
index 37798b3..6be5089 100644
--- a/frontend/views/graph/graph.reducer.js
+++ b/frontend/app/views/graph/graph.reducer.js
@@ -1,7 +1,7 @@
-import * as types from '../../types'
-// import { session, getDefault, getDefaultInt } from '../../session'
+import * as types from 'app/types'
+// import { session, getDefault, getDefaultInt } from 'app/session'
-import { crudState, crudReducer } from '../../api/crud.reducer'
+import { crudState, crudReducer } from 'app/api/crud.reducer'
const initialState = crudState('graph', {
editor: {
diff --git a/frontend/views/index.js b/frontend/app/views/index.js
index c50ab80..c50ab80 100644
--- a/frontend/views/index.js
+++ b/frontend/app/views/index.js
diff --git a/frontend/views/index/components/graph.form.js b/frontend/app/views/index/components/graph.form.js
index d90b663..4b3a7af 100644
--- a/frontend/views/index/components/graph.form.js
+++ b/frontend/app/views/index/components/graph.form.js
@@ -1,9 +1,9 @@
import React, { Component } from 'react'
import { Link } from 'react-router-dom'
-import { session } from '../../../session'
+import { session } from 'app/session'
-import { TextInput, LabelDescription, TextArea, Checkbox, SubmitButton, Loader } from '../../../common'
+import { TextInput, LabelDescription, TextArea, Checkbox, SubmitButton, Loader } from 'app/common'
const newGraph = () => ({
path: '',
diff --git a/frontend/views/index/containers/graph.edit.js b/frontend/app/views/index/containers/graph.edit.js
index ce1b404..b459cd8 100644
--- a/frontend/views/index/containers/graph.edit.js
+++ b/frontend/app/views/index/containers/graph.edit.js
@@ -2,10 +2,10 @@ import React, { Component } from 'react'
import { Link } from 'react-router-dom'
import { connect } from 'react-redux'
-import { history } from '../../../store'
-import actions from '../../../actions'
+import { history } from 'app/store'
+import actions from 'app/actions'
-import { Loader } from '../../../common'
+import { Loader } from 'app/common'
import GraphForm from '../components/graph.form'
diff --git a/frontend/views/index/containers/graph.index.js b/frontend/app/views/index/containers/graph.index.js
index 35c2d82..91098a7 100644
--- a/frontend/views/index/containers/graph.index.js
+++ b/frontend/app/views/index/containers/graph.index.js
@@ -3,8 +3,8 @@ import { Link } from 'react-router-dom'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
-import { Loader } from '../../../common'
-import actions from '../../../actions'
+import { Loader } from 'app/common'
+import actions from 'app/actions'
// import * as uploadActions from './upload.actions'
class GraphIndex extends Component {
diff --git a/frontend/views/index/containers/graph.new.js b/frontend/app/views/index/containers/graph.new.js
index be96bf5..28d2f73 100644
--- a/frontend/views/index/containers/graph.new.js
+++ b/frontend/app/views/index/containers/graph.new.js
@@ -2,8 +2,8 @@ import React, { Component } from 'react'
import { Link } from 'react-router-dom'
import { connect } from 'react-redux'
-import { history } from '../../../store'
-import actions from '../../../actions'
+import { history } from 'app/store'
+import actions from 'app/actions'
import GraphForm from '../components/graph.form'
diff --git a/frontend/views/index/index.container.js b/frontend/app/views/index/index.container.js
index c6cb819..b1fa59f 100644
--- a/frontend/views/index/index.container.js
+++ b/frontend/app/views/index/index.container.js
@@ -5,8 +5,8 @@ import { connect } from 'react-redux'
import './index.css'
-import actions from '../../actions'
-import { Header } from '../../common'
+import actions from 'app/actions'
+import { Header } from 'app/common'
// import * as uploadActions from './upload.actions'
import GraphIndex from './containers/graph.index'
diff --git a/frontend/views/index/index.css b/frontend/app/views/index/index.css
index 028f6c2..028f6c2 100644
--- a/frontend/views/index/index.css
+++ b/frontend/app/views/index/index.css
diff --git a/frontend/views/page/components/page.editor.js b/frontend/app/views/page/components/page.editor.js
index bee86a0..d324874 100644
--- a/frontend/views/page/components/page.editor.js
+++ b/frontend/app/views/page/components/page.editor.js
@@ -3,13 +3,13 @@ import { Route } from 'react-router-dom'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
-import { session } from '../../../session'
-import actions from '../../../actions'
+import { session } from 'app/session'
+import actions from 'app/actions'
import * as pageActions from '../page.actions'
import * as tileActions from '../../tile/tile.actions'
-import { Loader } from '../../../common'
-import { clamp, dist } from '../../../util'
+import { Loader } from 'app/common'
+import { clamp, dist } from 'app/utils'
import TileHandle from './tile.handle'
diff --git a/frontend/views/page/components/page.header.js b/frontend/app/views/page/components/page.header.js
index eb1c3b9..eb1c3b9 100644
--- a/frontend/views/page/components/page.header.js
+++ b/frontend/app/views/page/components/page.header.js
diff --git a/frontend/views/page/components/tile.edit.js b/frontend/app/views/page/components/tile.edit.js
index bfcc34f..2ea09d1 100644
--- a/frontend/views/page/components/tile.edit.js
+++ b/frontend/app/views/page/components/tile.edit.js
@@ -3,12 +3,12 @@ import React, { Component } from 'react'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
-// import { history } from '../../../store'
-import actions from '../../../actions'
+// import { history } from 'app/store'
+import actions from 'app/actions'
import * as pageActions from '../../page/page.actions'
import * as tileActions from '../../tile/tile.actions'
-import { Loader } from '../../../common'
+import { Loader } from 'app/common'
import TileForm from '../components/tile.form'
diff --git a/frontend/views/page/components/tile.form.js b/frontend/app/views/page/components/tile.form.js
index 6011b0a..3f43dd0 100644
--- a/frontend/views/page/components/tile.form.js
+++ b/frontend/app/views/page/components/tile.form.js
@@ -3,19 +3,19 @@ import { connect } from 'react-redux'
import { bindActionCreators } from 'redux'
import { Link } from 'react-router-dom'
-import actions from '../../../actions'
-import { session } from '../../../session'
+import actions from 'app/actions'
+import { session } from 'app/session'
import {
TextInput, NumberInput, ColorInput, Slider,
Select, LabelDescription, TextArea, Checkbox,
- SubmitButton, Loader } from '../../../common'
-import { preloadImage } from '../../../util'
+ SubmitButton, Loader } from 'app/common'
+import { preloadImage } from 'app/utils'
import * as tileActions from '../../tile/tile.actions'
const SELECT_TYPES = [
- "image", "text", "link"
+ "image", "text", "link", "script",
].map(s => ({ name: s, label: s }))
const ALIGNMENTS = [
@@ -33,6 +33,7 @@ const REQUIRED_KEYS = {
image: ['url'],
text: ['content'],
link: [],
+ script: [],
}
const IMAGE_TILE_STYLES = [
@@ -109,6 +110,14 @@ const newLink = (data) => ({
...data,
})
+const newScript = (data) => ({
+ settings: {
+ ...newPosition({ width: 100, height: 100, }),
+ },
+ type: 'script',
+ ...data,
+})
+
const newPosition = (data) => ({
x: 0, y: 0,
width: 0, height: 0,
@@ -122,6 +131,7 @@ const TYPE_CONSTRUCTORS = {
image: newImage,
text: newText,
link: newLink,
+ script: newScript,
}
class TileForm extends Component {
@@ -356,6 +366,8 @@ class TileForm extends Component {
? this.renderTextForm()
: temporaryTile.type === 'link'
? this.renderLinkForm()
+ : temporaryTile.type === 'script'
+ ? this.renderScriptForm()
: ""}
{this.renderHyperlinkForm()}
@@ -555,6 +567,27 @@ class TileForm extends Component {
)
}
+ renderScriptForm() {
+ const { temporaryTile } = this.props
+ const { errorFields } = this.state
+ return (
+ <div>
+ <TextArea
+ title=""
+ name="content"
+ required
+ data={temporaryTile.settings}
+ error={errorFields.has('content')}
+ onChange={this.handleSettingsChange.bind(this)}
+ autoComplete="off"
+ />
+ <div>
+ Scripts will be run on the live site when this page loads.
+ </div>
+ </div>
+ )
+ }
+
renderHyperlinkForm() {
const { temporaryTile } = this.props
const { pageList } = this.state
diff --git a/frontend/views/page/components/tile.handle.js b/frontend/app/views/page/components/tile.handle.js
index 9212dbb..624b175 100644
--- a/frontend/views/page/components/tile.handle.js
+++ b/frontend/app/views/page/components/tile.handle.js
@@ -66,17 +66,25 @@ const TileHandle = ({ tile, bounds, box, viewing, onMouseDown, onDoubleClick })
style.width = tile.settings.width ? tile.settings.width + 'px' : 'auto'
style.height = tile.settings.height ? tile.settings.height + 'px' : 'auto'
break
+ case 'script':
+ content = ""
+ if (viewing) {
+ eval(tile.settings.content)
+ } else {
+ content = "SCRIPT"
+ }
}
if (viewing && tile.href) {
if (tile.href.indexOf('http') === 0) {
return (
- <div
- className={className}
- style={style}
- onClick={() => window.open(tile.href, '_blank')}
- >
- {content}
- </div>
+ <a href={tile.href} rel='noopener'>
+ <div
+ className={className}
+ style={style}
+ >
+ {content}
+ </div>
+ </a>
)
} else {
return (
diff --git a/frontend/views/page/components/tile.list.js b/frontend/app/views/page/components/tile.list.js
index 7e4f650..c455489 100644
--- a/frontend/views/page/components/tile.list.js
+++ b/frontend/app/views/page/components/tile.list.js
@@ -4,7 +4,7 @@ import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
import { ReactSortable } from "react-sortablejs"
-// import actions from '../../../actions'
+// import actions from 'app/actions'
import * as tileActions from '../../tile/tile.actions'
import * as pageActions from '../../page/page.actions'
diff --git a/frontend/views/page/components/tile.new.js b/frontend/app/views/page/components/tile.new.js
index c5ebeab..b491fdd 100644
--- a/frontend/views/page/components/tile.new.js
+++ b/frontend/app/views/page/components/tile.new.js
@@ -3,8 +3,8 @@ import React, { Component } from 'react'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
-import { history } from '../../../store'
-import actions from '../../../actions'
+import { history } from 'app/store'
+import actions from 'app/actions'
import * as tileActions from '../../tile/tile.actions'
import * as pageActions from '../../page/page.actions'
@@ -35,7 +35,7 @@ class TileNew extends Component {
graph={this.props.graph.show.res}
page={this.props.page.show.res}
initialData={null}
- sortOrder={this.props.page.show.res.tiles.length}
+ sortOrder={this.props.page.show.res.tiles ? this.props.page.show.res.tiles.length : []}
onSubmit={this.handleSubmit.bind(this)}
/>
)
diff --git a/frontend/views/page/cursors.css b/frontend/app/views/page/cursors.css
index 56fb088..56fb088 100644
--- a/frontend/views/page/cursors.css
+++ b/frontend/app/views/page/cursors.css
diff --git a/frontend/views/page/page.actions.js b/frontend/app/views/page/page.actions.js
index 42bd232..d2bbbe2 100644
--- a/frontend/views/page/page.actions.js
+++ b/frontend/app/views/page/page.actions.js
@@ -1,8 +1,8 @@
-import * as types from '../../types'
-import { store } from '../../store'
-import actions from '../../actions'
+import * as types from 'app/types'
+import { store } from 'app/store'
+import actions from 'app/actions'
import { default as debounce } from 'lodash.debounce'
-import { post } from '../../util'
+import { post } from 'app/utils'
const url = {
sortTiles: (id) => '/api/v1/page/' + id + '/sort',
diff --git a/frontend/views/page/page.container.js b/frontend/app/views/page/page.container.js
index 26bed30..dc85f5e 100644
--- a/frontend/views/page/page.container.js
+++ b/frontend/app/views/page/page.container.js
@@ -6,8 +6,8 @@ import { connect } from 'react-redux'
import './page.css'
import './cursors.css'
-import actions from '../../actions'
-import { Loader } from '../../common'
+import actions from 'app/actions'
+import { Loader } from 'app/common'
import * as graphActions from '../graph/graph.actions'
import * as pageActions from './page.actions'
diff --git a/frontend/views/page/page.css b/frontend/app/views/page/page.css
index 4559543..4559543 100644
--- a/frontend/views/page/page.css
+++ b/frontend/app/views/page/page.css
diff --git a/frontend/views/page/page.reducer.js b/frontend/app/views/page/page.reducer.js
index 462be37..c2d231a 100644
--- a/frontend/views/page/page.reducer.js
+++ b/frontend/app/views/page/page.reducer.js
@@ -1,7 +1,7 @@
-import * as types from '../../types'
-// import { session, getDefault, getDefaultInt } from '../../session'
+import * as types from 'app/types'
+// import { session, getDefault, getDefaultInt } from 'app/session'
-import { crudState, crudReducer } from '../../api/crud.reducer'
+import { crudState, crudReducer } from 'app/api/crud.reducer'
const initialState = crudState('page', {
editor: {
diff --git a/frontend/views/site/site.actions.js b/frontend/app/views/site/site.actions.js
index b5f0cbe..9c66933 100644
--- a/frontend/views/site/site.actions.js
+++ b/frontend/app/views/site/site.actions.js
@@ -1,6 +1,4 @@
-import * as types from '../../types'
-// import actions from '../../actions'
-// import { session } from '../../session'
+import * as types from 'app/types'
export const setSiteTitle = title => dispatch => {
document.querySelector('title').innerText = title
diff --git a/frontend/views/site/site.reducer.js b/frontend/app/views/site/site.reducer.js
index c9a25dd..b40d6f1 100644
--- a/frontend/views/site/site.reducer.js
+++ b/frontend/app/views/site/site.reducer.js
@@ -1,5 +1,4 @@
-import * as types from '../../types'
-// import { session, getDefault, getDefaultInt } from '../../session'
+import * as types from 'app/types'
const initialState = {
'siteTitle': 'swimmer',
diff --git a/frontend/views/tile/tile.actions.js b/frontend/app/views/tile/tile.actions.js
index b8ff657..e3be717 100644
--- a/frontend/views/tile/tile.actions.js
+++ b/frontend/app/views/tile/tile.actions.js
@@ -1,5 +1,4 @@
-import * as types from '../../types'
-// import { store } from '../../store'
+import * as types from 'app/types'
export const updateTemporaryTile = data => dispatch => {
dispatch({ type: types.tile.update_temporary_tile, data })
diff --git a/frontend/views/tile/tile.reducer.js b/frontend/app/views/tile/tile.reducer.js
index a4e5868..d327a0c 100644
--- a/frontend/views/tile/tile.reducer.js
+++ b/frontend/app/views/tile/tile.reducer.js
@@ -1,7 +1,6 @@
-import * as types from '../../types'
-// import { session, getDefault, getDefaultInt } from '../../session'
+import * as types from 'app/types'
-import { crudState, crudReducer } from '../../api/crud.reducer'
+import { crudState, crudReducer } from 'app/api/crud.reducer'
const initialState = crudState('tile', {
temporaryTile: null,
diff --git a/frontend/views/upload/components/upload.form.js b/frontend/app/views/upload/components/upload.form.js
index 2010088..e35bfaa 100644
--- a/frontend/views/upload/components/upload.form.js
+++ b/frontend/app/views/upload/components/upload.form.js
@@ -1,7 +1,7 @@
import React, { Component } from 'react'
import { Link } from 'react-router-dom'
-import { MenuButton, FileInput } from '../../../common'
+import { MenuButton, FileInput } from 'app/common'
export default class UploadForm extends Component {
render() {
diff --git a/frontend/views/upload/components/upload.index.js b/frontend/app/views/upload/components/upload.index.js
index 6123001..00cedc2 100644
--- a/frontend/views/upload/components/upload.index.js
+++ b/frontend/app/views/upload/components/upload.index.js
@@ -1,9 +1,9 @@
import React, { Component } from 'react'
import { Link } from 'react-router-dom'
-import { uploadUri, formatDateTime } from '../../../util'
-import { MenuButton, SmallMenuButton, Loader } from '../../../common'
-import actions from '../../../actions'
+import { uploadUri, formatDateTime } from 'app/utils'
+import { SmallMenuButton, Loader } from 'app/common'
+import actions from 'app/actions'
import UploadIndexOptions from './upload.indexOptions'
import UploadMenu from './upload.menu'
diff --git a/frontend/views/upload/components/upload.indexOptions.js b/frontend/app/views/upload/components/upload.indexOptions.js
index 22d3fdc..df266ef 100644
--- a/frontend/views/upload/components/upload.indexOptions.js
+++ b/frontend/app/views/upload/components/upload.indexOptions.js
@@ -3,9 +3,9 @@ import { Link } from 'react-router-dom'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
-import actions from '../../../actions'
+import actions from 'app/actions'
-import { Select, Checkbox } from '../../../common'
+import { Select, Checkbox } from 'app/common'
const thumbnailOptions = [
{ name: 'th', label: 'Thumbnails', },
diff --git a/frontend/views/upload/components/upload.menu.js b/frontend/app/views/upload/components/upload.menu.js
index 37c7f0b..485d06f 100644
--- a/frontend/views/upload/components/upload.menu.js
+++ b/frontend/app/views/upload/components/upload.menu.js
@@ -1,9 +1,9 @@
import React, { Component } from 'react'
import { Link } from 'react-router-dom'
-import { MenuButton, FileInput } from '../../../common'
+import { MenuButton, FileInput } from 'app/common'
-import actions from '../../../actions'
+import actions from 'app/actions'
export default class UploadMenu extends Component {
render() {
diff --git a/frontend/views/upload/components/upload.show.js b/frontend/app/views/upload/components/upload.show.js
index 6b36269..f63bc5f 100644
--- a/frontend/views/upload/components/upload.show.js
+++ b/frontend/app/views/upload/components/upload.show.js
@@ -2,10 +2,10 @@ import React, { Component } from 'react'
import { Link } from 'react-router-dom'
import { connect } from 'react-redux'
-import actions from '../../../actions'
-import { formatDate, formatTime, formatAge, uploadUri } from '../../../util'
-import { history } from '../../../store'
-import { Loader, MenuButton } from '../../../common'
+import actions from 'app/actions'
+import { formatDate, formatTime, formatAge, uploadUri } from 'app/utils'
+import { history } from 'app/store'
+import { Loader, MenuButton } from 'app/common'
class UploadShow extends Component {
componentDidMount() {
diff --git a/frontend/views/upload/upload.actions.js b/frontend/app/views/upload/upload.actions.js
index ba2b14b..8739bf7 100644
--- a/frontend/views/upload/upload.actions.js
+++ b/frontend/app/views/upload/upload.actions.js
@@ -1,8 +1,5 @@
-import * as types from '../../types'
-import { store, history } from '../../store'
-import { api, post, pad, preloadImage } from '../../util'
-import actions from '../../actions'
-import { session } from '../../session'
+import actions from 'app/actions'
+import { session } from 'app/session'
export const upload = file => dispatch => {
const formData = {
diff --git a/frontend/views/upload/upload.container.js b/frontend/app/views/upload/upload.container.js
index ea9df5a..608f01a 100644
--- a/frontend/views/upload/upload.container.js
+++ b/frontend/app/views/upload/upload.container.js
@@ -5,10 +5,8 @@ import { connect } from 'react-redux'
import './upload.css'
-import actions from '../../actions'
import * as uploadActions from './upload.actions'
-import UploadMenu from './components/upload.menu'
import UploadIndex from './components/upload.index'
import UploadShow from './components/upload.show'
diff --git a/frontend/views/upload/upload.css b/frontend/app/views/upload/upload.css
index 8d77754..8d77754 100644
--- a/frontend/views/upload/upload.css
+++ b/frontend/app/views/upload/upload.css
diff --git a/frontend/views/upload/upload.reducer.js b/frontend/app/views/upload/upload.reducer.js
index 98dc0a1..1f39f6e 100644
--- a/frontend/views/upload/upload.reducer.js
+++ b/frontend/app/views/upload/upload.reducer.js
@@ -1,7 +1,7 @@
-import * as types from '../../types'
-import { session, getDefault, getDefaultInt } from '../../session'
+import * as types from 'app/types'
+import { session, getDefault, getDefaultInt } from 'app/session'
-import { crudState, crudReducer } from '../../api/crud.reducer'
+import { crudState, crudReducer } from 'app/api/crud.reducer'
const initialState = crudState('upload', {
options: {
diff --git a/frontend/index.js b/frontend/index.js
index 6f1a0a5..8daf531 100644
--- a/frontend/index.js
+++ b/frontend/index.js
@@ -2,9 +2,9 @@ import React from 'react'
import ReactDOM from 'react-dom'
import { Provider } from 'react-redux'
-import App from './app'
+import Router from 'app/router'
-import { store, history } from './store'
+import { store, history } from 'app/store'
const container = document.createElement('div')
container.classList.add('container')
@@ -12,6 +12,6 @@ document.body.appendChild(container)
ReactDOM.render(
<Provider store={store}>
- <App history={history} />
+ <Router history={history} />
</Provider>, container
)
diff --git a/frontend/site/site/site.actions.js b/frontend/site/site/site.actions.js
deleted file mode 100644
index 5724df8..0000000
--- a/frontend/site/site/site.actions.js
+++ /dev/null
@@ -1,24 +0,0 @@
-import * as types from '../types'
-import { api } from '../../util'
-import { history } from '../store'
-// import actions from '../../actions'
-// import { session } from '../../session'
-
-export const setSiteTitle = title => dispatch => {
- document.querySelector('title').innerText = title
- dispatch({ type: types.site.set_site_title, payload: title })
-}
-
-export const loadSite = (graph_name, path_name) => dispatch => (
- api(dispatch, types.site, 'site', '/' + graph_name + '/index.json')
- // .then(res => {
- // const { graph } = res.data
- // // console.log(graph)
- // // console.log(graph.home_page)
- // const first_path = ["", graph_name, path_name].join("/")
- // if (!path_name || !(first_path in graph.pages)) {
- // // console.log(graph.home_page)
- // window.location.href = graph.home_page
- // }
- // })
-)