refactor: MONOREPO

This commit is contained in:
Alexander Polynomdivision
2018-09-20 17:38:12 +02:00
parent 4c9e328ad0
commit 909149fdc7
50 changed files with 222 additions and 3 deletions

View File

@@ -0,0 +1,24 @@
import { connect } from "react-redux";
import { IUser } from "../models/user";
import Application from "../components/app";
import { setAuthenticated, setUser } from "../actions";
const mapStateToProps = state => {
return {
authenticated: state.authenticated,
};
};
const mapDispatchToProps = dispatch => {
return {
setAuthenticated: (status: boolean) => dispatch(setAuthenticated(status)),
setUser: (user: IUser) => dispatch(setUser(user)),
};
};
const ApplicationContainer = connect(mapStateToProps,
mapDispatchToProps)(Application);
export default ApplicationContainer;

View File

@@ -0,0 +1,23 @@
import { connect } from "react-redux";
import { setDrawer } from "../actions";
import Drawer from "../components/Drawer";
const mapStateToProps = state => {
return {
user: state.user,
open: state.drawer,
authenticated: state.authenticated,
showButton: state.drawerButton,
};
};
const mapDispatchToProps = dispatch => {
return {
setDrawer: (show: boolean) => dispatch(setDrawer(show)),
};
};
const DrawerContainer = connect(mapStateToProps,
mapDispatchToProps)(Drawer);
export default DrawerContainer;

View File

@@ -0,0 +1,24 @@
import { connect } from "react-redux";
import { setLevelListLoading, setLevels } from "../actions";
import { ILevel } from "../models/level";
import LevelListPage from "../pages/levelList";
const mapStateToProps = state => {
return {
levels: state.levels,
loading: state.levelList.loading,
};
};
const mapDispatchToProps = dispatch => {
return {
setLoading: (state: boolean) => dispatch(setLevelListLoading(state)),
setLevels: (levels: ILevel[]) => dispatch(setLevels(levels)),
};
};
const LevelListContainer = connect(mapStateToProps,
mapDispatchToProps)(LevelListPage);
export default LevelListContainer;

View File

@@ -0,0 +1,35 @@
import { connect } from "react-redux";
import {
setDrawerButton, setLevelLookedAt,
setLevelCurrentVocab, setLevelVocab, setLevelLoading
} from "../actions";
import { IVocab } from "../models/vocab";
import LevelPage from "../pages/level";
const mapStateToProps = state => {
const { currentVocab, lookedAt, vocab, loading } = state.level;
return {
currentVocab,
lookedAt,
vocab,
loading,
};
};
const mapDispatchToProps = dispatch => {
return {
drawerButtonState: (state: boolean) => dispatch(setDrawerButton(state)),
setLookedAt: (ids: number[]) => dispatch(setLevelLookedAt(ids)),
setCurrentVocab: (vocab: IVocab) => dispatch(setLevelCurrentVocab(vocab)),
setVocab: (vocab: IVocab[]) => dispatch(setLevelVocab(vocab)),
setLoading: (state: boolean) => dispatch(setLevelLoading(state)),
};
};
const LevelPageContainer = connect(mapStateToProps,
mapDispatchToProps)(LevelPage);
export default LevelPageContainer;

View File

@@ -0,0 +1,23 @@
import { connect } from "react-redux";
import { setLoginSnackbar, setLoginLoading } from "../actions";
import LoginPage from "../pages/login";
const mapStateToProps = state => {
return {
loading: state.login.loading,
snackOpen: state.login.snackOpen,
snackMsg: state.login.snackMsg,
authenticated: state.authenticated,
};
};
const mapDispatchToProps = dispatch => {
return {
setLoading: (state: boolean) => dispatch(setLoginLoading(state)),
setSnackbar: (state: boolean, msg: string) => dispatch(setLoginSnackbar(state, msg)),
};
};
const LoginPageContainer = connect(mapStateToProps, mapDispatchToProps)(LoginPage);
export default LoginPageContainer;

View File

@@ -0,0 +1,36 @@
import { connect } from "react-redux";
import {
setDrawerButton, setReviewPopover, setReviewSummary, setLastReview,
setReview, setReviewLoading
} from "../actions";
import { IReviewMetadata } from "../models/review";
import { IVocab } from "../models/vocab";
import ReviewPage from "../pages/review";
const mapStateToProps = state => {
return {
metadata: state.review.metadata,
vocab: state.review.vocab,
current: state.review.current,
popoverOpen: state.review.popoverOpen,
popoverText: state.review.popoverText,
popoverColor: state.review.popoverColor,
popoverTextColor: state.review.popoverTextColor,
loading: state.review.loading,
};
};
const mapDispatchToProps = dispatch => {
return {
drawerButtonState: (state: boolean) => dispatch(setDrawerButton(state)),
setPopover: (state: boolean, text: string, color: string, textColor: string) => dispatch(setReviewPopover(state, text, color, textColor)),
setSummary: (state: boolean) => dispatch(setReviewSummary(state)),
setReview: (current: IVocab, meta: IReviewMetadata) => dispatch(setReview(current, meta)),
setLoading: (state: boolean) => dispatch(setReviewLoading(state)),
};
};
const ReviewContainer = connect(mapStateToProps,
mapDispatchToProps)(ReviewPage);
export default ReviewContainer;

View File

@@ -0,0 +1,21 @@
import { connect } from "react-redux";
import { setDrawerButton } from "../actions";
import SummaryPage from "../pages/summary";
const mapStateToProps = state => {
return {
reviewMeta: state.lastReview,
};
};
const mapDispatchToProps = dispatch => {
return {
setDrawerButton: (state: boolean) => dispatch(setDrawerButton(state)),
};
};
const SummaryPageContainer = connect(mapStateToProps,
mapDispatchToProps)(SummaryPage);
export default SummaryPageContainer;