import React, { useCallback } from "react"; import { useTranslation } from "react-i18next"; import { useRouteMatch } from "react-router-dom"; import { useAsync } from "@/hooks"; import api from "@/management/api"; import { Page } from "@/pages/base"; import { Container, Paper, Typography } from "@material-ui/core"; import { Management, ManagementLink } from "@/management/main"; import { Edition } from "@/data/edition"; import { Async } from "@/components/async"; import { AccountMultiple, BriefcaseAccount, CertificateOutline, CogOutline, FileChartOutline, FormatPageBreak } from "mdi-material-ui"; import { route } from "@/routing"; import { useSpacing } from "@/styles"; import { createStyles, makeStyles, Theme } from "@material-ui/core/styles"; const useSectionStyles = makeStyles((theme: Theme) => createStyles({ header: { padding: theme.spacing(2), paddingBottom: 0, fontWeight: 'bold', color: theme.palette.grey["800"], }, })) export function title(edition: Edition) { return `${edition.course.name} - ${edition.startDate.year()}` } export const ManageEditionPage = () => { const { t } = useTranslation("management"); const { params } = useRouteMatch(); const edition = useAsync(useCallback(() => api.edition.details(params.edition), [params.edition])) const spacing = useSpacing(2); const classes = useSectionStyles(); return { edition => <> { title(edition) } { title(edition) } { t("edition.manage.internships") } } route={ route("management:edition_report_form", { edition: edition.id || "" }) }> { t("management:edition.students.title") } } route={ route("management:edition_report_form", { edition: edition.id || "" }) }> { t("management:edition.internships.title") } } route={ route("management:edition_report_form", { edition: edition.id || "" }) }> { t("management:edition.ipp.title") } } route={ route("management:edition_report_form", { edition: edition.id || "" }) }> { t("management:edition.reports.title") } } route={ route("management:edition_report_form", { edition: edition.id || "" }) }> { t("management:edition.dean-approvals.title") } { t("edition.manage.management") } } route={ route("management:edition_report_form", { edition: edition.id || "" }) }> { t("management:edition.report-fields.title") } } route={ route("management:edition_settings", { edition: edition.id || "" }) }> { t("management:edition.settings.title") } } }