system-praktyk-front/src/hooks/state.ts
2020-11-07 23:33:23 +01:00

19 lines
683 B
TypeScript

import { useSelector } from "react-redux";
import { AppState } from "@/state/reducer";
import { Edition, getEditionDeadlines } from "@/data/edition";
import { editionSerializationTransformer } from "@/serialization";
import { Student } from "@/data";
export const useCurrentStudent = () => useSelector<AppState, Student | null>(
state => state.student
)
export const useCurrentEdition = () => useSelector<AppState, Edition | null>(
state => state.edition?.edition && editionSerializationTransformer.reverseTransform(state.edition.edition)
)
export const useDeadlines = () => {
const edition = useCurrentEdition() as Edition;
return getEditionDeadlines(edition);
}