controltower
Advanced tools
Comparing version 0.6.33 to 0.6.34
{ | ||
"name": "controltower", | ||
"version": "0.6.33", | ||
"version": "0.6.34", | ||
"main": "./src/index.js", | ||
@@ -21,3 +21,3 @@ "license": "AGPL-3.0", | ||
"create:config": "babel-node tasks/createConfig.js", | ||
"start:www": "http-server docs/ -p 8081", | ||
"start:www": "http-server docs/ -p 9966", | ||
"build:www:js:vendors": "node tasks/vendorLibs.js", | ||
@@ -87,4 +87,5 @@ "build:www:js:app": "rollup src/index.js -c rollup.config.app.js -o docs/app.js", | ||
"dependencies": { | ||
"choo": "^4.0.0-0" | ||
"choo": "^4.0.0-0", | ||
"ramda": "^0.22.1" | ||
} | ||
} |
'use strict'; | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
var _choo = require('choo'); | ||
@@ -13,22 +11,18 @@ | ||
var _package = require('../package.json'); | ||
var _app = require('./models/app'); | ||
var _fbGetUserInfo = require('./effects/fbGetUserInfo'); | ||
var _app2 = _interopRequireDefault(_app); | ||
var _fbGetUserInfo2 = _interopRequireDefault(_fbGetUserInfo); | ||
var _customer = require('./models/customer'); | ||
var _fbSignInToggle = require('./effects/fbSignInToggle'); | ||
var _customer2 = _interopRequireDefault(_customer); | ||
var _fbSignInToggle2 = _interopRequireDefault(_fbSignInToggle); | ||
var _fbSession = require('./models/fbSession'); | ||
var _user = require('./reducers/user'); | ||
var _fbSession2 = _interopRequireDefault(_fbSession); | ||
var _fbSetup = require('./subscriptions/fbSetup'); | ||
var _bots = require('./models/bots'); | ||
var _fbSetup2 = _interopRequireDefault(_fbSetup); | ||
var _bots2 = _interopRequireDefault(_bots); | ||
var _dashboard = require('./views/dashboard'); | ||
var _dashboard2 = _interopRequireDefault(_dashboard); | ||
var _fbSDK = require('./views/fbSDK'); | ||
@@ -42,62 +36,23 @@ | ||
var _setup = require('./views/setup'); | ||
var _dashboard = require('./views/dashboard'); | ||
var _setup2 = _interopRequireDefault(_setup); | ||
var _dashboard2 = _interopRequireDefault(_dashboard); | ||
var _bot = require('./views/bot'); | ||
var _bot2 = _interopRequireDefault(_bot); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
const app = (0, _choo2.default)({ href: true, history: true }); | ||
const appModel = { | ||
namespace: 'app', | ||
state: { | ||
version: _package.version, | ||
homepage: _package.homepage | ||
} | ||
}; | ||
const userModel = { | ||
namespace: 'user', | ||
state: { | ||
id: null, | ||
name: null, | ||
email: null, | ||
isLogged: false | ||
}, | ||
reducers: { | ||
setInfo: _user.setInfo, | ||
signIn: _user.signIn, | ||
signOut: _user.signOut | ||
}, | ||
effects: { | ||
signInToggle: (data, state, send) => (0, _fbSignInToggle2.default)(state.isLogged, _config2.default.facebook.loginParams, send), | ||
fetchInfo: (data, state, send, done) => (0, _fbGetUserInfo2.default)(_config2.default.facebook.userFields, send, done) | ||
}, | ||
subscriptions: { | ||
statusChange: (0, _fbSetup2.default)(_config2.default.facebook) | ||
} | ||
}; | ||
const setupModel = { | ||
namespace: 'setup', | ||
state: { | ||
id: null | ||
}, | ||
reducers: { | ||
setId: (data, state) => _extends({}, state, { | ||
id: data.id | ||
}) | ||
}, | ||
effects: { | ||
fetch: (data, state, send, done) => { | ||
send('location:set', { pathname: `./b/${ data.setupId }` }, done); | ||
} | ||
} | ||
}; | ||
app.model(appModel); | ||
app.model(userModel); | ||
app.model(setupModel); | ||
app.model(_app2.default); | ||
app.model(_customer2.default); | ||
app.model((0, _fbSession2.default)(_config2.default)); | ||
app.model(_bots2.default); | ||
const authWrapper = (loggedView, anonView) => (state, prev, send) => state.user.isLogged && state.user.id ? loggedView(state, prev, send) : anonView(state, prev, send); | ||
const authWrapper = (loggedView, anonView) => (state, prev, send) => state.customer.isLogged && state.customer.id ? loggedView(state, prev, send) : anonView(state, prev, send); | ||
app.router([['/', authWrapper(_dashboard2.default, _main2.default)], ['/b/:botId', authWrapper(_setup2.default, _main2.default)], | ||
app.router([['/', authWrapper(_dashboard2.default, _main2.default)], ['/b/:botId', authWrapper(_bot2.default, _main2.default)], | ||
// TODO remove this duplicated routes in a nicer manner | ||
['/controltower', authWrapper(_dashboard2.default, _main2.default)], ['/controltower/b/:botId', authWrapper(_setup2.default, _main2.default)]]); | ||
['/controltower', authWrapper(_dashboard2.default, _main2.default)], ['/controltower/b/:botId', authWrapper(_bot2.default, _main2.default)]]); | ||
@@ -104,0 +59,0 @@ const tree = app.start(); |
@@ -25,9 +25,7 @@ 'use strict'; | ||
<form | ||
method="POST" | ||
action="#/setup" | ||
onsubmit=${ e => { | ||
e.preventDefault(); | ||
const setupId = document.forms[0][0].value; | ||
send('setup:setId', { id: setupId }); | ||
send('setup:fetch', { setupId }); | ||
const botId = document.forms[0][0].value; | ||
send('bots:select', { id: botId }); | ||
send('bots:load', { id: botId }); | ||
} } | ||
@@ -44,5 +42,5 @@ > | ||
</form> | ||
${ (0, _toolbar2.default)(state.user, state.app, send) } | ||
${ (0, _toolbar2.default)(state.customer, state.app, send) } | ||
<hr> | ||
<p>${ JSON.stringify(state.user) }</p> | ||
</div>`; |
@@ -20,4 +20,4 @@ 'use strict'; | ||
<h1>Welcome</h1> | ||
${ state.user.id ? JSON.stringify(state.user) : '' } | ||
${ (0, _toolbar2.default)(state.user, state.app, send) } | ||
${ state.customer.id ? JSON.stringify(state.customer) : '' } | ||
${ (0, _toolbar2.default)(state.customer, state.app, send) } | ||
</div>`; |
@@ -19,5 +19,5 @@ 'use strict'; | ||
<button | ||
onclick=${ () => send('user:signInToggle') } | ||
onclick=${ () => send('fbsession:signInToggle', { isLogged }) } | ||
> | ||
${ isLogged ? _ptBr2.default.signInToggle.signOut : _ptBr2.default.signInToggle.signIn } | ||
</button>`; |
@@ -17,7 +17,7 @@ 'use strict'; | ||
exports.default = (userState, appState, send) => _html2.default` | ||
exports.default = (customerState, appState, send) => _html2.default` | ||
<div | ||
style="border-top: 1px solid black;margin-top: 1rem;padding-top: 1rem;" | ||
> | ||
${ (0, _signInToggle2.default)(userState.isLogged, send) } | ||
${ (0, _signInToggle2.default)(customerState.isLogged, send) } | ||
<small> | ||
@@ -24,0 +24,0 @@ • Control Tower v${ appState.version } • |
55673
22
489
2
+ Addedramda@^0.22.1
+ Addedramda@0.22.1(transitive)