refactor: MONOREPO
This commit is contained in:
24
frontend/src/containers/Application.ts
Normal file
24
frontend/src/containers/Application.ts
Normal 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;
|
||||
23
frontend/src/containers/Drawer.ts
Normal file
23
frontend/src/containers/Drawer.ts
Normal 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;
|
||||
24
frontend/src/containers/LevelList.ts
Normal file
24
frontend/src/containers/LevelList.ts
Normal 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;
|
||||
35
frontend/src/containers/LevelPage.ts
Normal file
35
frontend/src/containers/LevelPage.ts
Normal 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;
|
||||
23
frontend/src/containers/LoginPage.ts
Normal file
23
frontend/src/containers/LoginPage.ts
Normal 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;
|
||||
36
frontend/src/containers/Review.ts
Normal file
36
frontend/src/containers/Review.ts
Normal 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;
|
||||
21
frontend/src/containers/SummaryPage.ts
Normal file
21
frontend/src/containers/SummaryPage.ts
Normal 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;
|
||||
Reference in New Issue
Block a user