branche_01062025
Cherif 2025-06-28 20:12:58 +02:00
parent aad4648592
commit 7d15517985
14 changed files with 20721 additions and 327 deletions

View File

@ -1,5 +1,5 @@
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";
@ -7,19 +7,16 @@ 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";
@ -570,75 +567,7 @@ const Formation_Partner_Catalog = (props) => {
</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>}
@ -707,20 +636,6 @@ const Formation_Partner_Catalog = (props) => {
</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>

View File

@ -0,0 +1,482 @@
import React, { useState, useEffect } from "react";
import { useHistory } from "react-router-dom";
import { useCookies } from "react-cookie";
import { confirmAlert } from 'react-confirm-alert';
import img_met_program from "../../mysy_img/met_programmation.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_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'
import { CiLocationOn } from "react-icons/ci";
const Formation_Partner_Catalog_Special_JMJFormation = (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: 'Oui',
onClick: () => { history.push("/mysy-training-login/training/" + props.formation.internal_url) }
},
{
label: 'Non',
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("");
const [class_img_stored_in_bdd, setclass_img_stored_in_bdd] = useState("");
function getClassImage_no_token() {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/getRecodedClassImage_no_token/";
var form = new FormData();
form.append("type", "partner");
form.append("related_collection", "myclass");
form.append("related_collection_recid", props.formation._id);
form.append("class_external_code", props.formation.external_code);
axios.post(myurl, form).then(res => {
// console.log(" getClassImage_no_token : In test res.data.status = ", res.data.status);
if (String(res.data.status) === "true") {
//console.log(" getClassImage_no_token: res.data.message.img = ", res.data.message);
if (res.data.message.img.length > 0) {
setisclassimage("True");
}
else {
setisclassimage("False");
}
setisclassimage(res.data.message.img);
var ch_img = "data:image/png;base64," + res.data.message.img;
setclass_img_stored_in_bdd(ch_img);
// console.log(" getClassImage_no_token: setclass_img_stored_in_bdd = ", setclass_img_stored_in_bdd);
}
else {
// console.log(" In Erreur res.data.status = " + res.data.status);
//console.log(" In Erreur res.data.message = " + res.data.message);
setisclassimage("False");
setuserimgclassprofil();
setclass_img_stored_in_bdd();
}
}).catch((error) => {
console.warn('getClassImage ee: Not good man :( getClassImage = ');
setisclassimage("False");
setuserimgclassprofil("");
setclass_img_stored_in_bdd("");
})
}
/* Cette variable accompagne la gestion des images par defaut.
idée : si la valeur de "DetailTraining.metier" != "management, digital, office, rh, vente, dev_perso"
alors l'utilisateur à créer une formation avec un metier qui n'est pas geré, donc on met une image par defaut
*/
const [ismetiermanaged, setismetiermanaged] = useState();
const liste_metier = ["management", "digital", "office", "rh", "vente", "dev_perso"];
useEffect(() => {
setmyfilter(props.myfil);
// console.log(" #### useEffect props.formation = ", props.formation);
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_no_token();
GetCurrentClass_trainingsession();
GetCurrentClass_trainingsession_cities();
// Verifier si le metier est geré
if (props.formation.metier) {
if (!liste_metier.includes(props.formation.metier)) {
setismetiermanaged("0"); // j'ai une valeur dans metier, mais qui n'est pas geré
}
}
else {
setismetiermanaged("0");
}
if (props.formation.img_url && String(props.formation.img_url).length > 0) {
setismetiermanaged("1");
}
}, []);
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);
form.append("token", stored_partner);
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("")
})
}
const [GetCurrentClass_trainingsession_cities_api, setGetCurrentClass_trainingsession_cities_api] = useState();
const [GetCurrentClass_trainingsession_cities_message, setGetCurrentClass_trainingsession_cities_message] = useState();
const [GetCurrentClass_trainingsession_cities_result, setGetCurrentClass_trainingsession_cities_result] = useState([]);
function GetCurrentClass_trainingsession_cities(event) {
var form = new FormData();
form.append("class_internal_url", props.formation.internal_url);
form.append("token", stored_partner);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/";
axios.post(myurl, form).then(res => {
if (res.data.status != "false") {
//console.log(" In GetCurrentClass_trainingsession_cities res.data.status = " + res.data.status);
//console.log(" In GetCurrentClass_trainingsession_cities res.data.message r_class = " + res.data.message);
setGetCurrentClass_trainingsession_cities_api("true");
setGetCurrentClass_trainingsession_cities_result(res.data.message);
}
else {
setGetCurrentClass_trainingsession_cities_api("false");
setGetCurrentClass_trainingsession_cities_message(res.data.message);
}
}).catch((error) => {
console.warn('Not good man :( GetCurrentClass_trainingsession_cities = ', error);
setGetCurrentClass_trainingsession_cities_api("false");
//setmyApimyApiMessage("")
})
}
const styles = {
list: {
display: 'flex',
flexDirection: 'column',
gap: '32px',
width: '100%',
},
row: {
display: 'flex',
flexDirection: 'row',
gap: '24px',
width: '100%',
},
card: {
flexGrow: 1,
backgroundColor: '#fff',
borderRadius: '8px',
overflow: 'hidden',
display: 'flex',
flexDirection: 'column',
},
image: {
maxWidth: '100%',
height: '200px',
overflow: 'hidden',
marginTop: '-2rem'
},
content: {
padding: '16px',
},
header: {
display: 'flex',
justifyContent: 'space-between',
alignItems: 'center',
},
eligibility: {
backgroundColor: '#e2e9fb',
padding: '4px 8px',
borderRadius: '4px',
fontSize: '12px',
fontWeight: 'bold',
},
title: {
fontSize: '14px',
fontWeight: 'bold',
margin: '8px 0',
},
price: {
fontSize: '14px',
fontWeight: 'bold',
color: '#000',
},
description: {
fontSize: '12px',
color: '#666',
margin: '8px 0',
height: "40px",
overflow: "hidden",
},
details: {
display: 'flex',
justifyContent: 'space-between',
marginTop: '16px',
},
button: {
backgroundColor: '#007bff',
color: '#fff',
padding: '8px 16px',
border: 'none',
borderRadius: '4px',
cursor: 'pointer',
},
buttonOutline: {
backgroundColor: '#fff',
color: '#007bff',
padding: '8px 16px',
border: '1px solid #007bff',
borderRadius: '4px',
cursor: 'pointer',
},
};
return (
<div className="new_formation_2025">
<div style={styles.card}>
<div style={{ width: '100%', textAlign: 'right', zIndex: '9999' }}>
<div style={{ width: '50%', float: 'left' }}> &nbsp; </div>
{props.formation.cpf && String(props.formation.cpf) === String("1") && <div className="case_cpf" >
<span className="tag_cpf_txt_ok_cpf" >{"OUI CPF"}</span>
</div>
}
{props.formation.cpf && String(props.formation.cpf) !== String("1") && <div className="case_cpf">
<span className="tag_cpf_txt_no_ok_cpf">{"NON CPF"}</span>
</div>
}
{!props.formation.cpf && String(props.formation.cpf) !== String("1") && <div className="case_cpf">
<span className="tag_cpf_txt_no_ok_cpf">{"NON CPF"}</span>
</div>}
</div>
{class_img_stored_in_bdd && String(class_img_stored_in_bdd).length > 50 &&
<img src={class_img_stored_in_bdd} alt="Formation" style={styles.image} />
}
{(!class_img_stored_in_bdd || String(class_img_stored_in_bdd).length < 50) &&
(!props.formation.img_url || String(props.formation.img_url).length <= 10) &&
String(ismetiermanaged) !== "0" && String(ismetiermanaged) !== "1" &&
<div >
{(!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" style={styles.image} />}
{(!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" style={styles.image} />}
{(!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" style={styles.image} />}
{(!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" style={styles.image} />}
{(!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" style={styles.image} />}
{!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" style={styles.image} />}
{!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" style={styles.image} />}
{!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" style={styles.image} />}
{String(isclassimage) === "True" && <img src={userimgclassprofil} alt="developpement personnel" style={styles.image} />}
</div>
}
{(!class_img_stored_in_bdd || String(class_img_stored_in_bdd).length < 50) && String(ismetiermanaged) === "0" && String(userimgclassprofil).length > 100 &&
<div>
<img src={userimgclassprofil} alt="autre" style={styles.image} />
{/*props.formation.institut_formation && <div style={{ width: '100%', "textAlign": "center" }}> Dispensé par :<br />
{String(props.formation.institut_formation)} </div>*/}
</div>}
{(!class_img_stored_in_bdd || String(class_img_stored_in_bdd).length < 50) && String(ismetiermanaged) === "0" && String(userimgclassprofil).length <= 100 &&
<div>
<img src={img_met_autre} alt="autre" style={styles.image} />
{/*props.formation.institut_formation && <div style={{ width: '100%', "textAlign": "center" }}> Dispensé par :<br />
{String(props.formation.institut_formation)} </div>*/}
</div>}
{(!class_img_stored_in_bdd || String(class_img_stored_in_bdd).length < 50) && String(ismetiermanaged) === "1" &&
<div>
<img src={props.formation.img_url} alt="autre" style={styles.image} />
{/*props.formation.institut_formation && <div style={{ width: '100%', "textAlign": "center" }}> Dispensé par : <br />
{String(props.formation.institut_formation)} </div>*/}
</div>}
<div className="block_main_contente">
<div className="block_top_content">
<div className="div_row_gauche" >
{props.formation.note && String(props.formation.note).length === 1 &&
parseInt(String(props.formation.note)) <= 5 &&
<Rating name="half-rating-read" defaultValue={props.formation.note} precision={0.5} readOnly style={{ fontSize: '15px' }} />
}
</div>
<h3 className="formation_titre">{String(parse(String(props.formation.title).replace(/(<([^>]+)>)/ig, ''))).substring(0, 50)}</h3>
{props.formation.discounted_price && props.formation.business_prices && <p className="formation_prix">{props.formation.discounted_price} HT&nbsp; </p>}
{props.formation.business_prices && props.formation.business_prices.length <= 0
&& <p className="formation_prix">{props.formation.price} HT&nbsp; </p>}
{props.formation.business_prices && props.formation.business_prices.length > 0 &&
<p style={{ width: '100%', float: 'left' }}>
<p className="formation_prix" style={{ width: '100%', float: 'left' }}>{props.formation.business_prices[0].discounted_price} HT&nbsp;
<font className='training_price_barre' style={{ fontSize:'14px' }}> {props.formation.price} HT &nbsp;</font>
<font className='discount_block' style={{ fontSize:'14px' }}> ({props.formation.business_prices[0].discount} %) </font></p>
</p>}
<p className="formation_description"> {String(parse(String(props.formation.description).replace(/(<([^>]+)>)/ig, ''))).substring(0, 80)}...</p>
</div>
</div>
<div className="block_cats">
<button className="block_cats_bton_detail">
<nav className="block_cats_bton_detail_text"
onClick={(e) => {
e.preventDefault();
if (props.formation.url && props.formation.url.length > 5) {
window.open(
props.formation.url,
'_blank'
);
} else {
window.open(
"/detaile-formation/" + props.formation.internal_url,
'_blank'
);
}
}}> Voir les détails </nav></button>
</div>
</div>
</div>
)
}
export default Formation_Partner_Catalog_Special_JMJFormation;

File diff suppressed because it is too large Load Diff

View File

@ -1,32 +1,41 @@
import React, { useRef, useState, useMemo, useEffect } from "react";
import "./jmj_formation.css";
import { useForm } from "react-hook-form";
import axios from "axios";
import Formation_Partner_Catalog from "./Formation_Partner_Catalog";
import Formation_Partner_Catalog from "../Formation_Partner_Catalog";
import Formation_Partner_Catalog_Special_JMJFormation from "./Formation_Partner_Catalog_Special_JMJFormation";
import { FaSearch, FaRegArrowAltCircleDown, FaRegArrowAltCircleUp } from 'react-icons/fa';
import { IoAppsSharp, IoListSharp } from "react-icons/io5";
import Formation_Grid_2Col from "./Formation_Grid_2Col";
import Pagination from "./TestPagination";
import Formation_Grid_2Col from "../Formation_Grid_2Col";
import Pagination from "../TestPagination";
import { useHistory } from "react-router-dom";
import { getCookie, removeCookie } from 'react-use-cookie';
import { Helmet } from "react-helmet";
import AideRecherche from "./AideRecherche"
import AideRecherche from "../AideRecherche"
import { useParams } from 'react-router-dom'
import Fotter_Catalog_Pub from "./Fotter_Catalog_Pub";
import Fotter_Catalog_Pub from "../Fotter_Catalog_Pub";
import { confirmAlert } from 'react-confirm-alert'; // Import
import { useCookies } from "react-cookie";
import InputRange from 'react-input-range';
import 'react-input-range/lib/css/index.css';
import tick_ko from "../mysy_img/tick_KO.png";
import img_header from "../mysy_img2/img_header.png"
import tick_ko from "../../mysy_img/tick_KO.png";
import img_header from "../../mysy_img2/img_header.png"
import img_header_jmg from "../../mysy_img2/img_jmj_modif.jpg"
import { TbArrowsDownUp } from "react-icons/tb";
import { CiCircleRemove, CiCircleMinus } from "react-icons/ci";
let PageSize = 10;
const Mon_Catalogue_Public = (props) => {
const Jmjformation_Catalogue_Public = (props) => {
@ -223,23 +232,6 @@ const Mon_Catalogue_Public = (props) => {
}
}
/*
if (document.querySelector('input[name="TrainingSupport"]:checked')) {
crit_TrainingSupport = document.querySelector('input[name="TrainingSupport"]:checked').value;
if (crit_TrainingSupport.length > 0) {
filtre1 = result.filter((maformation) => JSON.parse(maformation).support === crit_TrainingSupport);
setv11(filtre1);
}
else if (crit_TrainingSupport.length <= 0 || String(crit_TrainingSupport) === String("NA")) {
filtre1 = result;
setv11(filtre1);
}
}
*/
var crit_TrainingCertif = "";
@ -957,7 +949,7 @@ const Mon_Catalogue_Public = (props) => {
fetchData();
const listener = event => {
if (event.code === "Enter" || event.code === "NumpadEnter") {
@ -2753,18 +2745,19 @@ const Mon_Catalogue_Public = (props) => {
return (
<div className="mon_catalogue_public" >
<div className="mon_catalogue_public jmj_formation" >
<Helmet>
<title>Formation & Tutoriel Gratuit ou payant Excellente qualité</title>
<meta name="description" content="(zzz)Trouver des Formations et Tutoriels d'excellente qualité : Gratuit ou payant / A distance ou en presentiel, etc." />
<meta name="description" content="Trouver des Formations et Tutoriels d'excellente qualité : Gratuit ou payant / A distance ou en presentiel, etc." />
<meta name="robots" content="index,follow" />
<link rel="canonical" href={`${process.env.REACT_APP_BASE_URL}` + "/recherche-formation"} />
<meta name="title" content="Formation & Tutoriel Gratuit ou payant Excellente qualité" />
</Helmet>
{/******* Gestion du THEME "MySy_Theme2" */}
{/******* Gestion du THEME "MySy_Theme2" */}
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0
&& String(my_theme_code) === "MySy_Theme2" && <div>
@ -3502,7 +3495,7 @@ const Mon_Catalogue_Public = (props) => {
{/******* Gestion du THEME PAR DEFAULT " */}
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0
&& String(my_theme_code) !== "MySy_Theme2" && <div>
&& String(my_theme_code) === "MySy_Theme_Default" && <div>
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0
&& New_Get_Subdomain_Partner_Data_result[0].catalog_pub_banniere_img && <div >
@ -3872,7 +3865,7 @@ const Mon_Catalogue_Public = (props) => {
</div>
}
@ -3972,7 +3965,6 @@ const Mon_Catalogue_Public = (props) => {
<Formation_Partner_Catalog formation={JSON.parse(formation)} key={JSON.parse(formation).title} coeur={JSON.parse(formation).title} />
</div>
))}
{result && myApiResponse == "True" && fin == 0 && newresult &&
@ -4054,10 +4046,406 @@ const Mon_Catalogue_Public = (props) => {
</div>}
{/******* FIN Gestion du THEME PAR DEFAULT " */}
{/******* Gestion du THEME THEME SPECIAL JMJ Formation " */}
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0
&& String(my_theme_code) === "MySy_Theme_JMJ" &&
<div className="jmj_block_header">
<div className="jmj_block_header_img">
<div style={{ "width": "100%", float: "left" }}>
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0
&& New_Get_Subdomain_Partner_Data_result[0].catalog_pub_banniere_img && <div >
<img src={New_Get_Subdomain_Partner_Data_result[0].catalog_pub_banniere_img} className="Partner_Catalog_Background_Header_jmj"></img>
</div>}
<div className="jmj_header_gauche">
<div className="bloc_logo_indic" style={{ position: "unset" }}>
<div className="bloc_logo_indic_logo">
<img src={New_Get_Subdomain_Partner_Data_result[0].catalog_pub_logo} alt={New_Get_Subdomain_Partner_Data_result[0].nom} />
</div>
<div className="bloc_logo_indic_contact">
<font className="bloc_logo_indic_contact_text"> Contact </font> <br />
Tel : {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_contact_public_telephone} <br />
Email : {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_contact_public_email}
</div>
<div className="bloc_logo_indic_indic">
<font className="bloc_logo_indic_indic_text"> Indicateurs </font> <br />
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0
&& New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_1_txt &&
<div style={{
textAlign: "left",
width: '100%',
fontSize: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_1_taille}` + "px",
color: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_1_color}`,
fontWeight: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_1_gras}`,
}}> {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_1_txt}
</div>}
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0
&& New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_2_txt &&
<div style={{
textAlign: "left",
width: '100%',
fontSize: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_2_taille}` + "px",
color: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_2_color}`,
fontWeight: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_2_gras}`,
}}> {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_2_txt}
</div>}
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0
&& New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_3_txt &&
<div style={{
textAlign: "left",
width: '100%',
fontSize: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_3_taille}` + "px",
color: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_3_color}`,
fontWeight: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_3_gras}`,
}}> {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_3_txt}
</div>}
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0
&& New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_4_txt &&
<div style={{
textAlign: "left",
width: '100%',
fontSize: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_4_taille}` + "px",
color: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_4_color}`,
fontWeight: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_4_gras}`,
}}> {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_indicateur_4_txt}
</div>}
</div>
<div className="bloc_milieu" style={{ position: "unset" }}>
<div className="bloc_milieu_text">
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0 &&
<nav className="title1_nom" style={{marginBottom:"2rem"}}>
{New_Get_Subdomain_Partner_Data_result[0].nom}
</nav>}
{New_Get_Subdomain_Partner_Data_result && New_Get_Subdomain_Partner_Data_result.length > 0 &&
<nav style={{marginBottom:"2rem"}}>
<font className='title1_text1' style={{
fontSize: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_message_1_taille}` + "px",
color: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_message_1_color}`,
fontWeight: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_message_1_gras}`,
}}> {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_message_1_txt} </font>
</nav>}
{New_Get_Subdomain_Partner_Data_result[0] && New_Get_Subdomain_Partner_Data_result[0].catalog_pub_message_2_txt &&
<nav className="title2" style={{
fontSize: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_message_2_taille}` + "px",
color: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_message_2_color}`,
fontWeight: `${New_Get_Subdomain_Partner_Data_result[0].catalog_pub_message_2_gras}`,
}}> {New_Get_Subdomain_Partner_Data_result[0].catalog_pub_message_2_txt} </nav>}
</div>
<div className="bloc_img_milieu_gauche">
<img style={{ width: '60%' }}
src={img_header_jmg} />
</div>
</div>
</div>
</div>
<div className="jmj_header_droite">
<img src={img_header_jmg} style={{ width: '100%', paddingTop: '3rem' }} />
</div>
</div>
</div>
<div style={{ width: '100%', background: '#f3f4fb', paddingTop: "2rem" }}>
<div className="jmj_block_milieu">
<div className="jmj_block_milieu_gauche">
{showelement === "true" && <div className="rech_leftbox" >
<div className="sous_filter">
<div className="tab_critere_espace">
<div className="filter_valeur" onChange={TrainingCPFHandle}>
<div className="filter_valeur_txt" > Eligible CPF
</div>
<div className="filter_valeur_block_val">
<div className="frame_133" >
<div className="frame_133_grp" >
<input className="frame_133_grp_radio" type="radio" value="1" id={"TrainingCPF"} name={"TrainingCPF"} />
<nav className="frame_133_grp_txt"> Oui </nav>
</div>
</div>
<div className="frame_134">
<div className="frame_134_grp" >
<input className="frame_133_grp_radio" type="radio" value="0" id={"TrainingCPF"} name={"TrainingCPF"} />
<nav className="frame_133_grp_txt"> Non </nav>
</div>
</div>
{String(cpfchecked) === String("1") && <div className="frame_135" onClick={annulefiltrecpf}>
<div className="frame_135_grp" >
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
</div>
</div>}
</div>
</div>
<div className="filter_valeur" onChange={TrainingCertifHandle}>
<div className="filter_valeur_txt" > Certification
</div>
<div className="filter_valeur_block_val">
<div className="frame_133" >
<div className="frame_133_grp" >
<input className="frame_133_grp_radio" type="radio" value="1" id={"TrainingCertif"} name={"TrainingCertif"} />
<nav className="frame_133_grp_txt"> Oui </nav>
</div>
</div>
<div className="frame_134">
<div className="frame_134_grp" >
<input className="frame_133_grp_radio" type="radio" value="0" id={"TrainingCertif"} name={"TrainingCertif"} />
<nav className="frame_133_grp_txt"> Non </nav>
</div>
</div>
{String(certifchecked) === String("1") && <div className="frame_135" onClick={annulefiltrecertif}>
<div className="frame_135_grp" >
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
</div>
</div>}
</div>
</div>
<div className="filter_valeur" onChange={TrainingTypeHandle}>
<div className="filter_valeur_txt" > Type
</div>
<div className="filter_valeur_block_val">
<div className="frame_133" >
<div className="frame_133_grp" >
<input className="frame_133_grp_radio" type="radio" value="cours" id={"TrainingType"} name={"TrainingType"} />
<nav className="frame_133_grp_txt"> Cours </nav>
</div>
</div>
<div className="frame_134">
<div className="frame_134_grp" >
<input className="frame_133_grp_radio" type="radio" value="tuto" id={"TrainingType"} name={"TrainingType"} />
<nav className="frame_133_grp_txt"> Tuto </nav>
</div>
</div>
{String(typechecked) === String("1") && <div className="frame_135" onClick={annulefiltretypechecked}>
<div className="frame_135_grp" >
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
</div>
</div>}
</div>
</div>
<div className="filter_valeur" >
<div className="filter_valeur_txt" > Support
</div>
<div className="filter_valeur_block_val">
<select className="form-select form-select-sm limite_input" onChange={TrainingSupportHandle} aria-label=".form-select-sm example"
id="supoort_list_derou" name="supoort_list_derou" >
<option selected value="">Choisir</option>
<option value="video">Video</option>
<option value="réalité virtuelle">Realité Virtuelle</option>
<option value="document">Document</option>
<option value="mixte">Mixte</option>
</select>
</div>
</div>
<div className="filter_valeur">
<div className="filter_valeur_txt" > Prix
</div>
<div className="new_filter_zone_cerif_radio_left range_prix_mobile" style={{
"width": "90%",
'float': "right", "textAlign": 'right', "marginTop": "1rem",
"fontFamily": 'Manrope',
}} onClick={TrainingPriceHandle}>
<InputRange
maxValue={10000}
minValue={0}
formatLabel={value => `${value}`}
value={range_price}
step={500}
name="toto"
onChange={value => setrange_price(value)}
//onChange={TrainingPriceHandle}
onChangeComplete={value => console.log(value)}
/>
</div>
<div> &nbsp;</div>
</div>
</div>
</div>
</div>
}
</div>
<div className="jmj_block_milieu_droite">
<div className="rech_middlebox" id="rech_middlebox" style={{ width: '100%' }}>
<div> <h3 style={{ fontFamily: 'DM Sans', color: '#0A043C' }}> Nos Formations </h3></div>
<div style={{
display: 'flex', flexDirection: 'row', justifyContent: 'center', width: '100%', flexWrap: 'wrap',
padding: "2px", margin: '2px', gap: '10px', alignItems: 'center',
}}>
<div style={{ width: '100%' }}>
{result && myApiResponse === "True" && !newresult &&
<div className="okUpdateData">
<div style={{ "width": "100%" }}>
<div style={{ "width": "50%", "float": "left" }}>
<Pagination
className="pagination-bar"
currentPage={currentPage2}
totalCount={result.length}
pageSize={PageSize}
onPageChange={page => setCurrentPage2(page)}
/>
</div>
<div style={{ "width": "40%", "float": "right" }}>
<div className="input-group input-group-sm mb-3 ">
<span className="filter_span">Trier par </span>
<select className="filter_val"
id={"trierpar"} name={"trierpar"}
onChange={trier}>
<option value="price">Prix</option>
<option value="duration">Duree</option>
<option selected value="note">Pertinence</option>
</select>
<span style={{ width: '10%' }}><TbArrowsDownUp style={{ height: '2rem', paddingTop: '5px', width: '40%' }}
onClick={(e) => {
if (trier_par === "1")
settrier_par("-1");
else
settrier_par("1");
trier();
}}
/> </span>
</div>
</div>
</div>
</div>}
</div>
<div style={{ width: '100%' }}>
<div className="block_display_flex_formation" style={{ width: '100%' }}>
{result && myApiResponse == "True" && fin == 0 && !newresult &&
result.slice(0, PageSize).map((formation) => (
<div className="block_formation" ref={inputEl} id="inputEl_element">
<Formation_Partner_Catalog_Special_JMJFormation formation={JSON.parse(formation)} key={JSON.parse(formation).title} coeur={JSON.parse(formation).title} />
</div>
))}
{result && myApiResponse == "True" && fin == 0 && newresult &&
newresult.slice(0, PageSize).map((formation) => (
<div className="block_formation" >
<Formation_Partner_Catalog_Special_JMJFormation formation={JSON.parse(formation)} key={JSON.parse(formation).title} />
</div>
))}
{result && myApiResponse === "True" && fin === 1 && !newresult
&& currentTableData2
&& currentTableData2.map((formation) => (
<div className="block_formation" >
<Formation_Partner_Catalog_Special_JMJFormation formation={JSON.parse(formation)} key={JSON.parse(formation).title} />
</div>
))}
{result && myApiResponse === "True" && fin === 1 && newresult
&& currentTableData2
&& currentTableData2.map((formation) => (
<div className="block_formation" >
<Formation_Partner_Catalog_Special_JMJFormation formation={JSON.parse(formation)} key={JSON.parse(formation).title} />
</div>
))}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div className="jmj_block_footer">
<Fotter_Catalog_Pub partner_data={New_Get_Subdomain_Partner_Data_result[0]} />
</div>
</div>}
{/******* FIN Gestion du THEME SPECIAL JMJ Formation " */}
</div >
);
}
export default Mon_Catalogue_Public;
export default Jmjformation_Catalogue_Public;

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,7 +1,7 @@
import React, { useState, useEffect } from "react";
import { useHistory } from "react-router-dom";
import { useCookies } from "react-cookie";
import { confirmAlert } from 'react-confirm-alert';

View File

@ -1,24 +1,22 @@
import React, { useState, useEffect, } from "react";
import { useForm } from "react-hook-form";
import { getCookie, setCookie } from 'react-use-cookie';
import Box from '@mui/material/Box';
import InputLabel from '@mui/material/InputLabel';
import InputAdornment from '@mui/material/InputAdornment';
import FormControl from '@mui/material/FormControl';
import TextField from '@mui/material/TextField';
import AccountCircle from '@mui/icons-material/AccountCircle';
import PhoneIcon from '@mui/icons-material/Phone'
import EmailIcon from '@mui/icons-material/Email'
import LanguageIcon from '@mui/icons-material/Language';
import HomeIcon from '@mui/icons-material/Home'
import { Button, Form, FormGroup, Label } from "reactstrap";
import DeleteOutlineIcon from '@mui/icons-material/DeleteOutline';
import { Button } from "reactstrap";
import { useHistory } from "react-router-dom";
import TwitterIcon from '@mui/icons-material/Twitter';
import FacebookIcon from '@mui/icons-material/Facebook';
import LinkedInIcon from '@mui/icons-material/LinkedIn';
import axios from "axios";
import { ConsoleView } from "react-device-detect";
import MenuItem from '@mui/material/MenuItem';
import Checkbox from '@mui/material/Checkbox';
import Partner_Securite_Data from "./Partner_Securite_Data";
@ -30,7 +28,6 @@ import CancelPresentationIcon from '@mui/icons-material/CancelPresentation';
import { makeStyles } from "@material-ui/core/styles";
import { IconButton } from '@material-ui/core';
import fileDownload from 'js-file-download';
import OpenInNewIcon from '@mui/icons-material/OpenInNew';
import Dialog from '@mui/material/Dialog';
import DialogActions from '@mui/material/DialogActions';
@ -38,10 +35,9 @@ import DialogContent from '@mui/material/DialogContent';
import DialogContentText from '@mui/material/DialogContentText';
import DialogTitle from '@mui/material/DialogTitle';
import ColorPicker from 'react-pick-color';
import { gridClasses } from '@mui/x-data-grid';
import AttachFileIcon from '@mui/icons-material/AttachFile';
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
import DeleteForeverIcon from '@mui/icons-material/DeleteForever';
import DownloadingIcon from '@mui/icons-material/Downloading';
import Popup from 'reactjs-popup';
@ -135,6 +131,10 @@ function UpdateParnterInfo(props) {
//desablesecurtyInsertKeyfields();
getPartnerImages();
Get_List_Catalog_Public_Themes();
window.scrollTo({
top: 0,
behavior: "smooth",
});
}, [])
@ -385,7 +385,7 @@ function UpdateParnterInfo(props) {
if (mylocaltraining.adr_city) {
setp_adr_street(mylocaltraining.adr_city);
setp_adr_city(mylocaltraining.adr_city);
}

View File

@ -2978,14 +2978,13 @@ const New_C_Marketplace_2025 = () => {
</Menu>
<div>
</div>
<div className="Background_Header">
</div>
<div className="Header_Content">
<div className="content_search_bar">

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

View File

@ -1,17 +1,19 @@
import Jmjformation_Catalogue_Public from "../components/Jmjformation_Catalogue_Public";
import Jmjformation_Catalogue_Public from "../components/Jmj_Theme/Jmjformation_Catalogue_Public";
import New_C_Footer_2025_V2 from "../components/footer_automatic_files/Layout";
const jmjformation_catalogue_public = () => {
return (
<div>
<div>
<Jmjformation_Catalogue_Public />
</div>
</div>
)
}

View File

@ -1,4 +1,4 @@
import React from "react";
import React from "react";
import New_C_Footer_2025_V2 from "../components/footer_automatic_files/Layout";
import New_C_Header_2025_V2 from "../components/header_automatic_files/Header";

View File

@ -17,6 +17,8 @@
font-size: 0.1rem;
}
@media only screen and (max-width: 600px) {
.calage {
display: none;
@ -392,7 +394,7 @@
background: transparent;
color: #3b3e40;
font-family: "DM Sans", "sans-serif";
border: 1px solid #C7C9CE;
border: 1px solid #C7C9CE;
border-radius: 0.3rem !important;
width: 65%;
margin-top: 0.3rem;
@ -928,7 +930,7 @@
.title2 {
position: absolute;
height: 35px;
font-family: "Albert Sans";
font-family: 'DM Sans';
font-style: normal;
font-size: 14px;
line-height: 19px;
@ -1239,7 +1241,7 @@
height: 24px;
letter-spacing: 1px;
font-family: 'Albert Sans';
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-size: 18px;
@ -2384,6 +2386,7 @@
width: 100%;
float: left;
text-align: center;
font-family: "DM Sans";
}
.title1_nom_model_2 {
@ -2392,7 +2395,7 @@
text-align: center;
height: 150px;
font-family: 'Albert Sans';
font-family: "DM Sans";
font-style: normal;
font-weight: 700;
font-size: 40px;
@ -2506,7 +2509,7 @@
text-align: left;
// height: 192px;
font-family: 'Albert Sans';
font-family: 'DM sans';
font-style: normal;
font-weight: 500;
font-size: 22px !important;
@ -2534,7 +2537,7 @@
text-align: left;
//height: 192px;
font-family: 'Albert Sans';
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-size: 35px;
@ -2900,7 +2903,7 @@
background: transparent;
color: #3b3e40;
font-family: "DM Sans", "sans-serif";
border: 1px solid #C7C9CE;
border: 1px solid #C7C9CE;
border-radius: 0.3rem !important;
width: 65%;
margin-top: 0.3rem;
@ -3786,7 +3789,7 @@
text-align: left;
// height: 192px;
font-family: 'Albert Sans';
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-size: 34px;
@ -3805,7 +3808,7 @@
flex: none;
order: 0;
flex-grow: 0;
height: 100px;
// height: 100px;
}
.title1_text1 {
@ -3813,7 +3816,7 @@
text-align: left;
height: 192px;
font-family: 'Albert Sans';
font-family: 'DM sans';
font-style: normal;
font-weight: 500;
font-size: 30px;
@ -3840,7 +3843,7 @@
text-align: left;
font-family: 'Albert Sans';
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-size: 16px;
@ -4296,7 +4299,7 @@
height: 24px;
letter-spacing: 1px;
font-family: 'Albert Sans';
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-size: 18px;
@ -5702,12 +5705,14 @@
.bloc_logo_indic_contact_text {
text-align: left;
font-weight: 700;
font-family: "DM Sans";
}
.bloc_logo_indic_indic_text {
text-align: left;
font-weight: 700;
font-family: "DM Sans";
}
/*** Pour le modele 2 - MySy_Theme2 **/
@ -5726,6 +5731,7 @@
width: 100%;
float: left;
text-align: center;
font-family: "DM Sans";
}
.title1_nom_model_2 {
@ -5734,7 +5740,7 @@
text-align: center;
height: 150px;
font-family: 'Albert Sans';
font-family: "DM Sans";
font-style: normal;
font-weight: 700;
font-size: 40px;
@ -5841,6 +5847,68 @@
}
.jmj_block_header {
display: flex;
flex-direction: column;
justify-content: flex-start;
width: 100%;
flex-wrap: wrap;
min-height: 100vh;
// padding: 2px;
}
.jmj_block_header_img {
padding: 2px;
// min-height: 500px;
background: #f3f4fb;
z-index: -2;
border: none;
padding-top: 15px;
margin-bottom: 1rem;
}
.jmj_header_gauche {
width: 70%;
float: left;
height: 400px;
}
.jmj_header_droite {
width: 25%;
float: left;
height: 400px;
}
.jmj_block_milieu {
display: flex;
flex-direction: row;
justify-content: center;
width: 100%;
flex-wrap: wrap;
margin: auto;
max-width: 1600px;
min-height: 100vh;
gap: 10px;
}
.jmj_block_footer {
margin-top: 15px;
min-height: 10rem;
}
.jmj_block_milieu_gauche {
padding: auto;
width: 100%;
margin-left: auto;
}
.jmj_block_milieu_droite {
margin: auto;
width: 100%;
}
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
@ -7065,9 +7133,9 @@
.title1_nom {
width: 100%;
text-align: left;
height: 192px;
// height: 192px;
font-family: 'Albert Sans';
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-size: 40px;
@ -7091,9 +7159,9 @@
.title1_text1 {
width: 100%;
text-align: left;
height: 192px;
height: 100%;
font-family: 'Albert Sans';
font-family: 'DM sans';
font-style: normal;
font-weight: 500;
font-size: 30px;
@ -7120,7 +7188,7 @@
text-align: left;
height: 22px;
font-family: 'Albert Sans';
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-size: 20px;
@ -7577,7 +7645,7 @@
// width: 92px;
height: 24px;
font-family: 'Albert Sans';
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-size: 20px;
@ -8963,12 +9031,14 @@
.bloc_logo_indic_contact_text {
text-align: left;
font-weight: 700;
font-family: "DM Sans";
}
.bloc_logo_indic_indic_text {
text-align: left;
font-weight: 700;
font-family: "DM Sans";
}
/*** Pour le modele 2 - MySy_Theme2 **/
@ -8987,6 +9057,7 @@
width: 100%;
float: left;
text-align: center;
font-family: "DM Sans";
}
.title1_nom_model_2 {
@ -8994,7 +9065,7 @@
text-align: center;
height: 150px;
font-family: 'Albert Sans';
font-family: "DM Sans";
font-style: normal;
font-weight: 700;
font-size: 40px;
@ -9125,6 +9196,72 @@
}
.jmj_block_header {
display: flex;
flex-direction: column;
justify-content: flex-start;
width: 100%;
flex-wrap: wrap;
min-height: 100vh;
// padding: 2px;
}
.jmj_block_header_img {
padding: 2px;
// min-height: 500px;
background: #f3f4fb;
z-index: -2;
border: none;
padding-top: 15px;
margin-bottom: 1rem;
}
.jmj_header_gauche {
width: 70%;
float: left;
height: 400px;
}
.jmj_header_droite {
width: 25%;
float: left;
height: 400px;
}
.jmj_block_milieu {
display: flex;
flex-direction: row;
justify-content: center;
width: 100%;
flex-wrap: wrap;
margin: auto;
max-width: 1600px;
min-height: 100vh;
gap: 10px;
}
.jmj_block_footer {
margin-top: 15px;
min-height: 10rem;
}
.jmj_block_milieu_gauche {
padding: auto;
width: 25%;
min-height: 100vh;
margin-left: auto;
}
.jmj_block_milieu_droite {
margin: auto;
width: 70%;
min-height: 100vh;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1919px) {
@ -9462,7 +9599,7 @@
background: transparent;
color: #3b3e40;
font-family: "DM Sans", "sans-serif";
border: 1px solid #C7C9CE;
border: 1px solid #C7C9CE;
border-radius: 0.3rem !important;
width: 65%;
margin-top: 0.3rem;
@ -10351,9 +10488,9 @@
.title1_nom {
width: 90%;
text-align: left;
height: 192px;
// height: 192px;
font-family: 'Albert Sans';
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-size: 40px;
@ -10380,7 +10517,7 @@
text-align: left;
height: 192px;
font-family: 'Albert Sans';
font-family: 'DM sans';
font-style: normal;
font-weight: 500;
font-size: 30px;
@ -10406,7 +10543,7 @@
text-align: left;
height: 22px;
font-family: 'Albert Sans';
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-size: 18px;
@ -10861,7 +10998,7 @@
// width: 92px;
height: 24px;
font-family: 'Albert Sans';
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-size: 20px;
@ -12250,12 +12387,14 @@
.bloc_logo_indic_contact_text {
text-align: left;
font-weight: 700;
font-family: "DM Sans";
}
.bloc_logo_indic_indic_text {
text-align: left;
font-weight: 700;
font-family: "DM Sans";
}
/*** Pour le modele 2 - MySy_Theme2 **/
@ -12274,6 +12413,7 @@
width: 100%;
float: left;
text-align: center;
font-family: "DM Sans";
}
.title1_nom_model_2 {
@ -12281,7 +12421,7 @@
text-align: center;
height: 150px;
font-family: 'Albert Sans';
font-family: "DM Sans";
font-style: normal;
font-weight: 700;
font-size: 40px;
@ -12401,7 +12541,7 @@
text-align: left;
height: 192px;
font-family: 'Albert Sans';
font-family: 'DM sans';
font-style: normal;
font-weight: 500;
font-size: 30px;
@ -12435,6 +12575,72 @@
}
.jmj_block_header {
display: flex;
flex-direction: column;
justify-content: flex-start;
width: 100%;
flex-wrap: wrap;
min-height: 100vh;
// padding: 2px;
}
.jmj_block_header_img {
padding: 2px;
// min-height: 500px;
background: #f3f4fb;
z-index: -2;
border: none;
padding-top: 15px;
margin-bottom: 1rem;
}
.jmj_header_gauche {
width: 70%;
float: left;
height: 400px;
}
.jmj_header_droite {
width: 25%;
float: left;
height: 400px;
}
.jmj_block_milieu {
display: flex;
flex-direction: row;
justify-content: center;
width: 100%;
flex-wrap: wrap;
margin: auto;
max-width: 1600px;
min-height: 100vh;
gap: 10px;
}
.jmj_block_footer {
margin-top: 15px;
min-height: 10rem;
}
.jmj_block_milieu_gauche {
padding: auto;
width: 20%;
min-height: 100vh;
margin-left: auto;
}
.jmj_block_milieu_droite {
margin: auto;
width: 70%;
min-height: 100vh;
}
}
@media only screen and (min-width: 1920px) {
@ -12775,7 +12981,7 @@
background: transparent;
color: #3b3e40;
font-family: "DM Sans", "sans-serif";
border: 1px solid #C7C9CE;
border: 1px solid #C7C9CE;
border-radius: 0.3rem !important;
width: 65%;
margin-top: 0.3rem;
@ -13670,9 +13876,9 @@
.title1_nom {
width: 100%;
text-align: left;
height: 192px;
// height: 192px;
font-family: 'Albert Sans';
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-size: 40px;
@ -13698,7 +13904,7 @@
text-align: left;
height: 192px;
font-family: 'Albert Sans';
font-family: 'DM sans';
font-style: normal;
font-weight: 500;
font-size: 30px;
@ -13724,7 +13930,7 @@
text-align: left;
height: 22px;
font-family: 'Albert Sans';
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-size: 18px;
@ -14180,7 +14386,7 @@
// width: 92px;
height: 24px;
font-family: 'Albert Sans';
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-size: 20px;
@ -15593,12 +15799,14 @@
.bloc_logo_indic_contact_text {
text-align: left;
font-weight: 700;
font-family: "DM Sans";
}
.bloc_logo_indic_indic_text {
text-align: left;
font-weight: 700;
font-family: "DM Sans";
}
/*** Pour le modele 2 - MySy_Theme2 **/
@ -15617,6 +15825,7 @@
width: 100%;
float: left;
text-align: center;
font-family: "DM Sans";
}
.title1_nom_model_2 {
@ -15624,7 +15833,7 @@
text-align: center;
height: 150px;
font-family: 'Albert Sans';
font-family: "DM Sans";
font-style: normal;
font-weight: 700;
font-size: 40px;
@ -15745,7 +15954,7 @@
text-align: left;
height: 192px;
font-family: 'Albert Sans';
font-family: 'DM sans';
font-style: normal;
font-weight: 500;
font-size: 30px;
@ -15779,12 +15988,87 @@
float: left;
}
.jmj_block_header {
display: flex;
flex-direction: column;
justify-content: flex-start;
width: 100%;
flex-wrap: wrap;
min-height: 100vh;
// padding: 2px;
}
.jmj_block_header_img {
padding: 2px;
// min-height: 500px;
background: #f3f4fb;
z-index: -2;
border: none;
padding-top: 15px;
margin-bottom: 1rem;
}
.jmj_header_gauche {
width: 70%;
float: left;
height: 400px;
}
.jmj_header_droite {
width: 25%;
float: left;
height: 400px;
}
.jmj_block_milieu {
display: flex;
flex-direction: row;
justify-content: center;
width: 100%;
flex-wrap: wrap;
margin: auto;
max-width: 1600px;
min-height: 100vh;
gap: 10px;
}
.jmj_block_footer {
margin-top: 15px;
min-height: 10rem;
}
.jmj_block_milieu_gauche {
padding: auto;
width: 20%;
min-height: 100vh;
margin-left: auto;
}
.jmj_block_milieu_droite {
margin: auto;
width: 70%;
min-height: 100vh;
}
}
// end media
.Partner_Catalog_Background_Header_jmj {
width: 100%;
height: 452px;
left: 0px;
top: 0px;
z-index: -1;
position: absolute;
}
.message_hili {
color: #619e31;
font-weight: bold;

View File

@ -397,7 +397,7 @@
background: transparent;
color: #3b3e40;
font-family: "DM Sans", "sans-serif";
border: 1px solid #C7C9CE;
border: 1px solid #C7C9CE;
border-radius: 0.3rem !important;
width: 65%;
margin-top: 0.3rem;
@ -878,6 +878,7 @@
left: 1%;
top: 900px;
}
.pieddepage_v2 {
position: relative;
width: 100%;
@ -2426,9 +2427,9 @@
font-weight: 700;
}
/*** Pour le modele 2 - MySy_Theme2 **/
/*** Pour le modele 2 - MySy_Theme2 **/
.bloc_milieu_model_2 {
.bloc_milieu_model_2 {
min-height: 5rem;
width: 90%;
margin-left: 5%;
@ -2453,7 +2454,7 @@
font-style: normal;
font-weight: 700;
font-size: 30px;
// line-height: 54px;
// line-height: 54px;
/* or 107% */
letter-spacing: 1px;
@ -2547,33 +2548,31 @@
font-weight: 700;
}
.bloc_milieu_text_model_2_gauche{
.bloc_milieu_text_model_2_gauche {
width: 100%;
float: left;
}
.bloc_milieu_text_model_2_centre{
.bloc_milieu_text_model_2_centre {
width: 100%;
float: left;
height: 250px;
}
.bloc_milieu_text_model_2_droite{
.bloc_milieu_text_model_2_droite {
width: 100%;
float: right;
}
.title1_text1_model_2 {
}
.title1_text1_model_2 {}
.bloc_connexion_model_2 {
width: 100%;
float: left;
height: 70vh;
}
@ -2921,7 +2920,7 @@
background: transparent;
color: #3b3e40;
font-family: "DM Sans", "sans-serif";
border: 1px solid #C7C9CE;
border: 1px solid #C7C9CE;
border-radius: 0.3rem !important;
width: 65%;
margin-top: 0.3rem;
@ -3841,7 +3840,7 @@
flex: none;
order: 0;
flex-grow: 0;
height: 100px;
height: 100px;
}
.title1_text1 {
@ -5742,136 +5741,134 @@
text-align: left;
font-weight: 700;
}
/*** Pour le modele 2 - MySy_Theme2 **/
.bloc_milieu_model_2 {
min-height: 5rem;
width: 90%;
margin-left: 5%;
float: left;
position: absolute;
top: 10rem;
}
/*** Pour le modele 2 - MySy_Theme2 **/
.bloc_milieu_model_2 {
min-height: 5rem;
width: 90%;
margin-left: 5%;
float: left;
position: absolute;
top: 10rem;
}
.bloc_milieu_text_model_2 {
width: 100%;
float: left;
text-align: center;
}
.bloc_milieu_text_model_2 {
width: 100%;
float: left;
text-align: center;
}
.title1_nom_model_2 {
.title1_nom_model_2 {
width: 100%;
text-align: center;
height: 150px;
width: 100%;
text-align: center;
height: 150px;
font-family: 'Albert Sans';
font-style: normal;
font-weight: 700;
font-size: 40px;
line-height: 54px;
/* or 107% */
font-family: 'Albert Sans';
font-style: normal;
font-weight: 700;
font-size: 40px;
line-height: 54px;
/* or 107% */
letter-spacing: 1px;
letter-spacing: 1px;
/* Deep Blue */
/* Deep Blue */
color: #0A043C;
color: #0A043C;
/* Inside auto layout */
/* Inside auto layout */
flex: none;
order: 0;
flex-grow: 0;
}
flex: none;
order: 0;
flex-grow: 0;
}
.title2_model_2 {
}
.title2_model_2 {}
.bloc_img_milieu_gauche {
display: none;
}
.bloc_img_milieu_gauche {
display: none;
}
.Partner_Catalog_Background_Header_model_2 {
// position: absolute;
width: 100%;
height: 380px;
left: 0px;
top: 0px;
}
.Partner_Catalog_Background_Header_model_2 {
// position: absolute;
width: 100%;
height: 380px;
left: 0px;
top: 0px;
}
.bloc_logo_indic_model_2 {
min-height: 5rem;
width: 90%;
margin-left: 5%;
float: left;
position: absolute;
top: 1rem;
.bloc_logo_indic_model_2 {
min-height: 5rem;
width: 90%;
margin-left: 5%;
float: left;
position: absolute;
top: 1rem;
}
.bloc_logo_indic_logo_model_2 {
width: 60%;
float: left;
text-align: left;
}
.bloc_logo_indic_contact_model_2 {
width: 18%;
float: right;
text-align: right;
}
.bloc_logo_indic_indic_model_2 {
width: 18%;
float: left;
}
.bloc_logo_indic_contact_text_model_2 {
text-align: left;
font-weight: 700;
}
.bloc_logo_indic_indic_text_model_2 {
text-align: left;
font-weight: 700;
}
.bloc_milieu_text_model_2_gauche {
width: 19%;
float: left;
}
.bloc_milieu_text_model_2_centre {
width: 60%;
float: left;
}
.bloc_milieu_text_model_2_droite {
width: 20%;
float: right;
}
.title1_text1_model_2 {}
.bloc_connexion_model_2 {
width: 100%;
float: left;
min-height: 60vh;
margin-top: 3rem;
}
}
.bloc_logo_indic_logo_model_2 {
width: 60%;
float: left;
text-align: left;
}
.bloc_logo_indic_contact_model_2 {
width: 18%;
float: right;
text-align: right;
}
.bloc_logo_indic_indic_model_2 {
width: 18%;
float: left;
}
.bloc_logo_indic_contact_text_model_2 {
text-align: left;
font-weight: 700;
}
.bloc_logo_indic_indic_text_model_2 {
text-align: left;
font-weight: 700;
}
.bloc_milieu_text_model_2_gauche{
width: 19%;
float: left;
}
.bloc_milieu_text_model_2_centre{
width: 60%;
float: left;
}
.bloc_milieu_text_model_2_droite{
width: 20%;
float: right;
}
.title1_text1_model_2 {
}
.bloc_connexion_model_2 {
width: 100%;
float: left;
min-height: 60vh;
margin-top: 3rem;
}
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
/*style grande tablettes & Pc portable */
@ -8993,9 +8990,9 @@
font-weight: 700;
}
/*** Pour le modele 2 - MySy_Theme2 **/
/*** Pour le modele 2 - MySy_Theme2 **/
.bloc_milieu_model_2 {
.bloc_milieu_model_2 {
min-height: 5rem;
width: 90%;
margin-left: 5%;
@ -9114,26 +9111,24 @@
font-weight: 700;
}
.bloc_milieu_text_model_2_gauche{
.bloc_milieu_text_model_2_gauche {
width: 19%;
float: left;
}
.bloc_milieu_text_model_2_centre{
.bloc_milieu_text_model_2_centre {
width: 60%;
float: left;
}
.bloc_milieu_text_model_2_droite{
.bloc_milieu_text_model_2_droite {
width: 20%;
float: right;
}
.title1_text1_model_2 {
}
.title1_text1_model_2 {}
.bloc_connexion_model_2 {
width: 100%;
@ -9480,7 +9475,7 @@
background: transparent;
color: #3b3e40;
font-family: "DM Sans", "sans-serif";
border: 1px solid #C7C9CE;
border: 1px solid #C7C9CE;
border-radius: 0.3rem !important;
width: 65%;
margin-top: 0.3rem;
@ -12270,9 +12265,9 @@
font-weight: 700;
}
/*** Pour le modele 2 - MySy_Theme2 **/
/*** Pour le modele 2 - MySy_Theme2 **/
.bloc_milieu_model_2 {
.bloc_milieu_model_2 {
min-height: 5rem;
width: 90%;
margin-left: 5%;
@ -12391,24 +12386,24 @@
font-weight: 700;
}
.bloc_milieu_text_model_2_gauche{
.bloc_milieu_text_model_2_gauche {
width: 19%;
float: left;
}
.bloc_milieu_text_model_2_centre{
.bloc_milieu_text_model_2_centre {
width: 60%;
float: left;
}
.bloc_milieu_text_model_2_droite{
.bloc_milieu_text_model_2_droite {
width: 20%;
float: right;
}
.title1_text1_model_2 {
.title1_text1_model_2 {
width: 100%;
text-align: left;
height: 192px;
@ -13355,6 +13350,10 @@
}
.Partner_Catalog_Background_Header {
// position: absolute;
width: 100%;
@ -13362,11 +13361,11 @@
left: 0px;
top: 0px;
}
.Logo_MySy {
width: 108px;
height: 36px;
@ -15721,25 +15720,25 @@
font-weight: 700;
}
.bloc_milieu_text_model_2_gauche{
.bloc_milieu_text_model_2_gauche {
width: 19%;
float: left;
}
.bloc_milieu_text_model_2_centre{
.bloc_milieu_text_model_2_centre {
width: 60%;
float: left;
}
.bloc_milieu_text_model_2_droite{
.bloc_milieu_text_model_2_droite {
width: 20%;
float: right;
}
.title1_text1_model_2 {
.title1_text1_model_2 {
width: 100%;
text-align: left;
height: 192px;
@ -15773,12 +15772,18 @@
}
}
// end media
.Partner_Catalog_Background_Header_jmj {
width: 100%;
height: 452px;
left: 0px;
top: 0px;
z-index: -1;
position: absolute;
}
.message_hili {
color: #619e31;