Skip to content

Commit

Permalink
feat(demos): getUser on changed route
Browse files Browse the repository at this point in the history
  • Loading branch information
julio-saito-linx committed Nov 15, 2016
1 parent 9b88427 commit ada2dbb
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 1 deletion.
2 changes: 2 additions & 0 deletions packages/demo/src/modules/app/index.js
@@ -1,4 +1,5 @@
import {input, set, state, unset} from 'cerebral/operators'
import getCurrentUser from '../common/signals/getCurrentUser'

export default {
state: {
Expand All @@ -7,6 +8,7 @@ export default {
},
signals: {
routed: [
...getCurrentUser,
set(state`app.$selectedView`, 'Today')
],
langOptionClicked: [
Expand Down
2 changes: 2 additions & 0 deletions packages/demo/src/modules/clients/index.js
Expand Up @@ -6,6 +6,7 @@ import editClient from './signals/editClient'
import closeDraft from './signals/closeDraft'
import closeModal from './signals/closeModal'
import updateDraft from './signals/updateDraft'
import getCurrentUser from '../common/signals/getCurrentUser'

export default {
state: {
Expand Down Expand Up @@ -51,6 +52,7 @@ export default {
],
reviewChangesClicked: closeModal,
routed: [
...getCurrentUser,
set(state`app.$selectedView`, 'Clients')
],
penClicked: editClient,
Expand Down
21 changes: 21 additions & 0 deletions packages/demo/src/modules/common/signals/getCurrentUser.js
@@ -0,0 +1,21 @@
import {input, set, state, when} from 'cerebral/operators'
import getUser from '../../user/actions/getUser'

const getCurrentUser = [
when(state`user.$loggedIn`), {
true: [],
false: [
getUser, {
success: [
set(state`user.$loggedIn`, true),
set(state`user.currentUser`, input`user`)
],
error: [
set(state`user.$loggedIn`, false)
]
}
]
}
]

export default getCurrentUser
2 changes: 2 additions & 0 deletions packages/demo/src/modules/projects/index.js
Expand Up @@ -5,6 +5,7 @@ import discardDraft from './signals/discardDraft'
import editProject from './signals/editProject'
import updateDraft from './signals/updateDraft'
import saveDraft from './signals/saveDraft'
import getCurrentUser from '../common/signals/getCurrentUser'

export default {
state: {
Expand Down Expand Up @@ -48,6 +49,7 @@ export default {
set(state`projects.$showProjectSelector`, true)
],
routed: [
...getCurrentUser,
set(state`app.$selectedView`, 'Projects')
],
saveClicked: saveDraft,
Expand Down
2 changes: 2 additions & 0 deletions packages/demo/src/modules/tasks/index.js
@@ -1,6 +1,7 @@
import {input, set, state} from 'cerebral/operators'
import startStopRunning from './signals/startStopRunning'
import updateNow from './signals/updateNow'
import getCurrentUser from '../common/signals/getCurrentUser'

export default {
state: {
Expand All @@ -24,6 +25,7 @@ export default {
set(state`tasks.$running.description`, input`description`)
],
routed: [
...getCurrentUser,
set(state`app.$selectedView`, 'Tasks')
],
startStopClicked: startStopRunning,
Expand Down
2 changes: 1 addition & 1 deletion packages/demo/src/modules/user/actions/createUser.js
@@ -1,4 +1,4 @@
function createUser ({ firebase, path, state }) {
function createUser ({firebase, path, state}) {
const email = state.get('user.signIn.$email')
const password = state.get('user.signIn.$password')

Expand Down
7 changes: 7 additions & 0 deletions packages/demo/src/modules/user/actions/getUser.js
@@ -0,0 +1,7 @@
function getUser ({firebase, path}) {
return firebase.getUser()
.then(path.success)
.catch(path.error)
}

export default getUser

0 comments on commit ada2dbb

Please sign in to comment.