UnlinkedPartners.jsx 2.5 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
25
              {nUnlinked}
              &nbsp; partenaires sont dans ce cas. En voici la liste :
26
            </Typography>
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
            <List aria-label="List des partenaires qui ne sont pas encore disponibles sur la plateforme REX-DRI">
              {unlinkedPartners.map((nameOnEnt, idx) => (
                // eslint-disable-next-line react/no-array-index-key
                <ListItem key={idx}>
                  <ListItemText primary={nameOnEnt} />
                </ListItem>
              ))}
            </List>
          </>
        ) : (
          <Typography>
            Actuellement, tous les partenaires de l'UTC sont disponibles sur la
            plateforme ! 🎉
          </Typography>
        )}
      </>
    );
44
  }
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
  if (variant === "summary") {
    return (
      <>
        {nUnlinked > 0 && (
          <>
            <Typography variant="caption" color="primary">
&nbsp;
              {nUnlinked === 1
                ? "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`}
              sur la plateforme. Plus d'informations&nbsp;
              <CustomLink to={APP_ROUTES.aboutUnlinkedPartners}>
                <Typography variant="caption" color="primary">
                  ici
                </Typography>
              </CustomLink>
              .
            </Typography>
          </>
        )}
      </>
    );
  }

  return <></>;
70
71
72
}

UnlinkedPartners.propTypes = {
73
74
  variant: PropTypes.oneOf(["summary", "detailed"]).isRequired,
  unlinkedPartners: PropTypes.array.isRequired
75
76
};

77
export default withNetworkWrapper([
78
  new NetWrapParam("unlinkedUtcPartners", "all", {
79
    addDataToProp: "unlinkedPartners"
80
  })
81
])(UnlinkedPartners);