19 lines
683 B
TypeScript
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);
|
|
}
|