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

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

View File

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

View File

@ -3023,95 +3023,7 @@ const Mon_Catalogue_Public = (props) => {
<div className="Header_Content"> <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>
<div className="block_nos_formation"> <div className="block_nos_formation">
@ -3822,106 +3734,6 @@ const Mon_Catalogue_Public = (props) => {
<div className="Header_Content"> <div className="Header_Content">
<div className="rectangle_8"> </div> <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> </div>
@ -4759,6 +4571,7 @@ const Mon_Catalogue_Public = (props) => {
<Fotter_Catalog_Pub partner_data={New_Get_Subdomain_Partner_Data_result[0]} /> <Fotter_Catalog_Pub partner_data={New_Get_Subdomain_Partner_Data_result[0]} />
</div> </div>
</div>} </div>}
{/******* FIN Gestion du THEME PAR DEFAULT " */} {/******* FIN Gestion du THEME PAR DEFAULT " */}

File diff suppressed because it is too large Load Diff

View File

@ -2233,17 +2233,8 @@ function UpdateParnterInfo(props) {
//console.log(" img_width = ", img_width); //console.log(" img_width = ", img_width);
_URL.revokeObjectURL(objectUrl); _URL.revokeObjectURL(objectUrl);
if (parseFloat(img_width) > 1500 && parseFloat(img_width) < 1930 && if (parseFloat(img_width) > 1500 && parseFloat(img_width) < 1930 &&
parseFloat(img_height) > 150 && parseFloat(img_height) < 195) { parseFloat(img_height) > 150 && parseFloat(img_height) < 250) {
//console.log(" img_height est = ", img_height, " < à 1500 ");
// 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) { 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 "./new_s_detail_formation_2025.css";
import { useParams } from 'react-router-dom' import { useParams } from 'react-router-dom'
import axios from "axios"; import axios from "axios";
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css'; import 'reactjs-popup/dist/index.css';
import { Helmet } from "react-helmet"; import { Helmet } from "react-helmet";
import 'react-slideshow-image/dist/styles.css' import 'react-slideshow-image/dist/styles.css'
import { Fade } from 'react-slideshow-image';
import slideimg1 from "../../mysy_img/education.jpg"; import slideimg1 from "../../mysy_img/education.jpg";
import slideimg4 from "../../mysy_img/mysy_img.png"; import slideimg4 from "../../mysy_img/mysy_img.png";
import img_met_program from "../../mysy_img/met_programmation.jpg"; 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_graphisme from "../../mysy_img/metier_graphisme.jpg";
import img_met_autre from "../../mysy_img/met_autre.jpg"; import img_met_autre from "../../mysy_img/met_autre.jpg";
import img_met_digital from "../../mysy_img/met_digital.jpg"; import img_met_digital from "../../mysy_img/met_digital.jpg";
import img_met_management from "../../mysy_img/met_management.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_dev_perso from "../../mysy_img/metier_dev_perso.jpg";
import img_met_rh from "../../mysy_img/met_rh.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 { Button, } from "reactstrap";
import { useHistory } from "react-router-dom"; import { useHistory } from "react-router-dom";
import { useCookies } from "react-cookie"; 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 { confirmAlert } from 'react-confirm-alert';
//import { Rating } from 'react-simple-star-rating'; //import { Rating } from 'react-simple-star-rating';
import Rating from '@mui/material/Rating'; import Rating from '@mui/material/Rating';
import parse from 'html-react-parser'; import parse from 'html-react-parser';
import Inscription from "./../Inscription_Information"; import Inscription from "./../Inscription_Information";
import SendIcon from '@mui/icons-material/Send'; 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 Accordion from '@mui/material/Accordion';
import AccordionDetails from '@mui/material/AccordionDetails'; import AccordionDetails from '@mui/material/AccordionDetails';
@ -65,10 +59,6 @@ import DialogContent from '@mui/material/DialogContent';
import DialogContentText from '@mui/material/DialogContentText'; import DialogContentText from '@mui/material/DialogContentText';
import DialogTitle from '@mui/material/DialogTitle'; 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 New_C_Detail_Formation_2025 = (props) => {
const { classId, action } = useParams(); const { classId, action } = useParams();
@ -87,7 +77,6 @@ const New_C_Detail_Formation_2025 = (props) => {
const [userIp, setuserIp] = useState(""); const [userIp, setuserIp] = useState("");
const [mynote, setmynote] = useState(0); const [mynote, setmynote] = useState(0);
const [userconnected, setuserconnected] = useState("0"); const [userconnected, setuserconnected] = useState("0");
const [someoneconnected, setsomeoneconnected] = useState("0");
const [partnerconnected, setpartnerconnected] = useState("0"); const [partnerconnected, setpartnerconnected] = useState("0");
const [cookie, setCookie, removeCookie] = useCookies(['tokenmysych']); const [cookie, setCookie, removeCookie] = useCookies(['tokenmysych']);
const [cookie_part, setCookie_part, removeCookie_part] = useCookies(['tokenmysypart']); const [cookie_part, setCookie_part, removeCookie_part] = useCookies(['tokenmysypart']);
@ -1834,7 +1823,7 @@ const New_C_Detail_Formation_2025 = (props) => {
id={val._id} id={val._id}
> >
<Typography sx={{ color: 'text.secondary' }}> <Typography sx={{ color: 'text.secondary', }}>
{val.titre} {val.titre}
</Typography> </Typography>
</AccordionSummary> </AccordionSummary>
@ -2244,7 +2233,7 @@ const New_C_Detail_Formation_2025 = (props) => {
id={val._id} id={val._id}
> >
<Typography sx={{ color: 'text.secondary' }}> <Typography sx={{ color: 'text.secondary', fontWeight:'500' }}>
{val.titre} {val.titre}
</Typography> </Typography>
</AccordionSummary> </AccordionSummary>

View File

@ -6897,24 +6897,7 @@
.block_info_page_pave_title_desc_title { .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; height: 24px;
@ -6967,21 +6950,11 @@
} }
.programme_block { .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-family: 'Inter';
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
line-height: 180%; line-height: 160%;
/* or 26px */ /* or 26px */
font-feature-settings: 'liga' off; font-feature-settings: 'liga' off;
@ -6994,27 +6967,17 @@
order: 1; order: 1;
align-self: stretch; align-self: stretch;
flex-grow: 0; flex-grow: 0;
padding: 0px;
} }
.description_block { .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-family: 'Inter';
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
line-height: 180%; line-height: 160%;
/* or 26px */ /* or 26px */
font-feature-settings: 'liga' off; font-feature-settings: 'liga' off;
@ -7027,25 +6990,16 @@
order: 1; order: 1;
align-self: stretch; align-self: stretch;
flex-grow: 0; flex-grow: 0;
padding: 0px;
} }
.objectif_block { .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-family: 'Inter';
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
line-height: 180%; line-height: 160%;
/* or 26px */ /* or 26px */
font-feature-settings: 'liga' off; font-feature-settings: 'liga' off;
@ -7058,7 +7012,7 @@
order: 1; order: 1;
align-self: stretch; align-self: stretch;
flex-grow: 0; flex-grow: 0;
padding: 0px;
} }
.session_block { .session_block {

View File

@ -20,7 +20,7 @@ const TestimonialSection = ({ testimonials = [
}, },
{ {
id: 3, 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.', author: 'Valerie C.',
role: 'Gestionnaire de Formation', role: 'Gestionnaire de Formation',
avatar: '/img/valerie_c.png', avatar: '/img/valerie_c.png',

View File

@ -1,7 +1,7 @@
import React, { useState, useEffect } from "react"; import React, { useState, useEffect } from "react";
import New_C_Footer_2025_V2 from "../components/footer_automatic_files/Layout"; 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_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_C_Detail_Formation_Automatic_Files from "../components/detail_formation_automatic_files/new_detail_formation_2025"
import New_Navigation_2025 from "../components/New_Navigation_2025"; import New_Navigation_2025 from "../components/New_Navigation_2025";

View File

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