18/02/2025 - 21h

recette2
cherif 2025-02-18 21:51:43 +01:00
parent fb26d5a22f
commit 844ca354db
11 changed files with 1050 additions and 367 deletions

View File

@ -2727,7 +2727,7 @@ const Config_Documents_Super_Admin = (props) => {
{String(partner_document_data_edit_mode) !== "1" && String(p_detail_type_doc) === "email" && <div className="div_row_gauche texte_area_filter" >
Joindre en PDF <br />
<Checkbox
name="document_join_pdf"
className="disabled_style"

View File

@ -517,6 +517,11 @@ const DisplayPartnerUnite_Enseignement = (props) => {
setGetall_Parter_Unite_Enseignement_api("true");
setGetall_Parter_Unite_Enseignement_result(res.data.message);
setRows(res.data.message);
window.scrollTo({
top: 0,
behavior: "smooth",
});
}
else {
setGetall_Parter_Unite_Enseignement_api("false");
@ -1059,8 +1064,6 @@ const DisplayPartnerUnite_Enseignement = (props) => {
myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Unite_Enseignement/";
}
axios.post(myurl, form).then(res => {
setLoading(false);
// console.log(" In Add_Update_UE_Data res.data.status = " + res.data.status);
@ -1078,6 +1081,10 @@ const DisplayPartnerUnite_Enseignement = (props) => {
setalert_message(res.data.message);
setalert_type("success");
window.scrollTo({
top: 0,
behavior: "smooth",
});
if (document.getElementById('myRef_head')) {
var divh = document.getElementById('myRef_head').offsetTop;

View File

@ -279,7 +279,7 @@ function HebergementLms(props) {
img_height = this.height;
img_width = this.width;
_URL.revokeObjectURL(objectUrl);
console.log(" img_width = ", img_width, " img_height = ", img_height)
// console.log(" img_width = ", img_width, " img_height = ", img_height)
if (parseFloat(img_width) > 130 && parseFloat(img_width) < 260 &&
parseFloat(img_height) > 60 && parseFloat(img_height) < 150) {
@ -551,8 +551,6 @@ function HebergementLms(props) {
//console.log(" img_height est = ", img_height, " < à 1500 ");
if (String(event.target.files[0].name).length > 50) {
sethandleSubmission_bg_message(" Le nom du fichier est trop long. il doit faire moins de 50 caractère");
sethandleSubmission_bg_api("false");

View File

@ -3023,95 +3023,7 @@ const Mon_Catalogue_Public = (props) => {
<div className="Header_Content">
<div className="content_search_bar">
<div className="search_bar_h">
<div className="search_bar">
<div className="input_search_bar">
<div className="search_dropdown">
<nav className="domaine_icone"> <AiTwotoneFolder /> </nav>
<select className="form-select form-select-sm fron_search" onChange={"ChangeDevise"} aria-label=".form-select-sm example"
id={"searchdomain"} name={"searchdomain"} >
<option selected value="n/a">Tous les domaines </option>
{domaine_metier && domaine_metier.map((domaine) => (
<option value={domaine}>{domaine}
</option>
))}
</select>
</div>
<div className="search_bar_rectangle">
</div>
<div className="search_text">
<form onSubmit={handleSubmit(onSubmit)} className="div_005">
<div class="form" style={{ "textAlign": "left" }}>
<i class="fa fa-search"></i>
<nav className="domaine_icone_fa" onClick={searchFunction}> <FaSearch /> </nav>
<input
type="text"
class="form-control form-input"
placeholder={textplaceholder}
onChange={SearchTextHandle}
id={"SearchText"}
name={"SearchText"}
value={texte}
onBlur={OnblurHandle}
style={{ "color": "black" }}
/>
{/*SearchText.length > 2 && <span_clear> <BsFillXCircleFill onClick={clearsearchtext} /> </span_clear>*/}
{SearchText.length > 2 && <span class="left-pan" > &nbsp;<BsFillXCircleFill onClick={clearsearchtext} /></span>}
</div>
</form>
<div className="cta_recherche" onClick={searchFunction}>
<nav className="cta_recherche_txt"> Rechercher </nav>
</div>
</div>
</div>
</div>
<div className="search_bar_2">
<div className="search_dropdown"> &nbsp;</div>
<div className="block_suggestion">
{suggestion2 && suggestion2.slice(0, 2).map((suggestion, id) =>
<div key={id} style={{
"cursor": "pointer", "color": "black",
"fontSize": "small", "paddingLeft": "1rem", "fontStyle": "italic", "letterSpacing": "2px"
}}
onClick={() => OnSuggestionHandler(JSON.parse(suggestion).name)}> {JSON.parse(suggestion).name} </div>
)}
</div>
</div>
</div>
</div>
</div>
<div className="block_nos_formation">
@ -3822,106 +3734,6 @@ const Mon_Catalogue_Public = (props) => {
<div className="Header_Content">
<div className="rectangle_8"> </div>
<div className="content_search_bar">
<div className="search_bar_h">
<div className="search_bar">
<div className="input_search_bar">
<div className="search_dropdown">
<nav className="domaine_icone"> <AiTwotoneFolder /> </nav>
<select className="form-select form-select-sm fron_search" onChange={"ChangeDevise"} aria-label=".form-select-sm example"
id={"searchdomain"} name={"searchdomain"} >
<option selected value="n/a">Tous les domaines </option>
{domaine_metier && domaine_metier.map((domaine) => (
<option value={domaine}>{domaine}
</option>
))}
</select>
</div>
<div className="search_bar_rectangle">
</div>
<div className="search_text">
<form onSubmit={handleSubmit(onSubmit)} className="div_005">
<div class="form" style={{ "textAlign": "left" }}>
<i class="fa fa-search"></i>
<nav className="domaine_icone_fa" onClick={searchFunction}> <FaSearch /> </nav>
<input
type="text"
class="form-control form-input"
placeholder={textplaceholder}
onChange={SearchTextHandle}
id={"SearchText"}
name={"SearchText"}
value={texte}
onBlur={OnblurHandle}
style={{ "color": "black" }}
/>
{/*SearchText.length > 2 && <span_clear> <BsFillXCircleFill onClick={clearsearchtext} /> </span_clear>*/}
{SearchText.length > 2 && <span class="left-pan" > &nbsp;<BsFillXCircleFill onClick={clearsearchtext} /></span>}
</div>
</form>
<div className="cta_recherche" onClick={searchFunction}>
<nav className="cta_recherche_txt"> Rechercher </nav>
</div>
</div>
</div>
</div>
<div className="search_bar_2">
<div className="search_dropdown"> &nbsp;</div>
<div className="block_suggestion">
{suggestion2 && suggestion2.slice(0, 2).map((suggestion, id) =>
<div key={id} style={{
"cursor": "pointer", "color": "black",
"fontSize": "small", "paddingLeft": "1rem", "fontStyle": "italic", "letterSpacing": "2px"
}}
onClick={() => OnSuggestionHandler(JSON.parse(suggestion).name)}> {JSON.parse(suggestion).name} </div>
)}
</div>
</div>
{/*<div className="frame_153">
<nav className="frame_153_txt">
Recherches populaires : Informatique, Graphisme, Management, Dev. Personnel ...
</nav>
</div> */}
</div>
</div>
</div>
@ -4759,6 +4571,7 @@ const Mon_Catalogue_Public = (props) => {
<Fotter_Catalog_Pub partner_data={New_Get_Subdomain_Partner_Data_result[0]} />
</div>
</div>}
{/******* FIN Gestion du THEME PAR DEFAULT " */}

File diff suppressed because it is too large Load Diff

View File

@ -845,7 +845,7 @@ function UpdateParnterInfo(props) {
document.getElementsByName("iscertifvoltaire")[0].style.backgroundColor = "#ECEFF1";
}
// alert(" La mise à jour a été faite ");
// alert(" La mise à jour a été faite ");
setdisplay_alert_mysy("1");
setalert_message(" La mise à jour a été faite ");
setalert_type("success");
@ -854,11 +854,11 @@ function UpdateParnterInfo(props) {
alert('Erreur: ' + result['message']);
history.push("/Connexion");
} else {
// alert(" Erreur : " + result['message']);
// alert(" Erreur : " + result['message']);
setdisplay_alert_mysy("1");
setalert_message(result['message']);
setalert_type("error");
}
})
@ -2233,17 +2233,8 @@ function UpdateParnterInfo(props) {
//console.log(" img_width = ", img_width);
_URL.revokeObjectURL(objectUrl);
if (parseFloat(img_width) > 1500 && parseFloat(img_width) < 1930 &&
parseFloat(img_height) > 150 && parseFloat(img_height) < 195) {
//console.log(" img_height est = ", img_height, " < à 1500 ");
parseFloat(img_height) > 150 && parseFloat(img_height) < 250) {
// Verification que le nom du fichier est alpha numerique
/*var regExp = /^[A-Za-z0-9]+$/;
if (!regExp.test(event.target.files[0].name)) {
sethandleSubmission_bg_message(" Le nom de l'image comporte des caractères non alphanumériques");
sethandleSubmission_bg_api("false");
setLoading(false);
return
}*/
if (String(event.target.files[0].name).length > 50) {

View File

@ -2,26 +2,24 @@ import React, { useRef, useState, useEffect } from "react";
import "./new_s_detail_formation_2025.css";
import { useParams } from 'react-router-dom'
import axios from "axios";
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { Helmet } from "react-helmet";
import 'react-slideshow-image/dist/styles.css'
import { Fade } from 'react-slideshow-image';
import slideimg1 from "../../mysy_img/education.jpg";
import slideimg4 from "../../mysy_img/mysy_img.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";
@ -40,18 +38,14 @@ import Social_Fa_icon from '../../img_new_design_2025/social_i_Fa.png';
import { Button, } from "reactstrap";
import { useHistory } from "react-router-dom";
import { useCookies } from "react-cookie";
import { FacebookShareButton, LinkedinShareButton, TwitterShareButton } from "react-share";
import { SocialIcon } from 'react-social-icons';
import { confirmAlert } from 'react-confirm-alert';
//import { Rating } from 'react-simple-star-rating';
import Rating from '@mui/material/Rating';
import parse from 'html-react-parser';
import Inscription from "./../Inscription_Information";
import SendIcon from '@mui/icons-material/Send';
import mysy_logo2 from "../../mysy_img2/Logo_MySy.png"
import { FaSearch, FaRegArrowAltCircleDown, FaRegArrowAltCircleUp } from 'react-icons/fa';
import { areOptionsEqual } from "@mui/base";
import { borderRadius, style } from "@mui/system";
import Accordion from '@mui/material/Accordion';
import AccordionDetails from '@mui/material/AccordionDetails';
@ -65,10 +59,6 @@ import DialogContent from '@mui/material/DialogContent';
import DialogContentText from '@mui/material/DialogContentText';
import DialogTitle from '@mui/material/DialogTitle';
import Box from '@mui/material/Box';
import TextField from '@mui/material/TextField';
import DescriptionIcon from '@mui/icons-material/Description';
const New_C_Detail_Formation_2025 = (props) => {
const { classId, action } = useParams();
@ -87,7 +77,6 @@ const New_C_Detail_Formation_2025 = (props) => {
const [userIp, setuserIp] = useState("");
const [mynote, setmynote] = useState(0);
const [userconnected, setuserconnected] = useState("0");
const [someoneconnected, setsomeoneconnected] = useState("0");
const [partnerconnected, setpartnerconnected] = useState("0");
const [cookie, setCookie, removeCookie] = useCookies(['tokenmysych']);
const [cookie_part, setCookie_part, removeCookie_part] = useCookies(['tokenmysypart']);
@ -1834,8 +1823,8 @@ const New_C_Detail_Formation_2025 = (props) => {
id={val._id}
>
<Typography sx={{ color: 'text.secondary' }}>
{val.titre}
<Typography sx={{ color: 'text.secondary', }}>
{val.titre}
</Typography>
</AccordionSummary>
<AccordionDetails>
@ -2227,7 +2216,7 @@ const New_C_Detail_Formation_2025 = (props) => {
<br />
{DetailTraining["tab_ue_detail_data"] && DetailTraining["tab_ue_detail_data"].length > 0 && < div className="block_info_page_pave_title_desc_long_text" >
<div className="block_info_page_pave_title_desc_title">
Modules
Modules
</div>
@ -2244,7 +2233,7 @@ const New_C_Detail_Formation_2025 = (props) => {
id={val._id}
>
<Typography sx={{ color: 'text.secondary' }}>
<Typography sx={{ color: 'text.secondary', fontWeight:'500' }}>
{val.titre}
</Typography>
</AccordionSummary>

View File

@ -3111,7 +3111,7 @@
align-items: center;
padding: 12px 16px;
height: 44px;
/* Foundation /Blue-Grey/Light :active */
@ -3141,7 +3141,7 @@
}
.sticky_cats_buton_info_txt {
height: 30px;
font-family: 'Albert Sans';
@ -3697,7 +3697,7 @@
.sticky_img_hilight1 {
/* Auto layout */
width: 100%;
padding-top: 5px;
padding-bottom: 5px;
}
@ -5221,7 +5221,7 @@
align-items: center;
padding: 12px 16px;
height: 44px;
/* Foundation /Blue/Normal */
@ -5294,7 +5294,7 @@
align-items: center;
padding: 12px 16px;
height: 44px;
/* Foundation /Blue-Grey/Light :active */
@ -5324,7 +5324,7 @@
}
.sticky_cats_buton_info_txt {
height: 30px;
font-family: 'Albert Sans';
@ -5882,7 +5882,7 @@
.sticky_img_hilight1 {
/* Auto layout */
width: 100%;
padding-top: 5px;
padding-bottom: 5px;
}
@ -6897,24 +6897,7 @@
.block_info_page_pave_title_desc_title {
/*
width: 100%;
height: 40px;
font-family: Roboto, Verdana, Georgia, Arial, 'Times New Roman';
font-style: normal;
font-weight: 500;
font-size: 20px;
line-height: 40px;
font-feature-settings: 'liga' off;
color: white;
flex: none;
order: 0;
align-self: stretch;
flex-grow: 0;
background-color: #20BFA9;
text-align: center;
*/
height: 24px;
@ -6967,54 +6950,34 @@
}
.programme_block {
/* max-height: 18rem;
min-height: 10rem;
overflow: auto;
padding: 10px;
font-family: Roboto, Verdana, Georgia, Arial, 'Times New Roman';
line-height: 30px;
font-size: 14px;*/
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-size: 16px;
line-height: 180%;
/* or 26px */
font-feature-settings: 'liga' off;
font-style: normal;
font-weight: 400;
font-size: 16px;
line-height: 160%;
/* or 26px */
font-feature-settings: 'liga' off;
/* Foundation /Blue-Grey/Normal */
color: #4B5162;
/* Foundation /Blue-Grey/Normal */
color: #4B5162;
/* Inside auto layout */
flex: none;
order: 1;
align-self: stretch;
flex-grow: 0;
padding: 0px;
/* Inside auto layout */
flex: none;
order: 1;
align-self: stretch;
flex-grow: 0;
}
.description_block {
/* max-height: 13rem;
min-height: 8rem;
overflow: auto;
padding: 10px;
font-family: Roboto, Verdana, Georgia, Arial, 'Times New Roman';
line-height: 30px;
font-size: 14px;*/
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-size: 16px;
line-height: 180%;
line-height: 160%;
/* or 26px */
font-feature-settings: 'liga' off;
@ -7027,38 +6990,29 @@
order: 1;
align-self: stretch;
flex-grow: 0;
padding: 0px;
}
.objectif_block {
/* max-height: 11rem;
min-height: 5rem;
overflow: auto;
padding: 10px;
font-family: Roboto, Verdana, Georgia, Arial, 'Times New Roman';
line-height: 30px;
font-size: 14px;*/
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-size: 16px;
line-height: 180%;
/* or 26px */
font-feature-settings: 'liga' off;
font-style: normal;
font-weight: 400;
font-size: 16px;
line-height: 160%;
/* or 26px */
font-feature-settings: 'liga' off;
/* Foundation /Blue-Grey/Normal */
color: #4B5162;
/* Foundation /Blue-Grey/Normal */
color: #4B5162;
/* Inside auto layout */
flex: none;
order: 1;
align-self: stretch;
flex-grow: 0;
padding: 0px;
/* Inside auto layout */
flex: none;
order: 1;
align-self: stretch;
flex-grow: 0;
}
.session_block {
@ -7510,7 +7464,7 @@
}
.sticky_cats_buton_info_txt {
height: 30px;
font-family: 'Albert Sans';

View File

@ -20,7 +20,7 @@ const TestimonialSection = ({ testimonials = [
},
{
id: 3,
text: '"ELYOS a transformé notre façon de travailler ! La connexion du CRM avec la gestion administrative permet quaprès signature électronique de nos conventions et devis que les sessions de formation se créent automatiquement, éliminant ainsi les tâches manuelles fastidieuses..."',
text: '"ELYOS a transformé notre façon de travailler ! La connexion du CRM avec la gestion administrative permet quaprès signature électronique de nos conventions et devis que les sessions de formation se créent automatiquement,..."',
author: 'Valerie C.',
role: 'Gestionnaire de Formation',
avatar: '/img/valerie_c.png',

View File

@ -1,7 +1,7 @@
import React, { useState, useEffect } 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";
import New_C_Tatif_Section from "../components/tarif_section_automatic_files/PricingSection";
import New_C_Detail_Formation_Automatic_Files from "../components/detail_formation_automatic_files/new_detail_formation_2025"
import New_Navigation_2025 from "../components/New_Navigation_2025";

View File

@ -960,6 +960,7 @@
order: 1;
flex-grow: 0;
z-index: 1;*/
display: none;
}
.search_bar_h {
@ -3729,6 +3730,8 @@
order: 1;
flex-grow: 0;
z-index: 1;
display: none;
}
.title_desc_header {
@ -7011,6 +7014,8 @@
order: 1;
flex-grow: 0;
z-index: 1;
display: none;
}
.title_desc_header {
@ -10294,6 +10299,8 @@
order: 1;
flex-grow: 0;
z-index: 1;
display: none;
}
.title_desc_header {
@ -13612,6 +13619,8 @@
order: 1;
flex-grow: 0;
z-index: 1;
display: none;
}
.title_desc_header {