09/01/22 à 11h

recette2
cherif 2023-01-09 10:57:08 +01:00
parent 03ce6555c1
commit 8ab39f2ce6
20 changed files with 20645 additions and 75 deletions

View File

@ -6,6 +6,7 @@ import Contact from './pages/Contact'
import Connexion from './pages/Connexion' import Connexion from './pages/Connexion'
import Login from './pages/Login'; import Login from './pages/Login';
import Recherche from "./pages/recherche_new"; import Recherche from "./pages/recherche_new";
import Recherche_new_v2 from "./pages/recherche_new_v2";
import TestUrl from "./pages/testurl"; import TestUrl from "./pages/testurl";
import Account from "./pages/account"; import Account from "./pages/account";
import DisplayDetailClass from "./pages/displaydetailclass"; import DisplayDetailClass from "./pages/displaydetailclass";
@ -88,6 +89,7 @@ function App() {
<Route path="/Connexion-utilisateur-0/" exact component={UserSignFirst} /> <Route path="/Connexion-utilisateur-0/" exact component={UserSignFirst} />
<Route path="/Emargement/" exact component={Emargement} /> <Route path="/Emargement/" exact component={Emargement} />
<Route path="/CartoucheComMySy/" exact component={Formation_Cartouche_Com} /> <Route path="/CartoucheComMySy/" exact component={Formation_Cartouche_Com} />
<Route path="/Recherche_new_v2/" exact component={Recherche_new_v2} />
<Route component={NotFound} /> <Route component={NotFound} />
</Switch> </Switch>

View File

@ -0,0 +1,627 @@
import React, { useState, useEffect } from "react";
import ReactPlayer from 'react-player'
import { FacebookShareButton, LinkedinShareButton, TwitterShareButton } from "react-share";
import { SocialIcon } from 'react-social-icons';
import { Button, } from "reactstrap";
import { useHistory } from "react-router-dom";
import { Helmet } from "react-helmet";
import { useCookies } from "react-cookie";
import { confirmAlert } from 'react-confirm-alert';
import topimg from "../mysy_img/top.png";
import coeurimg from "../mysy_img/coeur.png";
import img_met_program from "../mysy_img/met_programmation.jpg";
import img_met_hotel from "../mysy_img/met_hotel.jpg";
import img_met_graphisme from "../mysy_img/metier_graphisme.jpg";
import img_met_autre from "../mysy_img/met_autre.jpg";
import img_met_digital from "../mysy_img/met_digital.jpg";
import img_met_management from "../mysy_img/met_management.jpg";
import img_met_projet from "../mysy_img/met_projet.jpg";
import img_met_market from "../mysy_img/met_market.jpg";
import img_met_autre2 from "../mysy_img/met_autre2.jpg";
import img_met_dev_perso from "../mysy_img/metier_dev_perso.jpg";
import img_met_rh from "../mysy_img/met_rh.jpg";
import img_met_bureautic from "../mysy_img/met_burautic.jpg";
import img_met_vente from "../mysy_img/met_vente.jpg";
import axios from "axios";
//import { Rating } from 'react-simple-star-rating'
import Rating from '@mui/material/Rating';
import parse from 'html-react-parser'
const Formation_copie = (props) => {
const [userconnected, setuserconnected] = useState("0");
const [partnerconnected, setpartnerconnected] = useState("0");
const [cookie, setCookie, removeCookie] = useCookies(['tokenmysych']);
const [cookie_part, setCookie_part, removeCookie_part] = useCookies(['tokenmysypart']);
const history = useHistory();
const [myfilter, setmyfilter] = useState(props.formation.price);
const [profileimg, setprofileimg] = useState(props.formation.price);
// Gestion des Cookies
const stored_partner = cookie_part.tokenmysypart;
const stored_user = cookie.tokenmysych;
function test(val) {
if (userconnected === "0" && partnerconnected === "0") {
confirmAlert({
title: 'Activer votre session ?',
message: 'Merci de vous connecter pour acceder au detail de cette formation',
buttons: [
{
label: 'Yes',
onClick: () => { history.push("/mysy-training-login/training/" + props.formation.internal_url) }
},
{
label: 'No',
onClick: () => { return }
}
],
closeOnEscape: false,
closeOnClickOutside: false,
keyCodeForClose: [8, 32],
willUnmount: () => { },
afterClose: () => { },
onClickOutside: () => { },
onKeypress: () => { },
onKeypressEscape: () => { },
});
} else {
window.open(
"/Display-Detail-formation/" + props.formation.internal_url,
'_blank'
);
}
}
const [myclassimage, setmyclassimage] = useState();
const [isclassimage, setisclassimage] = useState("False");
const [userimgclassprofil, setuserimgclassprofil] = useState();
function getClassImage(e) {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/getRecodedClassImage_from_front/";
var class_external_code = props.formation.external_code;
if (class_external_code.length < 3) {
console.log("Le code externe prend au moins 3 caractères");
return;
}
//console.log(" class_external_code = " + class_external_code);
var form = new FormData();
form.append("class_external_code", class_external_code);
axios.post(myurl, form).then(res => {
if (res.data.status != "False") {
//console.log(" getClassImage : In test res.data.status = " + res.data.status);
//console.log(" getClassImage: res.data.message.img = " + res.data.message);
if (res.data.message.img.length > 0) {
setisclassimage("True");
console.log(" getClassImage : In test res.data.status = " + res.data.status);
console.log(" getClassImage: res.data.message.img = " + res.data.message);
var ch_img = "data:image/png;base64," + res.data.message.img;
setuserimgclassprofil(ch_img);
//console.log("ch_img = "+ch_img);
}
else {
setisclassimage("False");
}
}
else {
//console.log(" In Erreur res.data.status = " + res.data.status);
//console.log(" In Erreur res.data.message = " + res.data.message);
setisclassimage("False");
setuserimgclassprofil();
//alert("4");
}
}).catch((error) => {
console.warn('getClassImage : Not good man :( getClassImage = ');
setisclassimage("False");
setuserimgclassprofil(profileimg);
})
}
useEffect(() => {
setmyfilter(props.myfil);
if (typeof (stored_user) === "undefined" || String(stored_user) === '') {
setuserconnected("0");
} else {
setuserconnected("1");
}
if (typeof (stored_partner) === "undefined" || String(stored_partner) === '') {
setpartnerconnected("0");
} else {
setpartnerconnected("1");
}
getClassImage();
GetCurrentClass_trainingsession();
}, []);
const [GetCurrentClass_api, setGetCurrentClass_api] = useState();
const [GetCurrentClass_message, setGetCurrentClass_message] = useState();
const [GetCurrentClass_result, setGetCurrentClass_result] = useState();
function GetCurrentClass_trainingsession(event) {
var form = new FormData();
form.append("class_internal_url", props.formation.internal_url);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/GetActiveSessionFormation_List/";
axios.post(myurl, form).then(res => {
if (res.data.status != "false") {
//console.log(" In GetCurrentClass_trainingsession res.data.status = " + res.data.status);
//console.log(" In GetCurrentClass_trainingsession res.data.message r_class = " + res.data.message);
setGetCurrentClass_api("true");
setGetCurrentClass_result(res.data.message);
}
else {
setGetCurrentClass_api("false");
setGetCurrentClass_message(res.data.message);
}
}).catch((error) => {
console.warn('Not good man :( GetCurrentClass_trainingsession = ', error);
setGetCurrentClass_api("false");
//setmyApimyApiMessage("")
})
}
return (
<div className="formation">
<div style={{ "width": "100%" }}>
<div className="forma_img_gauche">
{props.formation.img_url && String(props.formation.img_url).length > 0 && String(isclassimage) === "False" &&
<img src={`${props.formation.img_url}`} className="training_img" />}
{(!props.formation.img_url || String(props.formation.img_url).length <= 0) &&
String(isclassimage) === "False" &&
!props.formation.metier && <img src={img_met_autre} alt="autre" className="training_img" />}
{(!props.formation.img_url || String(props.formation.img_url).length <= 0) &&
props.formation.metier && String(props.formation.metier).toLocaleLowerCase() === String("it") &&
String(isclassimage) === "False" && <img src={img_met_program} alt="informatique" className="training_img" />}
{(!props.formation.img_url || String(props.formation.img_url).length <= 0) &&
props.formation.metier && String(props.formation.metier).toLocaleLowerCase() === String("graphisme") &&
String(isclassimage) === "False" && <img src={img_met_graphisme} alt="graphisme" className="training_img" />}
{(!props.formation.img_url || String(props.formation.img_url).length <= 0) &&
props.formation.metier && String(props.formation.metier).toLocaleLowerCase() === String("management") &&
String(isclassimage) === "False" && <img src={img_met_management} alt="management" className="training_img" />}
{(!props.formation.img_url || String(props.formation.img_url).length <= 0) &&
props.formation.metier && String(props.formation.metier).toLocaleLowerCase() === String("digital") &&
String(isclassimage) === "False" && <img src={img_met_digital} alt="digital" className="training_img" />}
{(!props.formation.img_url || String(props.formation.img_url).length <= 0) &&
props.formation.metier && String(props.formation.metier).toLocaleLowerCase() === String("office") &&
String(isclassimage) === "False" && <img src={img_met_bureautic} alt="office" className="training_img" />}
{!props.formation.img_url || String(props.formation.img_url).length <= 0 &&
props.formation.metier && String(props.formation.metier).toLocaleLowerCase() === String("rh") &&
String(isclassimage) === "False" && <img src={img_met_rh} alt="ressources humaines" className="training_img" />}
{!props.formation.img_url || String(props.formation.img_url).length <= 0 &&
props.formation.metier && String(props.formation.metier).toLocaleLowerCase() === String("vente") &&
String(isclassimage) === "False" && <img src={img_met_vente} alt="vente" className="training_img" />}
{!props.formation.img_url || String(props.formation.img_url).length <= 0 &&
props.formation.metier && String(props.formation.metier).toLocaleLowerCase() === String("dev_perso") &&
String(isclassimage) === "False" && <img src={img_met_dev_perso} alt="developpement personnel" className="training_img" />}
{String(isclassimage) === "True" && <img src={userimgclassprofil} alt="developpement personnel" className="training_img" />}
</div>
<div className="forma_rightbox"
onClick={(e) => {
e.preventDefault();
window.open(
"/Display-Detail-formation/" + props.formation.internal_url,
'_blank'
);
}}>
<div className="p_forma">
<div className="div_row">
<div className="div_row_gauche" style={{ "marginTop": "5px" }}>
<Rating name="half-rating-read" defaultValue={props.formation.note} precision={0.5} readOnly />
</div>
<div className="div_row_droite div_row_droite_cpf">
<div className="block_cpf">
<div className="block_cpf_txt">
{props.formation.cpf && String(props.formation.cpf) === String("1") &&
<div>
OUI Éligible au CPF &nbsp;
</div>}
{props.formation.cpf && String(props.formation.cpf) !== String("1") &&
<div>
NON Éligible au CPF &nbsp;
</div>}
{!props.formation.cpf &&
<div>
NON Éligible au CPF &nbsp;
</div>}
</div>
</div>
</div>
</div>
<div className="div_row">
<p className="p_class training_title">
<b>
{parse(String(props.formation.title).replace(/(<([^>]+)>)/ig, ''))}
</b>
</p>
</div>
<div className="div_row">
{String(props.formation.price).length == 9 &&
<div className="training_price" > <i> En attente</i> &nbsp;
</div>
}
{String(props.formation.price).length != 9 && String(props.formation.price) === String("0") &&
<div className="training_price">Gratuit &nbsp;
</div>
}
{String(props.formation.price).length != 9 && String(props.formation.price) !== String("0") &&
<div className="training_price">{props.formation.price} &nbsp; HT
</div>
}
</div>
<div className="div_row">
{parse(String(props.formation.description).replace(/(<([^>]+)>)/ig, ''))}
</div>
</div>
</div>
<div className="div_row">
<hr style={{ "width": "90%", "marginLeft": "auto", "marginRight": "auto", "marginBottom": "2px", "marginTop": "2px" }} />
<div className="div_row_gauche div_row_gauche_critere" >
<div className="div_row_critere" style={{ "marginTop": "0.5rem", "marginBottom": "0.3rem" }}>
{!props.formation.extented_search &&
<div className="div_row_gauche">
{props.formation.duration_unit &&
<div style={{ "width": "100%" }}>
<div className="criteres ftion_tab_gauche">Durée :
</div>
{String(props.formation.duration_unit) === "heure" &&
<div className="criteres ftion_tab_droite">
{props.formation.duration} hr &nbsp;
</div>}
{String(props.formation.duration_unit) === "heures" &&
<div className="criteres ftion_tab_droite">
{props.formation.duration} hr &nbsp;
</div>}
{String(props.formation.duration_unit) === "jour" &&
<div className="criteres ftion_tab_droite">
{props.formation.duration} jr &nbsp;
</div>}
</div>
}
{!props.formation.duration_unit &&
<div style={{ "width": "100%" }}>
<div className="criteres ftion_tab_gauche">Durée :
</div>
{props.formation.duration && <div className="criteres ftion_tab_droite">
{props.formation.duration} jrs &nbsp;
</div>}
{!props.formation.duration && <div className="criteres ftion_tab_droite">
<i> En traitement &nbsp; </i>
</div>}
</div>
}
<div style={{ "width": "100%" }}>
<div className="criteres ftion_tab_gauche">
Certification :
</div>
<div className="criteres ftion_tab_droite">
{props.formation.certif && String(props.formation.certif) === String("1") &&
<div>
Oui &nbsp;
</div>}
{props.formation.certif && String(props.formation.certif) !== String("1") &&
<div>
Non &nbsp;
</div>}
{!props.formation.certif &&
<div>
NC &nbsp;
</div>}
</div>
</div>
<div className="media_sociaux" style={{ 'float': "left", marginTop: "0.2rem", }}>
<FacebookShareButton
url={"https://www.mysy-training.com/Display-Detail-formation/" + props.formation.internal_url}
quote={props.formation.title + " -- " + props.formation.description}
hashtag={"ySyTraining"}
>
<SocialIcon network="facebook" style={{ height: 20, width: 20 }} />
</FacebookShareButton>
&nbsp;
<TwitterShareButton
url={"https://www.mysy-training.com/Display-Detail-formation/" + props.formation.internal_url}
hashtag={"#MySy-Formation"}
>
<SocialIcon network="twitter" style={{ height: 20, width: 20 }} />
</TwitterShareButton>
&nbsp;
<LinkedinShareButton
url={"https://www.mysy-training.com/Display-Detail-formation/" + props.formation.internal_url}
title={" Une nouvelle formation : " + props.formation.title}
summary={props.formation.title + " -- " + props.formation.description}
source={"https://www.mysy-training.com/"}
>
<SocialIcon network="linkedin" style={{ height: 20, width: 20 }} />
</LinkedinShareButton>
</div>
{/* <div style={{ "width": "90%" }}>
<div className="criteres ftion_tab_gauche">
Type
</div>
<div className="criteres ftion_tab_droite">
{props.formation.type} &nbsp;
</div>
</div>
<div style={{ "width": "90%" }}>
<div className="criteres ftion_tab_gauche">
Support
</div>
<div className="criteres ftion_tab_droite">
{props.formation.support} &nbsp;
</div>
</div>
*/}
{/*props.formation.zone_diffusion && props.formation.zone_diffusion.country && <div style={{ "width": "100%" }}>
<div className="criteres ftion_tab_gauche">
Test : pays
</div>
<div className="criteres ftion_tab_droite">
{props.formation.zone_diffusion.country} &nbsp;
</div>
</div>*/}
{/*props.formation.zone_diffusion && props.formation.zone_diffusion.city && <div style={{ "width": "100%" }}>
<div className="criteres ftion_tab_gauche">
Test : Ville
</div>
<div className="criteres ftion_tab_droite">
{props.formation.zone_diffusion.city} &nbsp;
</div>
</div>*/}
{/*
{props.formation.presentiel && props.formation.presentiel.presentiel &&
<div style={{ "width": "100%" }}>
<div className="criteres ftion_tab_gauche">
Presentiel
</div>
<div className="criteres ftion_tab_droite">
{props.formation.presentiel.presentiel} &nbsp;
</div>
</div>}
{props.formation.presentiel && props.formation.presentiel.distantiel &&
<div style={{ "width": "100%" }}>
<div className="criteres ftion_tab_gauche">
Distantiel
</div>
<div className="criteres ftion_tab_droite">
{props.formation.presentiel.distantiel} &nbsp;
</div>
</div>}
*/}
</div>}
<div className="div_row_droite" style={{ textAlign: "center" }}>
{String(props.formation.coeur) === String("1") && <div>
<img class="imgcoeur" src={coeurimg} alt="coup de coeur" />
</div>}
<div style={{ "width": "100%", "float": "right" }}>
<div className="criteres ftion_tab_gauche">
Sur site :
</div>
{props.formation.presentiel && props.formation.presentiel.presentiel &&
String(props.formation.presentiel.presentiel) === String("1") && <div className="criteres ftion_tab_droite">
Oui
</div>}
{props.formation.presentiel && props.formation.presentiel.presentiel &&
String(props.formation.presentiel.presentiel) !== String("1") && <div className="criteres ftion_tab_droite">
Non
</div>}
{!props.formation.presentiel || !props.formation.presentiel.presentiel &&
<div className="criteres ftion_tab_droite">
NC
</div>}
</div>
<div style={{ "width": "100%", "float": "right" }}>
<div className="criteres ftion_tab_gauche">
A distance :
</div>
{props.formation.presentiel && props.formation.presentiel.distantiel &&
String(props.formation.presentiel.distantiel) === String("1") && <div className="criteres ftion_tab_droite">
Oui
</div>}
{props.formation.presentiel && props.formation.presentiel.distantiel &&
String(props.formation.presentiel.distantiel) !== String("1") && <div className="criteres ftion_tab_droite">
Non
</div>}
{!props.formation.presentiel || !props.formation.presentiel.distantiel &&
<div className="criteres ftion_tab_droite">
NC
</div>}
</div>
<div style={{ "width": "100%", "float": "right" }}>
<div className="criteres ftion_tab_gauche">
Support :
</div>
{props.formation.support && <div className="criteres ftion_tab_droite">
{props.formation.support}
</div>}
</div>
</div>
</div>
</div>
<div className="div_row_droite div_row_droite_critere" >
{!props.formation.extented_search && props.formation.coeur != "1" &&
<div style={{ 'float': "right", "width": "100%", textAlign: "right", marginTop: "0rem", }}>
<Button className="bton_se_renseinger"
onClick={(e) => {
e.preventDefault();
window.open(
"/Display-Detail-formation/" + props.formation.internal_url + "/Information",
'_blank'
);
}}
>Se renseigner</Button>
<button className="bton_voir_detail"
onClick={(e) => {
e.preventDefault();
//test(props.formation.external_code);
window.open(
"/Display-Detail-formation/" + props.formation.internal_url,
'_blank'
);
}}
>Voir details</button>
{GetCurrentClass_result && GetCurrentClass_result.length > 0 &&
<Button variant="contained" className="bton_sinscrire"
onClick={(e) => {
e.preventDefault();
window.open(
"/Display-Detail-formation/" + props.formation.internal_url + "/Inscription",
'_blank'
);
}}
>S'incrire</Button>
}
</div>}
</div>
</div>
</div>
</div>
)
}
export default Formation_copie;

View File

@ -279,7 +279,7 @@ const Formation = (props) => {
</div> </div>
</div> </div>
<div className="div_row"> <div className="div_row row_formation_title">
<p className="p_class training_title"> <p className="p_class training_title">
<b> <b>
{parse(String(props.formation.title).replace(/(<([^>]+)>)/ig, ''))} {parse(String(props.formation.title).replace(/(<([^>]+)>)/ig, ''))}
@ -301,21 +301,21 @@ const Formation = (props) => {
} }
{String(props.formation.price).length != 9 && String(props.formation.price) !== String("0") && {String(props.formation.price).length != 9 && String(props.formation.price) !== String("0") &&
<div className="training_price">{props.formation.price} &nbsp; HT <div className="training_price">{props.formation.price} &nbsp;
</div> </div>
} }
</div> </div>
<div className="div_row"> <div className="div_row row_formation_desc">
{parse(String(props.formation.description).replace(/(<([^>]+)>)/ig, ''))} {parse(String(props.formation.description).replace(/(<([^>]+)>)/ig, ''))}
</div> </div>
</div> </div>
</div> </div>
<div className="div_row"> <div className="div_row row_formation_crit">
<hr style={{ "width": "90%", "marginLeft": "auto", "marginRight": "auto", "marginBottom": "2px", "marginTop": "2px" }} /> <hr style={{ "width": "90%", "marginLeft": "auto", "marginRight": "auto", "marginBottom": "2px", "marginTop": "2px" }} />
@ -550,13 +550,30 @@ const Formation = (props) => {
<div className="criteres ftion_tab_gauche"> <div className="criteres ftion_tab_gauche">
Support : Support :
</div> </div>
{props.formation.support && <div className="criteres ftion_tab_droite"> {props.formation.support &&
{props.formation.support} <div className="criteres ftion_tab_droite">
</div>} {props.formation.support}
</div>}
{!props.formation.support &&
<div className="criteres ftion_tab_droite">
NC
</div>}
</div>
<div style={{ "width": "100%", "float": "right" }}>
<div className="criteres ftion_tab_gauche">
Type :
</div>
{props.formation.type &&
<div className="criteres ftion_tab_droite">
{props.formation.type}
</div>}
{!props.formation.type &&
<div className="criteres ftion_tab_droite">
NC
</div>}
</div> </div>
</div> </div>
@ -583,7 +600,7 @@ const Formation = (props) => {
>Se renseigner</Button> >Se renseigner</Button>
<button className="bton_voir_detail" <Button className="bton_voir_detail"
onClick={(e) => { onClick={(e) => {
e.preventDefault(); e.preventDefault();
@ -595,7 +612,7 @@ const Formation = (props) => {
}} }}
>Voir details</button> >Voir details</Button>
{GetCurrentClass_result && GetCurrentClass_result.length > 0 && {GetCurrentClass_result && GetCurrentClass_result.length > 0 &&
<Button variant="contained" className="bton_sinscrire" <Button variant="contained" className="bton_sinscrire"

View File

@ -32,6 +32,10 @@ const Footer = () => {
return ( return (
<div className='footer'> <div className='footer'>
<div className='Box_div' style={{ "minHeight": "5rem", "width":"100%" }}>
&nbsp;
</div>
<div className='Box_div'> <div className='Box_div'>
<div className='Container_div'> <div className='Container_div'>
<div className='Row_Div'> <div className='Row_Div'>

View File

@ -0,0 +1,90 @@
import * as React from 'react';
import { styled } from '@mui/material/styles';
import Paper from '@mui/material/Paper';
import Grid from '@mui/material/Grid';
import { FacebookShareButton, LinkedinShareButton, TwitterShareButton } from "react-share";
import { SocialIcon } from 'react-social-icons';
import {
Box,
Container,
Row,
Column,
FooterLink,
Heading,
} from "./FooterStyles";
import mysy_logo2 from "../mysy_img2/Logo_MySy.png"
const Footer_v2 = () => {
// Integration du gestionnaire de cookie : axeptio
window.axeptioSettings = {
clientId: "6273ecd99c50de9cfb190555",
cookiesVersion: "mysy training technology-fr",
};
(function (d, s) {
var t = d.getElementsByTagName(s)[0], e = d.createElement(s);
e.async = true; e.src = "//static.axept.io/sdk-slim.js";
t.parentNode.insertBefore(e, t);
})(document, "script");
return (
<div className='footer_v2'>
<div className='div_row' style={{ "minHeight": "15rem" }}>
&nbsp;
</div>
<div className='div_row' >
<div className='div_colonne_25' style={{ "textAlign": "left", "paddingLeft": "5%" }} >
<div>
<img src={mysy_logo2} alt="MySy Training Technology" />
<nav className="training">TRAINING</nav>
</div>
<div className='text_sous_logo'>
Le Guide des formations & Tutos pour tous Trouvez la formation ou le tuto selon vos critères
</div>
</div>
<div className='div_colonne_25' >
<div className='entete_txt'> MySy Training </div>
<div className='a_link'> Qui sommes-nous ? </div>
<div className='a_link'> Nos engagements</div>
<div className='a_link'> Nous contacter </div>
<div className='a_link'> CGU </div>
<div className='a_link'> CGV </div>
</div>
<div className='div_colonne_25' >
<div className='entete_txt'> Produits & Services</div>
<div className='a_link'> Nos offres </div>
<div className='a_link'> Publier votre catalogue</div>
<div className='a_link'> Minscrire</div>
<div className='a_link'> Me connecter</div>
<div className='a_link'> Données Personnelles</div>
<div className='a_link'> Mentions légales</div>
</div>
<div className='div_colonne_25' >
<div className='entete_txt'> Newsletters </div>
<div className='block_newsletter'>
Entrer votre email
</div>
</div>
</div>
</div>
);
};
export default Footer_v2;

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 KiB

BIN
src/mysy_img2/Logo_MySy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 KiB

View File

@ -0,0 +1,21 @@
import Recherche_new_v2 from "../components/Recherche_new_v2";
import Navigation from "../components/Navigation";
import Footer from "./footer";
const recherche = () => {
return (
<div>
<Navigation />
<div>
<Recherche_new_v2 />
</div>
</div>
)
}
export default recherche;

View File

@ -4,6 +4,10 @@
font-size: 0.1rem; font-size: 0.1rem;
} }
.formRow{
margin-bottom: 1rem !important;
}
@media only screen and (max-width: 600px) { @media only screen and (max-width: 600px) {
.media_sociaux { .media_sociaux {
svg { svg {

View File

@ -0,0 +1,757 @@
.footer_v2 {
background: #FFF5DA;
@media only screen and (max-width: 600px) {
.div_row {
float: left;
//border:0px solid black;
border-width: 0.01rem;
width: 100%;
margin-bottom: 0.1rem;
//border-radius: 1rem;
z-index: 10;
}
.div_row_haut {
float: left;
width: 100%;
background-color: #3b3e40;
z-index: 10;
}
.div_row_bas {
float: right;
width: 100%;
z-index: 10;
background-color: #e7f3fb;
}
.div_colonne_25 {
float: left;
width: 25%;
z-index: 10;
padding: 5px;
}
.logo {
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 0px;
gap: 4px;
position: absolute;
width: 108px;
height: 52px;
left: 72px;
}
.training {
width: 108px;
height: 12px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 900;
font-size: 10px;
line-height: 12px;
/* identical to box height */
letter-spacing: 0.83em;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
}
.text_sous_logo {
width: 100%;
text-align: justify;
height: 60px;
padding-right: 10px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 500;
font-size: 12px;
line-height: 15px;
/* or 143% */
/* Deep Blue */
color: #0A043C;
opacity: 0.8;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
margin-top: 1rem;
}
.entete_txt {
height: 22px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 700;
font-size: 14px;
line-height: 22px;
/* identical to box height */
/* Deep Blue */
color: #0A043C;
opacity: 0.6;
/* Inside auto layout */
flex: none;
order: 0;
flex-grow: 0;
text-align: left;
}
.a_link {
height: 19px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 700;
font-size: 12px;
line-height: 15px;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
margin-top: 0.5rem;
margin-bottom: 0.5rem;
text-align: left;
}
.block_newsletter {
/* Auto layout */
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 5px 5px 5px 5px;
gap: 10px;
width: 90%;
height: 60px;
/* White */
background: #FFFFFF;
/* Shadow 01 */
box-shadow: 0px 54px 100px rgba(10, 4, 60, 0.08);
border-radius: 8px;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
}
}
@media only screen and (min-width: 601px) and (max-width: 991px) {
.div_row {
float: left;
//border:0px solid black;
border-width: 0.01rem;
width: 100%;
margin-bottom: 0.1rem;
//border-radius: 1rem;
z-index: 10;
}
.div_row_haut {
float: left;
width: 100%;
background-color: #3b3e40;
z-index: 10;
}
.div_row_bas {
float: right;
width: 100%;
z-index: 10;
background-color: #e7f3fb;
}
.div_colonne_25 {
float: left;
width: 25%;
z-index: 10;
padding: 5px;
}
.logo {
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 0px;
gap: 4px;
position: absolute;
width: 108px;
height: 52px;
left: 72px;
}
.training {
width: 108px;
height: 12px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 900;
font-size: 10px;
line-height: 12px;
/* identical to box height */
letter-spacing: 0.83em;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
}
.text_sous_logo {
width: 100%;
padding-right: 10px;
text-align: justify;
height: 60px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 500;
font-size: 12px;
line-height: 15px;
/* or 143% */
/* Deep Blue */
color: #0A043C;
opacity: 0.8;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
margin-top: 1rem;
}
.entete_txt {
height: 22px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 700;
font-size: 14px;
line-height: 22px;
/* identical to box height */
/* Deep Blue */
color: #0A043C;
opacity: 0.6;
/* Inside auto layout */
flex: none;
order: 0;
flex-grow: 0;
text-align: left;
}
.a_link {
height: 19px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 700;
font-size: 12px;
line-height: 15px;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
margin-top: 0.5rem;
margin-bottom: 0.5rem;
text-align: left;
}
.block_newsletter {
/* Auto layout */
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 5px 5px 5px 5px;
gap: 10px;
width: 90%;
height: 60px;
/* White */
background: #FFFFFF;
/* Shadow 01 */
box-shadow: 0px 54px 100px rgba(10, 4, 60, 0.08);
border-radius: 8px;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
}
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
.div_row {
float: left;
//border:0px solid black;
border-width: 0.01rem;
width: 100%;
margin-bottom: 0.1rem;
//border-radius: 1rem;
z-index: 10;
}
.div_row_haut {
float: left;
width: 100%;
background-color: #3b3e40;
z-index: 10;
}
.div_row_bas {
float: right;
width: 100%;
z-index: 10;
background-color: #e7f3fb;
}
.div_colonne_25 {
float: left;
width: 25%;
z-index: 10;
padding: 5px;
}
.logo {
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 0px;
gap: 4px;
position: absolute;
width: 108px;
height: 52px;
left: 72px;
}
.training {
width: 108px;
height: 12px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 900;
font-size: 10px;
line-height: 12px;
/* identical to box height */
letter-spacing: 0.83em;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
}
.text_sous_logo {
width: 100%;
padding-right: 10px;
text-align: justify;
height: 60px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 500;
font-size: 12px;
line-height: 15px;
/* or 143% */
/* Deep Blue */
color: #0A043C;
opacity: 0.8;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
margin-top: 1rem;
}
.entete_txt {
height: 22px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 700;
font-size: 14px;
line-height: 22px;
/* identical to box height */
/* Deep Blue */
color: #0A043C;
opacity: 0.6;
/* Inside auto layout */
flex: none;
order: 0;
flex-grow: 0;
text-align: left;
}
.a_link {
height: 19px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 700;
font-size: 12px;
line-height: 15px;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
margin-top: 0.5rem;
margin-bottom: 0.5rem;
text-align: left;
}
.block_newsletter {
/* Auto layout */
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 5px 5px 5px 5px;
gap: 10px;
width: 90%;
height: 60px;
/* White */
background: #FFFFFF;
/* Shadow 01 */
box-shadow: 0px 54px 100px rgba(10, 4, 60, 0.08);
border-radius: 8px;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
}
}
@media only screen and (min-width: 1200px) {
.div_row {
float: left;
//border:0px solid black;
border-width: 0.01rem;
width: 100%;
margin-bottom: 0.1rem;
//border-radius: 1rem;
z-index: 10;
}
.div_row_haut {
float: left;
width: 100%;
background-color: #3b3e40;
z-index: 10;
}
.div_row_bas {
float: right;
width: 100%;
z-index: 10;
background-color: #e7f3fb;
}
.div_colonne_25 {
float: left;
width: 25%;
z-index: 10;
padding: 5px;
}
.logo {
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 0px;
gap: 4px;
position: absolute;
width: 108px;
height: 52px;
left: 72px;
}
.training {
width: 108px;
height: 12px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 900;
font-size: 10px;
line-height: 12px;
/* identical to box height */
letter-spacing: 0.83em;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
}
.text_sous_logo {
width: 100%;
padding-right: 10px;
text-align: justify;
height: 60px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 500;
font-size: 12px;
line-height: 15px;
/* or 143% */
/* Deep Blue */
color: #0A043C;
opacity: 0.8;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
margin-top: 1rem;
}
.entete_txt {
height: 22px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 700;
font-size: 14px;
line-height: 22px;
/* identical to box height */
/* Deep Blue */
color: #0A043C;
opacity: 0.6;
/* Inside auto layout */
flex: none;
order: 0;
flex-grow: 0;
text-align: left;
}
.a_link {
height: 19px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 700;
font-size: 12px;
line-height: 15px;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
margin-top: 0.5rem;
margin-bottom: 0.5rem;
text-align: left;
}
.block_newsletter {
/* Auto layout */
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 5px 5px 5px 5px;
gap: 10px;
width: 90%;
height: 60px;
/* White */
background: #FFFFFF;
/* Shadow 01 */
box-shadow: 0px 54px 100px rgba(10, 4, 60, 0.08);
border-radius: 8px;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -356,14 +356,14 @@
.div_row_gauche_critere { .div_row_gauche_critere {
padding: 10px; padding: 10px;
width: 70% !important; width: 100% !important;
padding-left: 5px; padding-left: 5px;
} }
.div_row_droite_critere { .div_row_droite_critere {
padding: 5px; padding: 5px;
width: 30% !important; width: 100% !important;
margin-top: 1px; margin-top: 1px;
} }
@ -408,16 +408,69 @@
} }
.ftion_tab_gauche { .ftion_tab_gauche {
width: 70%; width: 50%;
} }
.ftion_tab_droite { .ftion_tab_droite {
width: 30%; width: 50%;
} }
} }
@media only screen and (min-width: 601px) and (max-width: 991px) { @media only screen and (min-width: 601px) and (max-width: 991px) {
.ftion_tab_gauche {
width: 50%;
float: left;
text-align: left;
font-weight: bold;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 700;
font-size: 16px;
line-height: 19px;
font-feature-settings: 'liga' off;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */
flex: none;
order: 0;
flex-grow: 0;
}
.ftion_tab_droite {
width: 50%;
float: left;
text-align: center;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 400;
font-size: 16px;
line-height: 19px;
font-feature-settings: 'liga' off;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
}
.div_row { .div_row {
float: left; float: left;
//border:1px solid black; //border:1px solid black;
@ -431,7 +484,7 @@
float: left; float: left;
// border:1px solid black; // border:1px solid black;
// border-width:0.01rem; // border-width:0.01rem;
width: 49% !important; width: 50% !important;
border-radius: 1rem; border-radius: 1rem;
} }
@ -439,7 +492,7 @@
float: right; float: right;
//border:1px solid black; //border:1px solid black;
//border-width:0.01rem; //border-width:0.01rem;
width: 48%; width: 50%;
border-radius: 1rem; border-radius: 1rem;
} }
@ -479,7 +532,7 @@
.criteres { .criteres {
font-family: "verdana", "Quicksand", "Signika", sans-serif; font-family: "verdana", "Quicksand", "Signika", sans-serif;
color: #104277; color: #104277;
font-size: 0.75rem; font-size: 0.70rem;
padding-bottom: 0rem; padding-bottom: 0rem;
margin-bottom: 0rem; margin-bottom: 0rem;
} }
@ -527,7 +580,7 @@
float: left; float: left;
//border:1px solid black; //border:1px solid black;
//border-width:0.01rem; //border-width:0.01rem;
width: 90%; width: 100%;
margin-bottom: 1rem; margin-bottom: 1rem;
border-radius: 1rem; border-radius: 1rem;
} }
@ -699,14 +752,15 @@
.div_row_gauche_critere { .div_row_gauche_critere {
padding: 10px; padding: 10px;
width: 60% !important; width: 66% !important;
padding-left: 5px; padding-left: 5px;
padding-right: 5px;
} }
.div_row_droite_critere { .div_row_droite_critere {
padding: 10px; padding: 10px;
width: 40% !important; width: 34% !important;
margin-top: 15px; margin-top: 15px;
} }
@ -715,7 +769,7 @@
border-radius: 15px; border-radius: 15px;
font-size: small; font-size: small;
padding: 0.2rem; padding: 0.2rem;
width: 60%; width: 90%;
background: #FFFFFF !important; background: #FFFFFF !important;
color: #104277 !important; color: #104277 !important;
margin-right: 10px; margin-right: 10px;
@ -728,7 +782,7 @@
border-radius: 15px; border-radius: 15px;
font-size: small; font-size: small;
padding: 0.2rem; padding: 0.2rem;
width: 60%; width: 90%;
background-color: #104277 !important; background-color: #104277 !important;
color: white !important; color: white !important;
margin-right: 10px; margin-right: 10px;
@ -741,7 +795,7 @@
border-radius: 15px; border-radius: 15px;
font-size: small; font-size: small;
padding: 0.2rem; padding: 0.2rem;
width: 60%; width: 90%;
background-color: #619E31 !important; background-color: #619E31 !important;
color: white !important; color: white !important;
margin-right: 10px; margin-right: 10px;
@ -750,7 +804,17 @@
} }
.row_formation_desc{
min-height: 5rem !important;
}
.row_formation_title{
min-height: 3rem !important;
}
.row_formation_crit {
min-height: 10rem !important;
}
} }
@media only screen and (min-width: 992px) and (max-width: 1199px) { @media only screen and (min-width: 992px) and (max-width: 1199px) {
@ -1093,6 +1157,18 @@
width: 30%; width: 30%;
} }
.row_formation_desc{
min-height: 5rem !important;
}
.row_formation_title{
min-height: 3rem !important;
}
.row_formation_crit {
min-height: 10rem !important;
}
} }
@media only screen and (min-width: 1200px) { @media only screen and (min-width: 1200px) {
@ -1432,55 +1508,16 @@
} }
.ftion_tab_gauche { .row_formation_desc{
width: 50%; min-height: 5rem !important;
float: left;
text-align: left;
font-weight: bold;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 700;
font-size: 0.9rem;
line-height: 19px;
font-feature-settings: 'liga' off;
/* Deep Blue */
color: #0A043C;
/* Inside auto layout */
flex: none;
order: 0;
flex-grow: 0;
} }
.ftion_tab_droite { .row_formation_title{
width: 50%; min-height: 3rem !important;
float: left; }
text-align: center;
.row_formation_crit {
font-family: 'Albert Sans'; min-height: 10rem !important;
font-style: normal;
font-weight: 400;
font-size: 0.9rem;
line-height: 19px;
font-feature-settings: 'liga' off;
/* Deep Blue */
/* Inside auto layout */
flex: none;
order: 1;
flex-grow: 0;
} }
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -58,5 +58,5 @@
@import "./components/toggleswitch"; @import "./components/toggleswitch";
@import "./components/updateusergoals"; @import "./components/updateusergoals";
@import "./components/userprofil"; @import "./components/userprofil";
@import "./components/formation_cartouche_com"; @import "./components/reherche_new_v2";
@import "./components/reherche_new_cartouche_com"; @import "./components/footer_v2";