Move hikes store to main store
This commit is contained in:
@ -5,7 +5,11 @@ const initValue = {
|
|||||||
title: 'Learn To Code | Free Code Camp',
|
title: 'Learn To Code | Free Code Camp',
|
||||||
username: null,
|
username: null,
|
||||||
picture: null,
|
picture: null,
|
||||||
points: 0
|
points: 0,
|
||||||
|
hikesApp: {
|
||||||
|
hikes: [],
|
||||||
|
currentHikes: {}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Store({
|
export default Store({
|
||||||
@ -16,9 +20,14 @@ export default Store({
|
|||||||
init({ instance: appStore, args: [cat] }) {
|
init({ instance: appStore, args: [cat] }) {
|
||||||
const { updateRoute, setUser, setTitle } = cat.getActions('appActions');
|
const { updateRoute, setUser, setTitle } = cat.getActions('appActions');
|
||||||
const register = createRegistrar(appStore);
|
const register = createRegistrar(appStore);
|
||||||
|
let { setHikes } = cat.getActions('hikesActions');
|
||||||
|
|
||||||
|
// app
|
||||||
register(setter(fromMany(setUser, setTitle, updateRoute)));
|
register(setter(fromMany(setUser, setTitle, updateRoute)));
|
||||||
|
|
||||||
|
// hikes
|
||||||
|
register(setHikes);
|
||||||
|
|
||||||
return appStore;
|
return appStore;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -37,25 +37,34 @@ export default Actions({
|
|||||||
({ isPrimed, dashedName }) => {
|
({ isPrimed, dashedName }) => {
|
||||||
if (isPrimed) {
|
if (isPrimed) {
|
||||||
return hikeActions.setHikes({
|
return hikeActions.setHikes({
|
||||||
transform: (oldState) => {
|
transform: (state) => {
|
||||||
const { hikes } = oldState;
|
|
||||||
|
const { hikesApp: oldState } = state;
|
||||||
const currentHike = getCurrentHike(
|
const currentHike = getCurrentHike(
|
||||||
hikes,
|
oldState.hikes,
|
||||||
dashedName,
|
dashedName,
|
||||||
oldState.currentHike
|
oldState.currentHike
|
||||||
);
|
);
|
||||||
return Object.assign({}, oldState, { currentHike });
|
|
||||||
|
const hikesApp = { ...oldState, currentHike };
|
||||||
|
return Object.assign({}, state, { hikesApp });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
services.read('hikes', null, null, (err, hikes) => {
|
services.read('hikes', null, null, (err, hikes) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
debug('an error occurred fetching hikes', err);
|
return console.error(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const hikesApp = {
|
||||||
|
hikes,
|
||||||
|
currentHike: getCurrentHike(hikes, dashedName)
|
||||||
|
};
|
||||||
|
|
||||||
hikeActions.setHikes({
|
hikeActions.setHikes({
|
||||||
set: {
|
transform(oldState) {
|
||||||
hikes: hikes,
|
return Object.assign({}, oldState, { hikesApp });
|
||||||
currentHike: getCurrentHike(hikes, dashedName)
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
import { Store } from 'thundercats';
|
|
||||||
|
|
||||||
const initialValue = {
|
|
||||||
hikes: [],
|
|
||||||
currentHike: {}
|
|
||||||
};
|
|
||||||
|
|
||||||
export default Store({
|
|
||||||
refs: {
|
|
||||||
displayName: 'HikesStore',
|
|
||||||
value: initialValue
|
|
||||||
},
|
|
||||||
init({ instance: hikeStore, args: [cat] }) {
|
|
||||||
|
|
||||||
let { setHikes } = cat.getActions('hikesActions');
|
|
||||||
hikeStore.register(setHikes);
|
|
||||||
|
|
||||||
return hikeStore;
|
|
||||||
}
|
|
||||||
});
|
|
Reference in New Issue
Block a user