import { useSelector } from "react-redux"; import { AppState } from "@/state/reducer"; import { getSubmissionStatus, SubmissionState, SubmissionStatus } from "@/state/reducer/submission"; import { useTranslation } from "react-i18next"; import React, { HTMLProps } from "react"; import { InternshipProposalState } from "@/state/reducer/proposal"; import { Alert, AlertTitle } from "@material-ui/lab"; import { Box, Button, ButtonProps, StepProps } from "@material-ui/core"; import { Deadlines, Edition, getEditionDeadlines } from "@/data/edition"; import { Actions, Step } from "@/components"; import { route } from "@/routing"; import { Link as RouterLink } from "react-router-dom"; import { ClipboardEditOutline, FileFind } from "mdi-material-ui/index"; import { ContactAction, Status } from "@/pages/steps/common"; const ProposalActions = () => { const status = useSelector(state => getSubmissionStatus(state.proposal)); const { t } = useTranslation(); const ReviewAction = (props: ButtonProps) => const FormAction = ({ children = t('steps.internship-proposal.form'), ...props }: ButtonProps) => switch (status) { case "awaiting": return case "accepted": return { t('make-changes') } case "declined": return { t('fix-errors') } case "draft": return { t('steps.internship-proposal.action') } default: return } } export const ProposalComment = (props: HTMLProps) => { const { comment, declined } = useSelector(state => state.proposal); const { t } = useTranslation(); return comment ? { t('comments') } { comment } : null } export const ProposalStep = (props: StepProps) => { const { t } = useTranslation(); const submission = useSelector(state => state.proposal); const status = useSelector(state => getSubmissionStatus(state.proposal)); const deadlines = useSelector(state => getEditionDeadlines(state.edition as Edition)); // edition cannot be null at this point const { sent, declined, comment } = submission; return }>

{ t(`steps.internship-proposal.info.${ status }`) }

{ comment && }
; }