Commit e5544326 authored by Florent Chehab's avatar Florent Chehab

tweaked(frontend) & CGU/RGPD

Frontend:
* Changed main app template to have previous exchange button write on top,
* Moved my information for "information" to settings,
* Tweaked map ratio
* Don't render login indicator for notifier
* Removed missing picture icon from cover picture

CGU/RGPD:
* Slight clarification and uniformization
parent 58094660
Pipeline #42884 passed with stages
in 3 minutes and 51 seconds
......@@ -54,10 +54,10 @@ Toutefois, vous autorisez le traitement de ce contenu (tant qu'il est accessible
### Cadre d'utilisation
Sauf mention contraire toute donnée transférée sur la plateforme REX-DRI est sous licence **REX-DRI-BY**.
Sauf mention contraire toute donnée transférée sur la plateforme REX-DRI est sous licence **REX-DRIBY**.
Pour information, sont notamment concernées par la licence REX-DRI-PRIVATE les listes privées des utilisateurs, et la configuration utilisateur.
Pour information, sont concernées par la licence REX-DRI—PRIVATE les listes privées des utilisateurs et la configuration utilisateur.
## Données personnelles
......
......@@ -17,7 +17,7 @@ La base légale du traitement est le **consentement** (article 6 du règlement e
2. Si vous les renseignez dans l'application, une adresse mail secondaire et votre pseudo,
3. Si vous en donnez l'autorisation sur l'ENT, les cours que vous avez suivis à l'étranger, associés à votre login UTC,
4. La date de votre dernière connexion,
5. Les données sous licence REX-DRI private qui contiennent des informations à caractère personnel.
5. Les données sous licence REX-DRI private (les listes privées que vous avez créées et votre configuration utilisateur).
6. Les traces de toutes les requêtes effectuées sur la plateforme.
......
......@@ -16,91 +16,97 @@ import {classNames} from "../../utils/classNames";
import Logo from "./Logo";
import BaseTemplate from "./BaseTemplate";
const styles = theme => ({
menuButton: {
[theme.breakpoints.up("lg")]: {
display: "none",
},
marginLeft: -12,
marginRight: 20,
},
menuButtonIcon: {
fontSize: "1.5em",
},
mainMenuButton: {
fontSize: "1.2rem",
fontWeight: 700,
[theme.breakpoints.down("md")]: {
display: "none"
},
[theme.breakpoints.up("lg")]: {
const styles = theme => {
const onDesktops = "@media (min-width:1375px)";
const onMobiles = "@media (max-width:1375px)";
return {
menuButton: {
[onDesktops]: {
display: "none",
},
marginLeft: -12,
marginRight: 20,
},
menuButtonIcon: {
fontSize: "1.5em",
},
mainMenuButton: {
fontSize: "1.2rem",
fontWeight: 700,
[onMobiles]: {
display: "none"
},
[onDesktops]: {
marginLeft: theme.spacing(1),
marginRight: theme.spacing(1),
}
},
mainMenuButtonIcon: {
marginLeft: theme.spacing(1),
fontSize: "1.2em",
[onMobiles]: {
display: "none"
}
},
contrastTextPrimary: {
color: theme.palette.getContrastText(theme.palette.primary.main),
},
contrastTextSecondary: {
color: theme.palette.getContrastText(theme.palette.secondary.main),
},
mobileIcon: {
color: theme.palette.getContrastText(theme.palette.primary.main),
},
mobileIconContainer: {
marginLeft: theme.spacing(1),
marginRight: theme.spacing(1),
}
},
mainMenuButtonIcon: {
marginLeft: theme.spacing(1),
fontSize: "1.2em",
[theme.breakpoints.down("md")]: {
display: "none"
}
},
contrastTextPrimary: {
color: theme.palette.getContrastText(theme.palette.primary.main),
},
contrastTextSecondary: {
color: theme.palette.getContrastText(theme.palette.secondary.main),
},
mobileIcon: {
color: theme.palette.getContrastText(theme.palette.primary.main),
},
mobileIconContainer: {
marginLeft: theme.spacing(1),
marginRight: theme.spacing(1),
},
primaryDark: {
backgroundColor: theme.palette.primary.dark,
boxShadow: theme.shadows[1],
},
desktopOnly: {
[theme.breakpoints.down("md")]: {
display: "none"
}
},
mobileOnly: {
[theme.breakpoints.up("lg")]: {
display: "none",
},
},
ifNotTooSmallAndInlined: {
["@media (max-width:790px)"]: {
display: "none",
},
display: "inline",
},
centered: {
margin: "0 auto",
},
leftBlock: {
flex: 2
},
middleBlock: {
flex: 1
},
rightBlock: {
flex: 2,
display: "flex",
alignItems: "center",
justifyContent: "space-between",
textAlign: "center",
},
widthFitContent: {
width: "fit-content",
},
filler: {
width: "100%",
},
});
},
primaryDark: {
backgroundColor: theme.palette.primary.dark,
boxShadow: theme.shadows[1],
},
desktopOnly: {
[onMobiles]: {
display: "none"
}
},
mobileOnly: {
[onDesktops]: {
display: "none",
},
},
ifNotTooSmallAndInlined: {
["@media (max-width:790px)"]: {
display: "none",
},
display: "inline",
},
centered: {
margin: "0 auto",
},
leftBlock: {
flex: 2
},
middleBlock: {
flex: 1
},
rightBlock: {
flex: 2,
display: "flex",
alignItems: "center",
justifyContent: "space-between",
textAlign: "center",
},
widthFitContent: {
width: "fit-content",
},
filler: {
width: "100%",
},
};
};
class MainAppFrame extends React.Component {
state = {
......
......@@ -19,7 +19,14 @@ import {RequestParams} from "../../redux/api/RequestParams";
*/
class NotifierImportantInformation extends CustomComponentForAPI {
customRender() {
/**
* Use standard render method to make no loading indicator is displayed.
*/
render() {
if (this.checkPropsFailed() || !this.allApiDataIsReady()) {
return <></>;
}
const informationList = this.getLatestReadData("information");
return (
......
......@@ -11,19 +11,17 @@ function item(label, route, Icon, hardRedirect = false) {
export const mainMenuItems = [
item("Carte", APP_ROUTES.map, MapIcon),
item("Université", APP_ROUTES.universityPreviousOne, LocationCityIcon),
item("Recherche", APP_ROUTES.search, SearchIcon),
item("Listes", APP_ROUTES.lists, AssignmentIcon),
];
export const mainMenuHome = item("Accueil", APP_ROUTES.base, HomeIcon);
export const secondaryMenuItems = [
item("Listes", APP_ROUTES.lists, AssignmentIcon),
item("Mes échanges", APP_ROUTES.myExchanges, LocationCityIcon),
];
export const infoMenuItems = [
item("Mes informations", APP_ROUTES.userCurrent, null),
item("Mes échanges", APP_ROUTES.myExchanges, null),
// item("Mes fichiers", APP_ROUTES.userFilesCurrent, null), // WARNING BETA
item("Le projet REX-DRI", APP_ROUTES.aboutProject, null),
item("Conditions d'utilisations", APP_ROUTES.aboutCgu, null),
......@@ -31,6 +29,7 @@ export const infoMenuItems = [
];
export const settingsMenuItems = [
item("Mes informations", APP_ROUTES.userCurrent, null),
item("Personnalisation du thème", APP_ROUTES.themeSettings, null),
item("Se déconnecter", APP_ROUTES.logout, null, true),
];
import React, {Component} from "react";
import AwesomeSlider from "react-awesome-slider";
import styles from "./CoverGallery.scss";
import withStyles from "@material-ui/core/styles/withStyles";
import {compose} from "recompose";
import PropTypes from "prop-types";
import PhotoSizeSelectActualIcon from "@material-ui/icons/PhotoSizeSelectActual";
import shuffle from "lodash/shuffle";
import Typography from "@material-ui/core/Typography";
import {AwesomeSlider} from "react-awesome-slider";
/**
* Component to display a cover image gallery with custom styling done in the ./CoverGallery.scss file
......@@ -23,7 +22,7 @@ class CoverGallery extends Component {
{
picturesSrc.length === 0 ?
<div className={classes.missingPictureDiv}>
<PhotoSizeSelectActualIcon className={classes.missingPictureIcon}/>
{/*<PhotoSizeSelectActualIcon className={classes.missingPictureIcon}/>*/}
</div>
:
<AwesomeSlider cssModule={styles}>
......
......@@ -103,14 +103,12 @@ class BaseMap extends Component {
}
const {popup} = this.state,
{campuses} = this.props;
{campuses, classes} = this.props;
return (
<Map style={`/map-server/styles/${style}/style.json`}
containerStyle={{
height: "60vh",
width: "100%"
}}
className={classes.mapContainer}
zoom={mapStatus.zoom}
center={mapStatus.center}
onMoveEnd={(map) => this.saveStatus(map)}
......@@ -143,7 +141,18 @@ BaseMap.propTypes = {
};
// eslint-disable-next-line no-unused-vars
const styles = theme => ({});
const styles = theme => ({
mapContainer: {
width: "100%",
[theme.breakpoints.up("lg")]: {
height: "45vh",
minHeight: 600
},
[theme.breakpoints.down("md")]: {
height: "60vh",
}
}
});
export default compose(
withStyles(styles, {withTheme: true}),
......
......@@ -26,7 +26,7 @@ function ColorDemo(props) {
<MainAppFrame>
<Paper style={theme.myPaper}>
<Typography variant="h3">
Bienvenue sur <em><b>REX-DRI</b></em> !
Bienvenue sur <em><b>REX-DRI</b></em>
</Typography>
<Markdown source={source}/>
</Paper>
......
......@@ -15,8 +15,6 @@ import FormControl from "@material-ui/core/FormControl";
import withStyles from "@material-ui/core/styles/withStyles";
import uuid from "uuid/v4";
import Typography from "@material-ui/core/Typography";
import CustomLink from "../../common/CustomLink";
import {APP_ROUTES} from "../../../config/appRoutes";
const undefinedVal = uuid();
......@@ -70,12 +68,6 @@ class PreviousExchangesTab extends CustomComponentForAPI {
if (displayMinorSelect) minors = univMajorMinors.find(el => el.major === this.state.major).minors;
return (
<>
<div style={{textAlign: "center"}}>
<Typography variant={"caption"}>
Afin d'éditer vos avis sur vos échanges, rendez-vous directement sur <CustomLink
to={APP_ROUTES.myExchanges}>cette page</CustomLink>.
</Typography>
</div>
<form autoComplete="off" className={classes.root}>
<FormControl className={classes.formControl}>
<InputLabel htmlFor="major-select">Branche</InputLabel>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment