UnlinkedPartners.jsx 2.63 KB
Newer Older
1
2
3
4
5
6
7
import React from "react";

import PropTypes from "prop-types";
import Typography from "@material-ui/core/Typography";
import List from "@material-ui/core/List";
import ListItem from "@material-ui/core/ListItem";
import ListItemText from "@material-ui/core/ListItemText";
8
import APP_ROUTES from "../../config/appRoutes";
9
import CustomLink from "../common/CustomLink";
10
import withNetworkWrapper, { NetWrapParam } from "../../hoc/withNetworkWrapper";
11
12
13
14

/**
 * Class to render notifications for important stuff
 */
15
16
function UnlinkedPartners({ unlinkedPartners, variant }) {
  const nUnlinked = unlinkedPartners.length;
17

18
19
20
21
22
  if (variant === "detailed") {
    return (
      <>
        {nUnlinked > 0 ? (
          <>
23
            <Typography>
24
              Actuellement, {nUnlinked}
25
              &nbsp; partenaires sont dans ce cas. En voici la liste :
26
            </Typography>
27
            <List aria-label="List des partenaires qui ne sont pas encore disponibles sur la plateforme REX-DRI">
28
              {unlinkedPartners.map((p, idx) => (
29
30
                // eslint-disable-next-line react/no-array-index-key
                <ListItem key={idx}>
31
32
33
34
35
                  <ListItemText
                    primary={`${
                      p.partner_id
                    } ${p.partner_univ_name.toLowerCase()}`}
                  />
36
37
38
39
40
41
42
43
44
45
46
47
                </ListItem>
              ))}
            </List>
          </>
        ) : (
          <Typography>
            Actuellement, tous les partenaires de l'UTC sont disponibles sur la
            plateforme ! 🎉
          </Typography>
        )}
      </>
    );
48
  }
49
50
51
52
53
54
55
56
  if (variant === "summary") {
    return (
      <>
        {nUnlinked > 0 && (
          <>
            <Typography variant="caption" color="primary">
&nbsp;
              {nUnlinked === 1
57
58
                ? "1 université partenaire de l'UTC n'est pas encore pleinement disponible "
                : `${nUnlinked} universités partenaires de l'UTC ne sont pas encore pleinement disponibles `}
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
              sur la plateforme. Plus d'informations&nbsp;
              <CustomLink to={APP_ROUTES.aboutUnlinkedPartners}>
                <Typography variant="caption" color="primary">
                  ici
                </Typography>
              </CustomLink>
              .
            </Typography>
          </>
        )}
      </>
    );
  }

  return <></>;
74
75
76
}

UnlinkedPartners.propTypes = {
77
  variant: PropTypes.oneOf(["summary", "detailed"]).isRequired,
78
  unlinkedPartners: PropTypes.array.isRequired,
79
80
};

81
export default withNetworkWrapper([
82
  new NetWrapParam("unlinkedUtcPartners", "all", {
83
84
    addDataToProp: "unlinkedPartners",
  }),
85
])(UnlinkedPartners);