Added breadcrumb object + breadcrumbs for major pages.

This commit is contained in:
Patrick Fic
2020-04-13 14:02:07 -07:00
parent 502debae2e
commit e66bd0ae56
29 changed files with 939 additions and 133 deletions

View File

@@ -1,10 +1,15 @@
import ApplicationActionTypes from "./application.types";
export const startLoading = () => ({
type: ApplicationActionTypes.START_LOADING
type: ApplicationActionTypes.START_LOADING,
});
export const endLoading = options => ({
export const endLoading = (options) => ({
type: ApplicationActionTypes.END_LOADING,
payload: options
payload: options,
});
export const setBreadcrumbs = (breadcrumbs) => ({
type: ApplicationActionTypes.SET_BREAD_CRUMBS,
payload: breadcrumbs,
});

View File

@@ -1,7 +1,8 @@
import ApplicationActionTypes from "./application.types";
const INITIAL_STATE = {
loading: false
loading: false,
breadcrumbs: [],
};
const applicationReducer = (state = INITIAL_STATE, action) => {
@@ -9,12 +10,17 @@ const applicationReducer = (state = INITIAL_STATE, action) => {
case ApplicationActionTypes.START_LOADING:
return {
...state,
loading: true
loading: true,
};
case ApplicationActionTypes.END_LOADING:
return {
...state,
loading: false
loading: false,
};
case ApplicationActionTypes.SET_BREAD_CRUMBS:
return {
...state,
breadcrumbs: action.payload,
};
default:
return state;

View File

@@ -1,8 +1,13 @@
import { createSelector } from "reselect";
const selectApplication = state => state.application;
const selectApplication = (state) => state.application;
export const selectLoading = createSelector(
[selectApplication],
application => application.loading
(application) => application.loading
);
export const selectBreadcrumbs = createSelector(
[selectApplication],
(application) => application.breadcrumbs
);

View File

@@ -1,5 +1,6 @@
const ApplicationActionTypes = {
START_LOADING: "START_LOADING",
END_LOADING: "END_LOADING"
END_LOADING: "END_LOADING",
SET_BREAD_CRUMBS: "SET_BREAD_CRUMBS",
};
export default ApplicationActionTypes;