22/11/2024 - 18h
parent
6f11ed62c2
commit
bfef1382ca
|
@ -1,4 +1,5 @@
|
||||||
# https://www.robotstxt.org/robotstxt.html
|
# https://www.robotstxt.org/robotstxt.html
|
||||||
User-agent: *
|
User-agent: *
|
||||||
Disallow: /google06c10352a49f1dc0
|
Disallow: /google06c10352a49f1dc0
|
||||||
|
Disallow: /sample
|
||||||
Sitemap: https://www.mysy-training.com/sitemap.xml
|
Sitemap: https://www.mysy-training.com/sitemap.xml
|
|
@ -67,6 +67,13 @@
|
||||||
<priority>1.0000</priority>
|
<priority>1.0000</priority>
|
||||||
</url>
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://www.mysy-training.com/Display-Detail-Article/optimisation-des-processus-de-formation-avec-le-logiciel-de-gestion-pour-organismes-de-formation-mysy-training-technology-et-la-certification-qualiopi</loc>
|
||||||
|
<lastmod>2024-11-21T11:35:41+00:00</lastmod>
|
||||||
|
<changefreq>daily</changefreq>
|
||||||
|
<priority>1.0000</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
<url>
|
<url>
|
||||||
<loc>https://www.mysy-training.com/Display-Detail-Article/qualite-la-norme-itl-dans-entreprise-532</loc>
|
<loc>https://www.mysy-training.com/Display-Detail-Article/qualite-la-norme-itl-dans-entreprise-532</loc>
|
||||||
<lastmod>2024-10-30T11:35:41+00:00</lastmod>
|
<lastmod>2024-10-30T11:35:41+00:00</lastmod>
|
||||||
|
@ -116,4 +123,7 @@
|
||||||
</url>
|
</url>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</urlset>
|
</urlset>
|
|
@ -21,9 +21,8 @@ import DisplayDetailClass_new_v3 from "./pages/displaydetailclass_new_v3";
|
||||||
|
|
||||||
import Display_Partner_Catalog_DetailClass_new_v2 from "./pages/display_partner_catalog_detailclass_new_v2"
|
import Display_Partner_Catalog_DetailClass_new_v2 from "./pages/display_partner_catalog_detailclass_new_v2"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import DisplayDetailArticle from "./pages/displaydetailarticle";
|
import DisplayDetailArticle from "./pages/displaydetailarticle";
|
||||||
|
import AddArticleAvis from "./pages/addarticleavis";
|
||||||
import Acceuil from "./pages/acceuil";
|
import Acceuil from "./pages/acceuil";
|
||||||
import Partner from "./pages/partner";
|
import Partner from "./pages/partner";
|
||||||
import CreateAccount from "./pages/createaccount";
|
import CreateAccount from "./pages/createaccount";
|
||||||
|
@ -178,6 +177,8 @@ function App() {
|
||||||
<Route path="/testurl/:course/:tab" exact component={TestUrl} />
|
<Route path="/testurl/:course/:tab" exact component={TestUrl} />
|
||||||
<Route path="/testurl_new/:courseid/:tabid" exact component={TestUrl_New} />
|
<Route path="/testurl_new/:courseid/:tabid" exact component={TestUrl_New} />
|
||||||
|
|
||||||
|
<Route path="/ajout-article" exact component={AddArticleAvis} />
|
||||||
|
|
||||||
<Route path="/Display-Detail-formation_v3/:classId" exact component={DisplayDetailClass_new_v3} />
|
<Route path="/Display-Detail-formation_v3/:classId" exact component={DisplayDetailClass_new_v3} />
|
||||||
<Route path="/Display-Detail-formation/:classId" exact component={DisplayDetailClass_new_v3} />
|
<Route path="/Display-Detail-formation/:classId" exact component={DisplayDetailClass_new_v3} />
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,339 @@
|
||||||
|
import React, { useRef, useState, useEffect } from "react";
|
||||||
|
import { useForm } from 'react-hook-form';
|
||||||
|
import Navigation from "../components/Navigation";
|
||||||
|
import { Helmet } from "react-helmet";
|
||||||
|
import bannerimg2 from "../mysy_img/MYSY-LOGO-BLUE.png";
|
||||||
|
import 'react-toastify/dist/ReactToastify.min.css';
|
||||||
|
import axios from "axios";
|
||||||
|
import { Button, } from "reactstrap";
|
||||||
|
import { FacebookShareButton, LinkedinShareButton, TwitterShareButton } from "react-share";
|
||||||
|
import { SocialIcon } from 'react-social-icons';
|
||||||
|
import ousommesnousimg from "../mysy_img/mysy_training_technology_ici.png"
|
||||||
|
import logowhite from "../mysy_img/MYSY-LOGO-WHITE.png";
|
||||||
|
import Footer from "./Fotter";
|
||||||
|
import Header from "./Header";
|
||||||
|
import SendIcon from '@mui/icons-material/Send';
|
||||||
|
import { getCookie } from 'react-use-cookie';
|
||||||
|
import { useHistory } from "react-router-dom";
|
||||||
|
|
||||||
|
const AddArticleAvis = () => {
|
||||||
|
|
||||||
|
const [country_code, setcountry_code] = useState("");
|
||||||
|
const [country_name, setcountry_name] = useState("");
|
||||||
|
const [city, setcity] = useState("");
|
||||||
|
const [postal, setpostal] = useState("");
|
||||||
|
const [latitude, setlatitude] = useState("");
|
||||||
|
const [longitude, setlongitude] = useState("");
|
||||||
|
const [IPv4, setIPv4] = useState("");
|
||||||
|
const [state, setstate] = useState("");
|
||||||
|
const [userIp, setuserIp] = useState("");
|
||||||
|
const [mynote, setmynote] = useState(0);
|
||||||
|
const [usermessage, setusermessage] = useState("");
|
||||||
|
const [object, setobject] = useState("");
|
||||||
|
const [result, setResult] = useState("");
|
||||||
|
const [myApiResponse, setmyApiResponse] = useState("");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const {
|
||||||
|
register,
|
||||||
|
handleSubmit,
|
||||||
|
reset,
|
||||||
|
formState: { errors }
|
||||||
|
} = useForm();
|
||||||
|
|
||||||
|
const onSubmit = async (data) => {
|
||||||
|
const { name, email, subject, message } = data;
|
||||||
|
|
||||||
|
SendMail();
|
||||||
|
};
|
||||||
|
|
||||||
|
function SendMail(e) {
|
||||||
|
|
||||||
|
var sender_mail = "";
|
||||||
|
var sender_tel = "";
|
||||||
|
var token = "";
|
||||||
|
|
||||||
|
|
||||||
|
////console.log("contacter " + sender_mail + " - " + sender_tel + " - ")
|
||||||
|
|
||||||
|
var mysubject = document.getElementsByName("subject")[0].value;
|
||||||
|
var mymessage = document.getElementsByName("message")[0].value;
|
||||||
|
var mysender_name = document.getElementsByName("name")[0].value;
|
||||||
|
var mysender_email = document.getElementsByName("email")[0].value;
|
||||||
|
|
||||||
|
|
||||||
|
//alert("contacter "+mysender_email+" - "+mymessage+" - url = "
|
||||||
|
//+process.env.REACT_APP_API_URL+" - user_ip ="+IPv4+" - "+latitude);
|
||||||
|
|
||||||
|
var re = /\S+@\S+\.\S+/;
|
||||||
|
if (re.test(mysender_email) == false) {
|
||||||
|
alert("l'email est incorrecte");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var myurl = process.env.REACT_APP_API_URL + "myclass/api/add_user_message/";
|
||||||
|
var form = new FormData();
|
||||||
|
form.append("type", "email");
|
||||||
|
form.append("recever_mail", "contact@mysy-training.com");
|
||||||
|
form.append("recever_tel", "+33769203945");
|
||||||
|
form.append("sender_mail", mysender_email);
|
||||||
|
form.append("sender_tel", sender_tel);
|
||||||
|
form.append("object", mysubject);
|
||||||
|
form.append("message", mymessage);
|
||||||
|
form.append("sender_name", mysender_name);
|
||||||
|
form.append("token", "");
|
||||||
|
form.append("user_ip", IPv4);
|
||||||
|
form.append("user_country_code", country_code);
|
||||||
|
form.append("user_country_name", country_name);
|
||||||
|
form.append("user_city", city);
|
||||||
|
form.append("user_postal", postal);
|
||||||
|
form.append("user_latitude", latitude);
|
||||||
|
form.append("user_longitude", longitude);
|
||||||
|
form.append("user_state", state);
|
||||||
|
|
||||||
|
axios.post(myurl, form).then(res => {
|
||||||
|
|
||||||
|
if (String(res.data.status) === String("false")) {
|
||||||
|
//console.log(" In test res.data.status = " + res.data.status);
|
||||||
|
//console.log(" In test res.data.message = " + res.data.message);
|
||||||
|
setmyApiResponse("false");
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (String(res.data.status) === String("true")) {
|
||||||
|
//console.log(" In test res.data.status (true) = " + res.data.status);
|
||||||
|
//console.log(" In test res.data.message = " + res.data.message);
|
||||||
|
document.getElementsByName("subject")[0].value = "";
|
||||||
|
document.getElementsByName("message")[0].value = "";
|
||||||
|
document.getElementsByName("name")[0].value = "";
|
||||||
|
document.getElementsByName("email")[0].value = "";
|
||||||
|
setmyApiResponse("true");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//console.log(" contact-nous statut = " + res.data.status);
|
||||||
|
//console.log(" contact-nous res.data.message = " + res.data.message);
|
||||||
|
setmyApiResponse("false");
|
||||||
|
}
|
||||||
|
}).catch((error) => {
|
||||||
|
console.warn('contact-nous Not good man :( mysearchtext = ');
|
||||||
|
setmyApiResponse("false");
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// recuperation et gestion du token utilisateur
|
||||||
|
const history = useHistory();
|
||||||
|
const stored_part = getCookie('tokenmysypart');
|
||||||
|
if (!stored_part || stored_part.length <= 0) {
|
||||||
|
history.push("/PartnerLogin");
|
||||||
|
}
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
window.scrollTo({
|
||||||
|
top: 0,
|
||||||
|
behavior: "smooth",
|
||||||
|
});
|
||||||
|
|
||||||
|
}, [])
|
||||||
|
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className='addarticleavis'>
|
||||||
|
<Helmet>
|
||||||
|
<title>MySy Training, ajout article</title>
|
||||||
|
<meta name="description" content="Éditeur Français de logiciels pour organisme de formation. Avec solutions de E-Learning, gestion administrative et gestion relation client nous accompagnons les organismes de formation à réaliser l’audit QUALIOPI en toute sérénité. Nous sommes les moins cher du marché. Nous vous accompagnons automatiser vos process : inscription, évaluation, émargement (qr-code), Check-list QUALIOPI, Personnalisation et édition documents, Gestion formateurs, Catalogue formations personnalisé. Nous sommes les moins cher du marché. Nous automatisons vos process : inscription, évaluation, émargement (qr-code), QUALIOPI, Personnalisation des documents, Gestion formateurs, Catalogue personnalisé, bilan pédagogique et financier (PBF). Nos options comme la signature électronique sont inclus dans le tarif de base." />
|
||||||
|
<meta name="robots" content="index,follow" />
|
||||||
|
<meta name="title" content="MySy Training, ajout article" />
|
||||||
|
<link rel="canonical" href={window.location.href} />
|
||||||
|
</Helmet>
|
||||||
|
|
||||||
|
<Header />
|
||||||
|
|
||||||
|
<h1 style={{ fontSize: '0px' }}> MySy Training, ajout article</h1>
|
||||||
|
<div className="div_mobile">
|
||||||
|
<div> <br /></div>
|
||||||
|
<div className="titre"> Contactez-Nous </div>
|
||||||
|
<div className='container'>
|
||||||
|
<div className='row'>
|
||||||
|
<div className='col-12 text-center'>
|
||||||
|
<div className='contactForm'>
|
||||||
|
<form id='contact-form' onSubmit={handleSubmit(onSubmit)} noValidate>
|
||||||
|
{/* Row 1 of form */}
|
||||||
|
<div className='row formRow'>
|
||||||
|
<div className='col-6'>
|
||||||
|
<input
|
||||||
|
type='text'
|
||||||
|
name='name'
|
||||||
|
{...register('name', {
|
||||||
|
required: { value: true, message: 'votre nom/prenom' },
|
||||||
|
maxLength: {
|
||||||
|
value: 30,
|
||||||
|
message: 'svp pas plus de 30 caractères'
|
||||||
|
}
|
||||||
|
})}
|
||||||
|
className='form-control formInput'
|
||||||
|
placeholder='Nom'
|
||||||
|
></input>
|
||||||
|
{errors.name && <span className='errorMessage'>{errors.name.message}</span>}
|
||||||
|
</div>
|
||||||
|
<div className='col-6'>
|
||||||
|
<input
|
||||||
|
type='email'
|
||||||
|
name='email'
|
||||||
|
id='email'
|
||||||
|
{...register('email', {
|
||||||
|
required: true,
|
||||||
|
pattern: /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/
|
||||||
|
})}
|
||||||
|
className='form-control formInput'
|
||||||
|
placeholder='Adresse email'
|
||||||
|
></input>
|
||||||
|
{errors.email && (
|
||||||
|
<span className='errorMessage'>Adresse email invalide</span>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{/* Row 2 of form */}
|
||||||
|
<div className='row formRow'>
|
||||||
|
<div className='col'>
|
||||||
|
<input
|
||||||
|
type='text'
|
||||||
|
name='subject'
|
||||||
|
{...register('subject', {
|
||||||
|
required: { value: true, message: 'Saisir un sujet' },
|
||||||
|
maxLength: {
|
||||||
|
value: 75,
|
||||||
|
message: 'maximim 75 charactères'
|
||||||
|
}
|
||||||
|
})}
|
||||||
|
className='form-control formInput'
|
||||||
|
placeholder='Sujet'
|
||||||
|
></input>
|
||||||
|
{errors.subject && (
|
||||||
|
<span className='errorMessage'>{errors.subject.message}</span>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{/* Row 3 of form */}
|
||||||
|
<div className='row formRow'>
|
||||||
|
<div className='col'>
|
||||||
|
<textarea
|
||||||
|
rows={3}
|
||||||
|
name='message'
|
||||||
|
{...register('message', {
|
||||||
|
required: true
|
||||||
|
})}
|
||||||
|
className='form-control formInput'
|
||||||
|
placeholder='Message'
|
||||||
|
></textarea>
|
||||||
|
{errors.message && <span className='errorMessage'>Saisir un message</span>}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<div style={{ "textAlign": "left" }}>
|
||||||
|
|
||||||
|
<label for="newsletter">En cochant vous acceptez que l'équipe MySy vous recontacte par email </label>
|
||||||
|
<input type={"checkbox"} checked
|
||||||
|
id="newsletter"
|
||||||
|
name="newsletter" />
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<Button variant="contained" color="success" type='submit'
|
||||||
|
className="div_row22 btn_login button"
|
||||||
|
>Envoyez le message {<SendIcon />}</Button>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</form>
|
||||||
|
{String(myApiResponse) === String("true") && <div className="okUpdateData">
|
||||||
|
Votre message a bien été envoyé. Merci.
|
||||||
|
</div>}
|
||||||
|
|
||||||
|
{String(myApiResponse) === String("false") && <div className="koUpdateData">
|
||||||
|
Impossible d'envoyer votre message. Merci de ressayer dans un instant.
|
||||||
|
</div>}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div className="div_row" >
|
||||||
|
<div className="nom_prenom">Où nous trouver ? </div>
|
||||||
|
|
||||||
|
<div className="div_carte">
|
||||||
|
<a target="_blank"
|
||||||
|
href="https://www.google.com/maps/place/MySy+Training+Technology/@48.8761591,2.3260624,15z/data=!4m5!3m4!1s0x0:0x8239ba23406c9699!8m2!3d48.8761591!4d2.3260624">
|
||||||
|
<img src={ousommesnousimg} alt="logo MySy Technology ou sommes nous" style={{ 'width': "100%", 'height': '50%' }} />
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="div_adresse" >
|
||||||
|
<br />
|
||||||
|
<div>MySy Training Technology<br />
|
||||||
|
</div>
|
||||||
|
<div style={{ fontSize: "small" }}>
|
||||||
|
|
||||||
|
Adresse : 1 Cr du Havre, 75008 Paris <br />
|
||||||
|
Adresse email :
|
||||||
|
<a href="mailto: contact@mysy-training.com?subject=Mail from mysy website" target="_blank"> contact@mysy-training.com</a> <br />
|
||||||
|
|
||||||
|
Téléphone fixe : +331 77 00 38 57<br />
|
||||||
|
Téléphone : +337 69 20 39 45<br />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div> Sur nos reseaux sociaux
|
||||||
|
|
||||||
|
<div style={{ 'float': "center", "textAlign": "center" }}>
|
||||||
|
<div className="media_sociaux">
|
||||||
|
<FacebookShareButton
|
||||||
|
url={"https://www.facebook.com/MySy-Training-114572794561371/"}
|
||||||
|
>
|
||||||
|
<SocialIcon network="facebook" className="SocialIcon" />
|
||||||
|
</FacebookShareButton>
|
||||||
|
|
||||||
|
|
||||||
|
<TwitterShareButton
|
||||||
|
url={"https://twitter.com/mysy_training"}
|
||||||
|
hashtag={"#MySyTraining"}
|
||||||
|
>
|
||||||
|
<SocialIcon network="twitter" className="SocialIcon" />
|
||||||
|
</TwitterShareButton>
|
||||||
|
|
||||||
|
|
||||||
|
<LinkedinShareButton
|
||||||
|
url={"https://www.linkedin.com/c"}
|
||||||
|
summary={"ee"}
|
||||||
|
source={"https://www.linkedin.com/in/mysy-training-96b53a237/"}
|
||||||
|
|
||||||
|
>
|
||||||
|
<SocialIcon network="linkedin" className="SocialIcon" />
|
||||||
|
</LinkedinShareButton>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="pieddepage">
|
||||||
|
<Footer />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default AddArticleAvis;
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { useState, useEffect } from "react";
|
import React, { useRef, useState, useEffect } from "react";
|
||||||
import { Button, } from "reactstrap";
|
import { Button, } from "reactstrap";
|
||||||
import { FacebookShareButton, LinkedinShareButton, TwitterShareButton } from "react-share";
|
import { FacebookShareButton, LinkedinShareButton, TwitterShareButton } from "react-share";
|
||||||
import { SocialIcon } from 'react-social-icons';
|
import { SocialIcon } from 'react-social-icons';
|
||||||
|
@ -9,8 +9,30 @@ import parse from 'html-react-parser'
|
||||||
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 { Rating } from 'react-simple-star-rating'
|
import { Rating } from 'react-simple-star-rating'
|
||||||
|
import Dialog from '@mui/material/Dialog';
|
||||||
|
import DialogActions from '@mui/material/DialogActions';
|
||||||
|
import DialogContent from '@mui/material/DialogContent';
|
||||||
|
import DialogContentText from '@mui/material/DialogContentText';
|
||||||
|
import DialogTitle from '@mui/material/DialogTitle';
|
||||||
|
|
||||||
|
import moment from "moment";
|
||||||
|
import SendIcon from '@mui/icons-material/Send';
|
||||||
|
import axios from "axios";
|
||||||
|
import { Editor } from '@tinymce/tinymce-react';
|
||||||
|
import DatePicker from "react-datepicker";
|
||||||
|
import "react-datepicker/dist/react-datepicker.css";
|
||||||
|
import { format } from 'date-fns'
|
||||||
|
import { FcInfo } from "react-icons/fc";
|
||||||
|
import 'react-tooltip/dist/react-tooltip.css'
|
||||||
|
import { Tooltip } from 'react-tooltip'
|
||||||
|
import { getCookie } from 'react-use-cookie';
|
||||||
|
import { useHistory } from "react-router-dom";
|
||||||
|
import Checkbox from '@mui/material/Checkbox';
|
||||||
|
|
||||||
const Article = (props) => {
|
const Article = (props) => {
|
||||||
|
const history = useHistory();
|
||||||
|
const [isLoading, setLoading] = useState();
|
||||||
|
|
||||||
const [rating, setRating] = useState(props.article.note * 20)
|
const [rating, setRating] = useState(props.article.note * 20)
|
||||||
//console.log(props.article.note * 10);
|
//console.log(props.article.note * 10);
|
||||||
// Catch Rating value
|
// Catch Rating value
|
||||||
|
@ -20,12 +42,125 @@ const Article = (props) => {
|
||||||
setRating(40);
|
setRating(40);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const [country_code, setcountry_code] = useState("FR");
|
||||||
|
const [country_name, setcountry_name] = useState("France");
|
||||||
|
const [city, setcity] = useState("Paris");
|
||||||
|
const [postal, setpostal] = useState("75001");
|
||||||
|
const [latitude, setlatitude] = useState("48.861000061035156");
|
||||||
|
const [longitude, setlongitude] = useState("2.3380000591278076");
|
||||||
|
const [IPv4, setIPv4] = useState("172.71.122.128");
|
||||||
|
const [state, setstate] = useState("France");
|
||||||
|
const [userIp, setuserIp] = useState("172.71.122.128");
|
||||||
|
|
||||||
const [title_resized, settitle_resized] = useState("")
|
const [title_resized, settitle_resized] = useState("")
|
||||||
|
|
||||||
const [article_img, setarticle_img] = useState("")
|
const [article_img, setarticle_img] = useState("")
|
||||||
|
|
||||||
|
const [edit_article, setedit_article] = useState("")
|
||||||
|
|
||||||
|
const [selected_id, setselected_id] = useState(props.article._id)
|
||||||
|
|
||||||
|
|
||||||
|
const editorRef_texte_avis = useRef(null);
|
||||||
|
const [editorRef_texte_avis_limite, seteditorRef_texte_avis] = useState(1000);
|
||||||
|
const [field_texte_avis, setfield_texte_avis] = useState("");
|
||||||
|
const [field_texte_avis_initial_value, setfield_texte_avis_initial_value] = useState("");
|
||||||
|
|
||||||
|
const [is_data_changed, setis_data_changed] = useState("");
|
||||||
|
|
||||||
|
const [editor_tochanged, seteditor_tochanged] = useState("");
|
||||||
|
|
||||||
|
function editor_keyup() {
|
||||||
|
setis_data_changed("1");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const [Get_Partner_Article_Avis_Data_api, setGet_Partner_Article_Avis_Data_api] = useState();
|
||||||
|
const [Get_Partner_Article_Avis_Data_message, setGet_Partner_Article_Avis_Data_message] = useState();
|
||||||
|
const [Get_Partner_Article_Avis_Data_result, setGet_Partner_Article_Avis_Data_result] = useState();
|
||||||
|
function Get_Partner_Article_Avis_Data() {
|
||||||
|
|
||||||
|
var form = new FormData();
|
||||||
|
form.append("_id", props.article._id);
|
||||||
|
|
||||||
|
//console.log(" ## form = ", form);
|
||||||
|
|
||||||
|
var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_articles_avis_from_id/";
|
||||||
|
setLoading(true);
|
||||||
|
axios.post(myurl, form).then(res => {
|
||||||
|
setLoading(false);
|
||||||
|
if (String(res.data.status) === "true") {
|
||||||
|
//console.log(" In Get_Partner_Article_Avis_Data res.data.status = " + res.data.status);
|
||||||
|
//console.log(" In Get_Partner_Article_Avis_Data res.data.message r_class = " + res.data.message);
|
||||||
|
setGet_Partner_Article_Avis_Data_api("true");
|
||||||
|
setGet_Partner_Article_Avis_Data_result(res.data.message);
|
||||||
|
|
||||||
|
if (res.data.message.length > 0) {
|
||||||
|
var mylocal_document = JSON.parse(res.data.message);
|
||||||
|
|
||||||
|
if (mylocal_document.date_publication) {
|
||||||
|
setarticle_avis_date_publication(moment((String(mylocal_document.date_publication)).substring(0, 10)).format('YYYY-MM-DD'));
|
||||||
|
|
||||||
|
//console.log(" ### mylocal_document.date_publication = ", mylocal_document.date_publication);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mylocal_document.avis) {
|
||||||
|
setarticle_avis_avis(mylocal_document.avis);
|
||||||
|
setfield_texte_avis_initial_value(mylocal_document.avis);
|
||||||
|
setfield_texte_avis(mylocal_document.avis);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setarticle_avis_avis("");
|
||||||
|
setfield_texte_avis_initial_value("");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (mylocal_document.internal_url)
|
||||||
|
setarticle_avis_internal_url(mylocal_document.internal_url);
|
||||||
|
|
||||||
|
setarticle_avis_display_header_img(false);
|
||||||
|
if (mylocal_document.display_header_img && String(mylocal_document.display_header_img) === "1") {
|
||||||
|
setarticle_avis_display_header_img(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (mylocal_document.img_path) {
|
||||||
|
setarticle_avis_img_path(mylocal_document.img_path);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} else {
|
||||||
|
alert(" Aucun article recuperé");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} else if (String(res.data.status) === String("Err_Connexion")) {
|
||||||
|
alert('Erreur: ' + res.data.message);
|
||||||
|
history.push("/Connexion");
|
||||||
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
setGet_Partner_Article_Avis_Data_api("false");
|
||||||
|
setGet_Partner_Article_Avis_Data_message(res.data.message);
|
||||||
|
alert(res.data.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
}).catch((error) => {
|
||||||
|
setLoading(false);
|
||||||
|
console.warn('Not good man :( Get_Partner_Article_Avis_Data = ', error);
|
||||||
|
setGet_Partner_Article_Avis_Data_api("false");
|
||||||
|
alert(" Impossible de recuperer les données de l'article");
|
||||||
|
//setmyApimyApiMessage("")
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var local_title = "";
|
var local_title = "";
|
||||||
if (props.article.title_formation && String(props.article.title_formation).length > 45) {
|
if (props.article.title_formation && String(props.article.title_formation).length > 45) {
|
||||||
local_title = String(props.article.title_formation).substring(0, 43) + " ...";
|
local_title = String(props.article.title_formation).substring(0, 43) + " ...";
|
||||||
|
@ -55,13 +190,322 @@ const Article = (props) => {
|
||||||
|
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
|
||||||
|
const [Dialog_1_avis, setDialog_1_avis] = React.useState(false);
|
||||||
|
const [Dialog_1_open, setDialog_1_open] = React.useState(false);
|
||||||
|
function Dialog_1_handle_change_participant_session(avis) {
|
||||||
|
setDialog_1_avis(avis);
|
||||||
|
setDialog_1_open(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
const Dialog_1_handleClose = () => {
|
||||||
|
//alert(" Utiliser le bouton 'fermer' ");
|
||||||
|
//setOpen(false);
|
||||||
|
};
|
||||||
|
|
||||||
|
const Dialog_1_handleClose_buton = () => {
|
||||||
|
setDialog_1_open(false);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const [Dialog_article_avis_avis, setDialog_article_avis_avis] = React.useState(false);
|
||||||
|
const [Dialog_article_avis_open, setDialog_article_avis_open] = React.useState(false);
|
||||||
|
function Dialog_article_avis_handle_change_participant_session(avis) {
|
||||||
|
setDialog_article_avis_avis(avis);
|
||||||
|
setDialog_article_avis_open(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
const Dialog_article_avis_handleClose = () => {
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
const Dialog_article_avis_handleClose_buton = () => {
|
||||||
|
|
||||||
|
setDialog_article_avis_open(false);
|
||||||
|
clear_article_avis_fields();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
function clear_article_avis_fields() {
|
||||||
|
setarticle_avis_title_formation("");
|
||||||
|
setarticle_avis_email("");
|
||||||
|
setarticle_avis_url_formation("");
|
||||||
|
setarticle_avis_sujet("");
|
||||||
|
setarticle_avis_avis("");
|
||||||
|
setis_data_changed("");
|
||||||
|
}
|
||||||
|
|
||||||
|
const [article_avis_date_publication, setarticle_avis_date_publication] = useState(new Date().toLocaleDateString('fr-FR'));
|
||||||
|
const [article_avis_title_formation, setarticle_avis_title_formation] = React.useState("");
|
||||||
|
const [article_avis_email, setarticle_avis_email] = React.useState("");
|
||||||
|
const [article_avis_url_formation, setarticle_avis_url_formation] = React.useState("");
|
||||||
|
const [article_avis_sujet, setarticle_avis_sujet] = React.useState("");
|
||||||
|
const [article_avis_avis, setarticle_avis_avis] = React.useState("");
|
||||||
|
const [article_avis_internal_url, setarticle_avis_internal_url] = React.useState("");
|
||||||
|
const [article_avis_display_header_img, setarticle_avis_display_header_img] = React.useState(false);
|
||||||
|
const [article_avis_img_path, setarticle_avis_img_path] = React.useState("");
|
||||||
|
|
||||||
|
function Add_Update_Article_Avis(e) {
|
||||||
|
|
||||||
|
var form = new FormData();
|
||||||
|
|
||||||
|
const stored_cookie = getCookie('tokenmysypart');
|
||||||
|
form.append("token", stored_cookie);
|
||||||
|
form.append("title_formation", article_avis_title_formation);
|
||||||
|
form.append("avis", field_texte_avis);
|
||||||
|
form.append("qualite", "");
|
||||||
|
form.append("note", "");
|
||||||
|
|
||||||
|
if (!article_avis_img_path || String(article_avis_img_path).trim() === "") {
|
||||||
|
alert(" Vous devez saisir une image à afficher avec l'article ");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
form.append("img_path", article_avis_img_path);
|
||||||
|
|
||||||
|
if (article_avis_date_publication.trim() === "") {
|
||||||
|
alert(" Vous devez saisir la date de naissance de l'apprenant");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var formated_date_tmp = new Date(moment(article_avis_date_publication, "YYYY-MM-DD"));
|
||||||
|
var formated_date_final = moment(formated_date_tmp).format('DD/MM/YYYY');
|
||||||
|
|
||||||
|
form.append("date_publication", formated_date_final);
|
||||||
|
|
||||||
|
|
||||||
|
if (article_avis_display_header_img) {
|
||||||
|
form.append("display_header_img", "1");
|
||||||
|
} else {
|
||||||
|
form.append("display_header_img", "0");
|
||||||
|
}
|
||||||
|
|
||||||
|
form.append("user_ip", IPv4);
|
||||||
|
form.append("user_country_code", country_code);
|
||||||
|
form.append("user_country_name", country_name);
|
||||||
|
form.append("user_city", city);
|
||||||
|
form.append("user_postal", postal);
|
||||||
|
form.append("user_latitude", latitude);
|
||||||
|
form.append("user_longitude", longitude);
|
||||||
|
form.append("user_state", state);
|
||||||
|
|
||||||
|
|
||||||
|
//console.log(" ## form = ", form);
|
||||||
|
var myurl = "";
|
||||||
|
|
||||||
|
if (selected_id && String(selected_id).length > 3) {
|
||||||
|
myurl = process.env.REACT_APP_API_URL + "myclass/api/update_articles_avis/";
|
||||||
|
form.append("_id", selected_id);
|
||||||
|
} else {
|
||||||
|
myurl = process.env.REACT_APP_API_URL + "myclass/api/add_articles_avis/";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
axios.post(myurl, form).then(res => {
|
||||||
|
|
||||||
|
if (String(res.data.status) === String("false")) {
|
||||||
|
alert(res.data.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (String(res.data.status) === String("true")) {
|
||||||
|
alert(res.data.message);
|
||||||
|
Dialog_article_avis_handleClose_buton();
|
||||||
|
props.searchFunction();
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
}
|
||||||
|
}).catch((error) => {
|
||||||
|
console.warn('contact-nous Not good man :( mysearchtext = ');
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
||||||
<div className="article">
|
<div className="article">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{/*** GESTION article */}
|
||||||
|
<Dialog
|
||||||
|
open={Dialog_article_avis_open}
|
||||||
|
onClose={Dialog_article_avis_handleClose}
|
||||||
|
className="displaypartnersession"
|
||||||
|
>
|
||||||
|
|
||||||
|
<DialogTitle>Votre article </DialogTitle>
|
||||||
|
<DialogContent className="DialogContent_width DialogContent_width_session_800px" >
|
||||||
|
|
||||||
|
|
||||||
|
{String(is_data_changed) === String("1") && <div className="div_row_dialog">
|
||||||
|
<div className="koUpdateData" style={{ "color": "orange", "textAlign": "center" }}> /!\ Pensez à enregistrer les modifications</div>
|
||||||
|
</div>}
|
||||||
|
|
||||||
|
<div className="div_row_dialog">
|
||||||
|
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||||
|
<b> Titre </b>
|
||||||
|
</div>
|
||||||
|
<div className="div_row_dialog" >
|
||||||
|
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||||
|
<input
|
||||||
|
type='text'
|
||||||
|
name='name'
|
||||||
|
value={article_avis_title_formation}
|
||||||
|
onChange={(e) => {
|
||||||
|
setarticle_avis_title_formation(e.target.value);
|
||||||
|
setis_data_changed("1");
|
||||||
|
}}
|
||||||
|
className='disabled_style'
|
||||||
|
|
||||||
|
></input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div className="div_row_dialog">
|
||||||
|
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop: '10px' }}>
|
||||||
|
<b> Date publication </b>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="div_row_droite_dialog_session" style={{ "textAlign": 'right' }}>
|
||||||
|
<DatePicker
|
||||||
|
name="date_publication"
|
||||||
|
id="date_publication"
|
||||||
|
selected={new Date(moment(article_avis_date_publication, "YYYY-MM-DD"))}
|
||||||
|
onChange={(date) => {
|
||||||
|
setarticle_avis_date_publication(format(date, 'yyyy-MM-dd'));
|
||||||
|
setis_data_changed("1");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
showTimeSelect={false}
|
||||||
|
dateFormat="dd/MM/yyyy"
|
||||||
|
className="disabled_style session_caract_Dialog_DatePicker"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="div_row_dialog">
|
||||||
|
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop: '10px' }}>
|
||||||
|
<b> Affiche image </b>
|
||||||
|
</div>
|
||||||
|
<div className="div_row_droite_dialog_session" style={{ "textAlign": 'right' }}>
|
||||||
|
<Checkbox
|
||||||
|
name="document_join_pdf"
|
||||||
|
className="disabled_style"
|
||||||
|
checked={article_avis_display_header_img}
|
||||||
|
onChange={(e) => {
|
||||||
|
setarticle_avis_display_header_img(e.target.checked);
|
||||||
|
setis_data_changed("1");
|
||||||
|
}}
|
||||||
|
|
||||||
|
/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="div_row_dialog">
|
||||||
|
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||||
|
<b> Image Url </b>
|
||||||
|
</div>
|
||||||
|
<div className="div_row_dialog" >
|
||||||
|
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||||
|
<input
|
||||||
|
type='text'
|
||||||
|
name='img_url'
|
||||||
|
id='img_url'
|
||||||
|
value={article_avis_img_path}
|
||||||
|
onChange={(e) => {
|
||||||
|
setarticle_avis_img_path(e.target.value);
|
||||||
|
setis_data_changed("1");
|
||||||
|
}}
|
||||||
|
className='disabled_style'
|
||||||
|
|
||||||
|
></input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div className="div_row_dialog">
|
||||||
|
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||||
|
<b> Texte Article </b>
|
||||||
|
</div>
|
||||||
|
<div className="div_row_dialog" >
|
||||||
|
|
||||||
|
<Editor
|
||||||
|
id="detail_document_principal"
|
||||||
|
name="detail_document_principal"
|
||||||
|
onInit={(evt, editor) => editorRef_texte_avis.current = editor}
|
||||||
|
// initialValue={field_texte_avis}
|
||||||
|
|
||||||
|
onKeyUp={editor_keyup}
|
||||||
|
value={field_texte_avis}
|
||||||
|
onEditorChange={(newValue, editor) => {
|
||||||
|
setfield_texte_avis(editorRef_texte_avis.current.getContent());
|
||||||
|
|
||||||
|
}}
|
||||||
|
init={{
|
||||||
|
resize: false,
|
||||||
|
height: 700,
|
||||||
|
menubar: true,
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'print', 'preview', 'anchor', 'searchreplace',
|
||||||
|
'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'paste', 'code', 'help', 'wordcount',
|
||||||
|
'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks',
|
||||||
|
|
||||||
|
],
|
||||||
|
toolbar: 'undo redo | casechange blocks | bold italic backcolor | ' +
|
||||||
|
'alignleft aligncenter alignright alignjustify | ' +
|
||||||
|
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||||
|
|
||||||
|
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{String(is_data_changed) === String("1") && <div className="div_row_dialog">
|
||||||
|
<div className="koUpdateData" style={{ "color": "orange", "textAlign": "center" }}> /!\ Pensez à enregistrer les modifications</div>
|
||||||
|
</div>}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</DialogContent>
|
||||||
|
|
||||||
|
<DialogActions>
|
||||||
|
<div className="div_row">
|
||||||
|
<div className="div_row_gauche">
|
||||||
|
<Button onClick={Dialog_article_avis_handleClose_buton} className="bton_annule_dialog" >Fermer</Button>
|
||||||
|
</div>
|
||||||
|
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||||
|
<Button onClick={Add_Update_Article_Avis} className="bton_enreg_dialog">Envoyer <SendIcon /></Button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</DialogActions>
|
||||||
|
|
||||||
|
|
||||||
|
</Dialog>
|
||||||
|
{/*** FIN GESTION article */}
|
||||||
|
|
||||||
|
|
||||||
<div className="div_row">
|
<div className="div_row">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div className="div_row_border" >
|
<div className="div_row_border" >
|
||||||
<div style={{ "width": "100%", textAlign: "center" }}>
|
<div style={{ "width": "100%", textAlign: "center" }}>
|
||||||
|
|
||||||
|
@ -91,12 +535,47 @@ const Article = (props) => {
|
||||||
<div style={{
|
<div style={{
|
||||||
width: '100%', "textAlign": "right", paddingRight: "10px", float: "left", height: "2rem",
|
width: '100%', "textAlign": "right", paddingRight: "10px", float: "left", height: "2rem",
|
||||||
fontStyle: "italic"
|
fontStyle: "italic"
|
||||||
}}> {(String(props.article.date_avis)).substring(0, 10)} </div>
|
}}> {(String(props.article.date_publication)).substring(0, 10)}
|
||||||
|
</div>
|
||||||
|
|
||||||
<div className="grid8p" onClick={(e) => {
|
<div className="grid8p" onClick={(e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
window.location.href = "/Display-Detail-Article/" + props.article.internal_url
|
window.location.href = "/Display-Detail-Article/" + props.article.internal_url
|
||||||
}}> En savoir plus › </div>
|
}}> En savoir plus ›
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{props.connected_user_article_avis_droit_modif === "1" && <div style={{ "width": "100%", "float": "left" }} onClick={(e) => {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
}}>
|
||||||
|
<nav style={{ "width": "40%", "float": "left", "textAlign": "left", "paddingLeft": "2px", "paddingRight": "2px" }}
|
||||||
|
>
|
||||||
|
<Button variant="text" onClick={(e) => {
|
||||||
|
|
||||||
|
|
||||||
|
setarticle_avis_title_formation(props.article.title_formation);
|
||||||
|
// setarticle_avis_avis(props.article.avis);
|
||||||
|
// setfield_texte_avis_initial_value(props.article.avis);
|
||||||
|
setarticle_avis_date_publication(moment((String(props.article.date_avis)).substring(0, 10)).format('YYYY-MM-DD'))
|
||||||
|
|
||||||
|
Get_Partner_Article_Avis_Data();
|
||||||
|
setedit_article("1");
|
||||||
|
setis_data_changed("");
|
||||||
|
setDialog_article_avis_open(true);
|
||||||
|
|
||||||
|
}}>
|
||||||
|
Editer
|
||||||
|
</Button> </nav>
|
||||||
|
|
||||||
|
|
||||||
|
<nav style={{ "width": "40%", "float": "right", "textAlign": "right", "paddingLeft": "2px", "paddingRight": "2px" }} >
|
||||||
|
<Button color="secondary"> Supprimer
|
||||||
|
</Button>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
</div>}
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -24,6 +24,21 @@ import connect_green from "../mysy_img/connect_green.png";
|
||||||
import { BsFillXCircleFill } from "react-icons/bs";
|
import { BsFillXCircleFill } from "react-icons/bs";
|
||||||
import Fotter_v3 from "./Fotter_v3";
|
import Fotter_v3 from "./Fotter_v3";
|
||||||
|
|
||||||
|
import Dialog from '@mui/material/Dialog';
|
||||||
|
import DialogActions from '@mui/material/DialogActions';
|
||||||
|
import DialogContent from '@mui/material/DialogContent';
|
||||||
|
import DialogContentText from '@mui/material/DialogContentText';
|
||||||
|
import DialogTitle from '@mui/material/DialogTitle';
|
||||||
|
|
||||||
|
import SendIcon from '@mui/icons-material/Send';
|
||||||
|
import { Editor } from '@tinymce/tinymce-react';
|
||||||
|
import DatePicker from "react-datepicker";
|
||||||
|
import "react-datepicker/dist/react-datepicker.css";
|
||||||
|
import { FcInfo } from "react-icons/fc";
|
||||||
|
import 'react-tooltip/dist/react-tooltip.css'
|
||||||
|
import { Tooltip } from 'react-tooltip'
|
||||||
|
import Checkbox from '@mui/material/Checkbox';
|
||||||
|
|
||||||
let PageSize = 5;
|
let PageSize = 5;
|
||||||
const RechercheArticles_new_v2 = (props) => {
|
const RechercheArticles_new_v2 = (props) => {
|
||||||
const [userconnected, setuserconnected] = useState("");
|
const [userconnected, setuserconnected] = useState("");
|
||||||
|
@ -175,7 +190,7 @@ const RechercheArticles_new_v2 = (props) => {
|
||||||
axios.post(myurl, form).then(res => {
|
axios.post(myurl, form).then(res => {
|
||||||
if (String(res.data.status) != String("false")) {
|
if (String(res.data.status) != String("false")) {
|
||||||
//console.log(" In searchFunction res.data.status = " + res.data.status);
|
//console.log(" In searchFunction res.data.status = " + res.data.status);
|
||||||
console.log(" In searchFunction res.data.message = " + res.data.message);
|
//console.log(" In searchFunction res.data.message = " + res.data.message);
|
||||||
setsearchFunction_api(res.data.status);
|
setsearchFunction_api(res.data.status);
|
||||||
setsearchFunction_result(res.data.message);
|
setsearchFunction_result(res.data.message);
|
||||||
setmyApiResponse("True");
|
setmyApiResponse("True");
|
||||||
|
@ -214,21 +229,6 @@ const RechercheArticles_new_v2 = (props) => {
|
||||||
}
|
}
|
||||||
}, [currentPage2]);
|
}, [currentPage2]);
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
setdisplayAllClasses("true");
|
|
||||||
async function chloadfunction() {
|
|
||||||
if (document.getElementById('allelement')) {
|
|
||||||
document.getElementById("allelement").checked = true;
|
|
||||||
}
|
|
||||||
// document.getElementById("SearchText").disabled = true;
|
|
||||||
|
|
||||||
}
|
|
||||||
chloadfunction();
|
|
||||||
searchFunction();
|
|
||||||
|
|
||||||
whosisconnected();
|
|
||||||
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
const [PartnerMenu, setPartnerMenu] = React.useState(null);
|
const [PartnerMenu, setPartnerMenu] = React.useState(null);
|
||||||
const [AccountMenu, setAccountMenu] = React.useState(null);
|
const [AccountMenu, setAccountMenu] = React.useState(null);
|
||||||
|
@ -239,6 +239,10 @@ const RechercheArticles_new_v2 = (props) => {
|
||||||
|
|
||||||
const stored_part = getCookie('tokenmysypart');
|
const stored_part = getCookie('tokenmysypart');
|
||||||
|
|
||||||
|
|
||||||
|
const [connected_user_article_avis_droit_modif, setconnected_user_article_avis_droit_modif] = useState("0");
|
||||||
|
|
||||||
|
|
||||||
function whosisconnected() {
|
function whosisconnected() {
|
||||||
var local_user_connect = 0;
|
var local_user_connect = 0;
|
||||||
var local_part_connect = 0;
|
var local_part_connect = 0;
|
||||||
|
@ -250,6 +254,8 @@ const RechercheArticles_new_v2 = (props) => {
|
||||||
setuserconnected("1");
|
setuserconnected("1");
|
||||||
setsomeoneconnected("1");
|
setsomeoneconnected("1");
|
||||||
local_user_connect = 1;
|
local_user_connect = 1;
|
||||||
|
retrieve_user_acces_right();
|
||||||
|
|
||||||
//alert(" user connected OK");
|
//alert(" user connected OK");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -260,6 +266,9 @@ const RechercheArticles_new_v2 = (props) => {
|
||||||
setpartnerconnected("1");
|
setpartnerconnected("1");
|
||||||
setsomeoneconnected("1");
|
setsomeoneconnected("1");
|
||||||
local_part_connect = 1;
|
local_part_connect = 1;
|
||||||
|
retrieve_user_acces_right();
|
||||||
|
|
||||||
|
|
||||||
// alert(" partner connected OK");
|
// alert(" partner connected OK");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -445,8 +454,413 @@ const RechercheArticles_new_v2 = (props) => {
|
||||||
history.push("/")
|
history.push("/")
|
||||||
};
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setdisplayAllClasses("true");
|
||||||
|
async function chloadfunction() {
|
||||||
|
if (document.getElementById('allelement')) {
|
||||||
|
document.getElementById("allelement").checked = true;
|
||||||
|
}
|
||||||
|
// document.getElementById("SearchText").disabled = true;
|
||||||
|
|
||||||
|
}
|
||||||
|
chloadfunction();
|
||||||
|
searchFunction();
|
||||||
|
whosisconnected();
|
||||||
|
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Cette fonction recuperer les droits d'acces stocké en cookie
|
||||||
|
const [connected_user_access_right, setconnected_user_access_right] = React.useState([]);
|
||||||
|
function retrieve_user_acces_right() {
|
||||||
|
const stored_cookie = getCookie('tokenmysypart');
|
||||||
|
|
||||||
|
if (!stored_cookie || String(stored_cookie).trim() === "") {
|
||||||
|
history.push("/Connexion");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var acces_right_token_name = stored_cookie + "_uar";
|
||||||
|
var acces_right_token_val = getCookie(acces_right_token_name, { path: '/' });
|
||||||
|
|
||||||
|
var tab_json_access_right = JSON.parse(acces_right_token_val);
|
||||||
|
|
||||||
|
setconnected_user_access_right(tab_json_access_right);
|
||||||
|
|
||||||
|
|
||||||
|
var article_avis_droit_ecriture_retval = check_user_acces_right_with_tab("article_avis", "write", tab_json_access_right);
|
||||||
|
if (article_avis_droit_ecriture_retval === 1) {
|
||||||
|
setconnected_user_article_avis_droit_modif("1");
|
||||||
|
} else {
|
||||||
|
setconnected_user_article_avis_droit_modif("0");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// check du droit d'acces de l'utilisateur
|
||||||
|
function check_user_acces_right(local_module, local_action) {
|
||||||
|
|
||||||
|
//console.log(" ### connected_user_access_right = ", connected_user_access_right);
|
||||||
|
//console.log(" #### check_user_acces_right = ", local_module, " --- local_action = ", local_action);
|
||||||
|
|
||||||
|
if (String(local_action) === "read") {
|
||||||
|
for (let i = 0; i < connected_user_access_right.length; i++) {
|
||||||
|
if (String(connected_user_access_right[i].module) === String(local_module)
|
||||||
|
&& String(connected_user_access_right[i].read) === "true") {
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
} else if (String(local_action) === "write") {
|
||||||
|
for (let i = 0; i < connected_user_access_right.length; i++) {
|
||||||
|
if (String(connected_user_access_right[i].module) === String(local_module)
|
||||||
|
&& String(connected_user_access_right[i].write) === "true") {
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// check du droit d'acces de l'utilisateur avec la table des droits
|
||||||
|
function check_user_acces_right_with_tab(local_module, local_action, tab_acces_right) {
|
||||||
|
|
||||||
|
//console.log(" ### connected_user_access_right = ", connected_user_access_right);
|
||||||
|
//console.log(" #### check_user_acces_right = ", local_module, " --- local_action = ", local_action);
|
||||||
|
|
||||||
|
if (String(local_action) === "read") {
|
||||||
|
for (let i = 0; i < tab_acces_right.length; i++) {
|
||||||
|
if (String(tab_acces_right[i].module) === String(local_module)
|
||||||
|
&& String(tab_acces_right[i].read) === "true") {
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
} else if (String(local_action) === "write") {
|
||||||
|
for (let i = 0; i < tab_acces_right.length; i++) {
|
||||||
|
if (String(tab_acces_right[i].module) === String(local_module)
|
||||||
|
&& String(tab_acces_right[i].write) === "true") {
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const [Dialog_article_avis_avis, setDialog_article_avis_avis] = React.useState(false);
|
||||||
|
const [Dialog_article_avis_open, setDialog_article_avis_open] = React.useState(false);
|
||||||
|
function Dialog_article_avis_handle_change_participant_session(avis) {
|
||||||
|
setDialog_article_avis_avis(avis);
|
||||||
|
setDialog_article_avis_open(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
const Dialog_article_avis_handleClose = () => {
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
const Dialog_article_avis_handleClose_buton = () => {
|
||||||
|
|
||||||
|
setDialog_article_avis_open(false);
|
||||||
|
clear_article_avis_fields();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
function clear_article_avis_fields() {
|
||||||
|
setarticle_avis_title_formation("");
|
||||||
|
setarticle_avis_email("");
|
||||||
|
setarticle_avis_url_formation("");
|
||||||
|
setarticle_avis_sujet("");
|
||||||
|
setarticle_avis_avis("");
|
||||||
|
setis_data_changed("");
|
||||||
|
}
|
||||||
|
|
||||||
|
const [article_avis_date_publication, setarticle_avis_date_publication] = useState(new Date().toLocaleDateString('fr-FR'));
|
||||||
|
const [article_avis_title_formation, setarticle_avis_title_formation] = React.useState("");
|
||||||
|
const [article_avis_email, setarticle_avis_email] = React.useState("");
|
||||||
|
const [article_avis_url_formation, setarticle_avis_url_formation] = React.useState("");
|
||||||
|
const [article_avis_sujet, setarticle_avis_sujet] = React.useState("");
|
||||||
|
const [article_avis_avis, setarticle_avis_avis] = React.useState("");
|
||||||
|
const [article_avis_internal_url, setarticle_avis_internal_url] = React.useState("");
|
||||||
|
const [article_avis_display_header_img, setarticle_avis_display_header_img] = React.useState(false);
|
||||||
|
const [article_avis_img_path, setarticle_avis_img_path] = React.useState("");
|
||||||
|
|
||||||
|
function Add_Update_Article_Avis(e) {
|
||||||
|
|
||||||
|
var form = new FormData();
|
||||||
|
|
||||||
|
const stored_cookie = getCookie('tokenmysypart');
|
||||||
|
form.append("token", stored_cookie);
|
||||||
|
form.append("title_formation", article_avis_title_formation);
|
||||||
|
form.append("avis", field_texte_avis);
|
||||||
|
form.append("qualite", " --- ");
|
||||||
|
form.append("note", "---");
|
||||||
|
|
||||||
|
if (!article_avis_img_path || String(article_avis_img_path).trim() === "") {
|
||||||
|
alert(" Vous devez saisir une image à afficher avec l'article ");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
form.append("img_path", article_avis_img_path);
|
||||||
|
|
||||||
|
if (article_avis_date_publication.trim() === "") {
|
||||||
|
alert(" Vous devez saisir la date de naissance de l'apprenant");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var formated_date_tmp = new Date(moment(article_avis_date_publication, "YYYY-MM-DD"));
|
||||||
|
var formated_date_final = moment(formated_date_tmp).format('DD/MM/YYYY');
|
||||||
|
|
||||||
|
form.append("date_publication", formated_date_final);
|
||||||
|
|
||||||
|
|
||||||
|
if (article_avis_display_header_img) {
|
||||||
|
form.append("display_header_img", "1");
|
||||||
|
} else {
|
||||||
|
form.append("display_header_img", "0");
|
||||||
|
}
|
||||||
|
|
||||||
|
form.append("user_ip", IPv4);
|
||||||
|
form.append("user_country_code", country_code);
|
||||||
|
form.append("user_country_name", country_name);
|
||||||
|
form.append("user_city", city);
|
||||||
|
form.append("user_postal", postal);
|
||||||
|
form.append("user_latitude", latitude);
|
||||||
|
form.append("user_longitude", longitude);
|
||||||
|
form.append("user_state", state);
|
||||||
|
|
||||||
|
|
||||||
|
//console.log(" ## form = ", form);
|
||||||
|
var myurl = process.env.REACT_APP_API_URL + "myclass/api/add_articles_avis/";
|
||||||
|
|
||||||
|
axios.post(myurl, form).then(res => {
|
||||||
|
|
||||||
|
if (String(res.data.status) === String("false")) {
|
||||||
|
alert(res.data.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (String(res.data.status) === String("true")) {
|
||||||
|
alert(res.data.message);
|
||||||
|
Dialog_article_avis_handleClose_buton();
|
||||||
|
searchFunction();
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
}
|
||||||
|
}).catch((error) => {
|
||||||
|
console.warn('contact-nous Not good man :( mysearchtext = ');
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const editorRef_texte_avis = useRef(null);
|
||||||
|
const [editorRef_texte_avis_limite, seteditorRef_texte_avis] = useState(1000);
|
||||||
|
const [field_texte_avis, setfield_texte_avis] = useState("");
|
||||||
|
const [field_texte_avis_initial_value, setfield_texte_avis_initial_value] = useState("");
|
||||||
|
|
||||||
|
const [is_data_changed, setis_data_changed] = useState("");
|
||||||
|
|
||||||
|
const [editor_tochanged, seteditor_tochanged] = useState("");
|
||||||
|
|
||||||
|
function editor_keyup() {
|
||||||
|
setis_data_changed("1");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div style={{ width: "100%", float: "left" }}>
|
<div style={{ width: "100%", float: "left" }}>
|
||||||
|
|
||||||
|
|
||||||
|
{/*** GESTION article */}
|
||||||
|
<Dialog
|
||||||
|
open={Dialog_article_avis_open}
|
||||||
|
onClose={Dialog_article_avis_handleClose}
|
||||||
|
className="displaypartnersession"
|
||||||
|
>
|
||||||
|
|
||||||
|
<DialogTitle>Votre article </DialogTitle>
|
||||||
|
<DialogContent className="DialogContent_width DialogContent_width_session_800px" >
|
||||||
|
|
||||||
|
|
||||||
|
{String(is_data_changed) === String("1") && <div className="div_row_dialog">
|
||||||
|
<div className="koUpdateData" style={{ "color": "orange", "textAlign": "center" }}> /!\ Pensez à enregistrer les modifications</div>
|
||||||
|
</div>}
|
||||||
|
|
||||||
|
<div className="div_row_dialog">
|
||||||
|
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||||
|
<b> Titre </b>
|
||||||
|
</div>
|
||||||
|
<div className="div_row_dialog" >
|
||||||
|
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||||
|
<input
|
||||||
|
type='text'
|
||||||
|
name='name'
|
||||||
|
value={article_avis_title_formation}
|
||||||
|
onChange={(e) => {
|
||||||
|
setarticle_avis_title_formation(e.target.value);
|
||||||
|
setis_data_changed("1");
|
||||||
|
}}
|
||||||
|
className='disabled_style'
|
||||||
|
|
||||||
|
></input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div className="div_row_dialog">
|
||||||
|
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop: '10px' }}>
|
||||||
|
<b> Date publication </b>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="div_row_droite_dialog_session" style={{ "textAlign": 'right' }}>
|
||||||
|
<DatePicker
|
||||||
|
name="date_publication"
|
||||||
|
id="date_publication"
|
||||||
|
selected={new Date(moment(article_avis_date_publication, "YYYY-MM-DD"))}
|
||||||
|
onChange={(date) => {
|
||||||
|
setarticle_avis_date_publication(format(date, 'yyyy-MM-dd'));
|
||||||
|
setis_data_changed("1");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
showTimeSelect={false}
|
||||||
|
dateFormat="dd/MM/yyyy"
|
||||||
|
className="disabled_style session_caract_Dialog_DatePicker"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="div_row_dialog">
|
||||||
|
<div className="div_row_gauche_dialog_session" style={{ "textAlign": 'left', paddingTop: '10px' }}>
|
||||||
|
<b> Affiche image </b>
|
||||||
|
</div>
|
||||||
|
<div className="div_row_droite_dialog_session" style={{ "textAlign": 'right' }}>
|
||||||
|
<Checkbox
|
||||||
|
name="document_join_pdf"
|
||||||
|
className="disabled_style"
|
||||||
|
checked={article_avis_display_header_img}
|
||||||
|
onChange={(e) => {
|
||||||
|
setarticle_avis_display_header_img(e.target.checked);
|
||||||
|
setis_data_changed("1");
|
||||||
|
}}
|
||||||
|
|
||||||
|
/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="div_row_dialog">
|
||||||
|
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||||
|
<b> Image Url </b>
|
||||||
|
</div>
|
||||||
|
<div className="div_row_dialog" >
|
||||||
|
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||||
|
<input
|
||||||
|
type='text'
|
||||||
|
name='img_url'
|
||||||
|
id='img_url'
|
||||||
|
value={article_avis_img_path}
|
||||||
|
onChange={(e) => {
|
||||||
|
setarticle_avis_img_path(e.target.value);
|
||||||
|
setis_data_changed("1");
|
||||||
|
}}
|
||||||
|
className='disabled_style'
|
||||||
|
|
||||||
|
></input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div className="div_row_dialog">
|
||||||
|
<div className="div_row_dialog" style={{ "textAlign": 'left' }}>
|
||||||
|
<b> Texte Article </b>
|
||||||
|
</div>
|
||||||
|
<div className="div_row_dialog" >
|
||||||
|
|
||||||
|
<Editor
|
||||||
|
id="detail_document_principal"
|
||||||
|
name="detail_document_principal"
|
||||||
|
onInit={(evt, editor) => editorRef_texte_avis.current = editor}
|
||||||
|
// initialValue={field_texte_avis}
|
||||||
|
|
||||||
|
onKeyUp={editor_keyup}
|
||||||
|
value={field_texte_avis}
|
||||||
|
onEditorChange={(newValue, editor) => {
|
||||||
|
setfield_texte_avis(editorRef_texte_avis.current.getContent());
|
||||||
|
|
||||||
|
}}
|
||||||
|
init={{
|
||||||
|
resize: false,
|
||||||
|
height: 700,
|
||||||
|
menubar: true,
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'print', 'preview', 'anchor', 'searchreplace',
|
||||||
|
'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'paste', 'code', 'help', 'wordcount',
|
||||||
|
'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks',
|
||||||
|
|
||||||
|
],
|
||||||
|
toolbar: 'undo redo | casechange blocks | bold italic backcolor | ' +
|
||||||
|
'alignleft aligncenter alignright alignjustify | ' +
|
||||||
|
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
|
||||||
|
|
||||||
|
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{String(is_data_changed) === String("1") && <div className="div_row_dialog">
|
||||||
|
<div className="koUpdateData" style={{ "color": "orange", "textAlign": "center" }}> /!\ Pensez à enregistrer les modifications</div>
|
||||||
|
</div>}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</DialogContent>
|
||||||
|
|
||||||
|
<DialogActions>
|
||||||
|
<div className="div_row">
|
||||||
|
<div className="div_row_gauche">
|
||||||
|
<Button onClick={Dialog_article_avis_handleClose_buton} className="bton_annule_dialog" >Fermer</Button>
|
||||||
|
</div>
|
||||||
|
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||||
|
<Button onClick={Add_Update_Article_Avis} className="bton_enreg_dialog">Envoyer <SendIcon /></Button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</DialogActions>
|
||||||
|
|
||||||
|
|
||||||
|
</Dialog>
|
||||||
|
{/*** FIN GESTION article */}
|
||||||
|
|
||||||
|
|
||||||
<div className="recherchearticles_new_v2_style">
|
<div className="recherchearticles_new_v2_style">
|
||||||
<Helmet>
|
<Helmet>
|
||||||
|
|
||||||
|
@ -506,22 +920,18 @@ const RechercheArticles_new_v2 = (props) => {
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div className="block_centrer">
|
<div className="block_centrer">
|
||||||
{/*<div className="aricles_a_la_une">
|
<div className="div_row">
|
||||||
<div className="img_article">
|
<Button onClick={(e) => {
|
||||||
imgg
|
clear_article_avis_fields();
|
||||||
|
setis_data_changed("");
|
||||||
|
setDialog_article_avis_open(true);
|
||||||
|
|
||||||
|
}}
|
||||||
|
className="bton_enreg_dialog"> Ajouter 1 article</Button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="desc_article">
|
|
||||||
destail aricle
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>*/}
|
|
||||||
|
|
||||||
|
|
||||||
<div className="liste_articles">
|
<div className="liste_articles">
|
||||||
|
|
||||||
|
@ -539,7 +949,10 @@ const RechercheArticles_new_v2 = (props) => {
|
||||||
|
|
||||||
{searchFunction_result && searchFunction_result.length > 0 && currentTableData2 && searchFunction_result.map((formation) => (
|
{searchFunction_result && searchFunction_result.length > 0 && currentTableData2 && searchFunction_result.map((formation) => (
|
||||||
<div className="block_article">
|
<div className="block_article">
|
||||||
<Articles article={JSON.parse(formation)} key={JSON.parse(formation).title_formation} />
|
<Articles article={JSON.parse(formation)} key={JSON.parse(formation).title_formation}
|
||||||
|
connected_user_article_avis_droit_modif={connected_user_article_avis_droit_modif}
|
||||||
|
searchFunction={searchFunction}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
))}
|
))}
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
import Add_Articles_Avis from "../components/AddArticleAvis";
|
||||||
|
import Navigation from "../components/Navigation";
|
||||||
|
|
||||||
|
const addarticleavis = () => {
|
||||||
|
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Navigation />
|
||||||
|
<div>
|
||||||
|
<Add_Articles_Avis />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export default addarticleavis;
|
|
@ -0,0 +1,877 @@
|
||||||
|
.addarticleavis {
|
||||||
|
.h1_transparent {
|
||||||
|
color: transparent;
|
||||||
|
font-size: 0.1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formRow {
|
||||||
|
margin-bottom: 1rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 600px) {
|
||||||
|
.media_sociaux {
|
||||||
|
svg {
|
||||||
|
margin-top: 0 !important;
|
||||||
|
text-align: left !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.SocialIcon {
|
||||||
|
height: 25px !important;
|
||||||
|
width: 25px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_carte {
|
||||||
|
width: 95%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_adresse {
|
||||||
|
width: 95%;
|
||||||
|
text-justify: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nom_prenom {
|
||||||
|
font-family: "verdana", "Quicksand", "Signika", sans-serif;
|
||||||
|
font-size: small;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img_gauche_taille {
|
||||||
|
max-width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.okUpdateData {
|
||||||
|
font-size: small;
|
||||||
|
color: green;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.koUpdateData {
|
||||||
|
font-size: small;
|
||||||
|
color: red;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img_logo {
|
||||||
|
display: block;
|
||||||
|
height: auto;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
max-width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.containerBox {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.div_row2 {
|
||||||
|
float: left;
|
||||||
|
//border:0px solid black;
|
||||||
|
border-width: 0.01rem;
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 0.1rem;
|
||||||
|
//border-radius: 1rem;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 10;
|
||||||
|
top: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_row_haut {
|
||||||
|
float: left;
|
||||||
|
//border:1px solid black;
|
||||||
|
//border-width: 0.01rem;
|
||||||
|
width: 100%;
|
||||||
|
//border-radius: 1rem;
|
||||||
|
background-color: #3b3e40;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_row_bas {
|
||||||
|
float: right;
|
||||||
|
//border:1px solid black;
|
||||||
|
//border-width: 0.01rem;
|
||||||
|
width: 100%;
|
||||||
|
//border-radius: 1rem;
|
||||||
|
z-index: 10;
|
||||||
|
background-color: #e7f3fb;
|
||||||
|
background-image: url("../../mysy_img/MYSY-banner-compte_v2.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_mobile {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
top: 5rem;
|
||||||
|
z-index: 1;
|
||||||
|
width: 98%;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0.3rem;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pieddepage {
|
||||||
|
z-index: 0;
|
||||||
|
width: 100%;
|
||||||
|
float: left;
|
||||||
|
margin-top: 5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menuPrincipal {
|
||||||
|
font-family: "Quicksand", "Signika", "sans-serif";
|
||||||
|
color: white;
|
||||||
|
width: 20%;
|
||||||
|
float: right;
|
||||||
|
font-weight: 500;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menuPrincipal:hover {
|
||||||
|
color: #81bc3a;
|
||||||
|
font-weight: bold;
|
||||||
|
padding-left: 0;
|
||||||
|
transition: color 0.3s linear;
|
||||||
|
letter-spacing: 0.2rem;
|
||||||
|
text-decoration: solid;
|
||||||
|
text-underline-offset: 3px;
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
border-bottom-style: solid;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_001 {
|
||||||
|
width: 90%;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_002 {
|
||||||
|
width: 50%;
|
||||||
|
text-align: center;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_003 {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_004 {
|
||||||
|
color: white;
|
||||||
|
width: 100%;
|
||||||
|
height: 0.1rem;
|
||||||
|
opacity: 100%;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
float: left;
|
||||||
|
margin-bottom: 0.2rem;
|
||||||
|
margin-top: 0.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_005 {
|
||||||
|
width: 95%;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text_head {
|
||||||
|
color: white;
|
||||||
|
font-family: "verdana", "Quicksand", "Signika", "sans-serif";
|
||||||
|
font-size: small;
|
||||||
|
width: 90%;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.titre {
|
||||||
|
width: 99%;
|
||||||
|
margin-left: 5px;
|
||||||
|
|
||||||
|
padding-top: 10px;
|
||||||
|
|
||||||
|
font-family: 'Albert Sans';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: 30px;
|
||||||
|
line-height: 38px;
|
||||||
|
/* identical to box height */
|
||||||
|
|
||||||
|
text-align: center;
|
||||||
|
letter-spacing: 1px;
|
||||||
|
|
||||||
|
/* Deep Blue */
|
||||||
|
|
||||||
|
color: #0A043C;
|
||||||
|
|
||||||
|
|
||||||
|
/* Inside auto layout */
|
||||||
|
|
||||||
|
flex: none;
|
||||||
|
order: 0;
|
||||||
|
flex-grow: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.col-6 {
|
||||||
|
flex: 0 0 auto;
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (min-width: 601px) and (max-width: 991px) {
|
||||||
|
.media_sociaux {
|
||||||
|
svg {
|
||||||
|
margin-top: 0 !important;
|
||||||
|
text-align: left !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.SocialIcon {
|
||||||
|
height: 25px !important;
|
||||||
|
width: 25px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_carte {
|
||||||
|
width: 70%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_adresse {
|
||||||
|
width: 29%;
|
||||||
|
float: left;
|
||||||
|
text-align: left;
|
||||||
|
font-size: medium;
|
||||||
|
text-justify: auto;
|
||||||
|
padding-left: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nom_prenom {
|
||||||
|
font-family: "verdana", "Quicksand", "Signika", sans-serif;
|
||||||
|
font-size: small;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img_gauche_taille {
|
||||||
|
max-width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.okUpdateData {
|
||||||
|
font-size: small;
|
||||||
|
color: green;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.koUpdateData {
|
||||||
|
font-size: small;
|
||||||
|
color: red;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img_logo {
|
||||||
|
display: block;
|
||||||
|
height: auto;
|
||||||
|
margin-left: 0px;
|
||||||
|
margin-right: auto;
|
||||||
|
max-width: 30%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.containerBox {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_row2 {
|
||||||
|
float: left;
|
||||||
|
//border:0px solid black;
|
||||||
|
border-width: 0.01rem;
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 0.1rem;
|
||||||
|
//border-radius: 1rem;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_row_haut {
|
||||||
|
float: left;
|
||||||
|
//border:1px solid black;
|
||||||
|
//border-width: 0.01rem;
|
||||||
|
width: 100%;
|
||||||
|
//border-radius: 1rem;
|
||||||
|
background-color: #3b3e40;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_row_bas {
|
||||||
|
float: right;
|
||||||
|
width: 100%;
|
||||||
|
height: 10rem;
|
||||||
|
background-color: #e7f3fb;
|
||||||
|
z-index: 10;
|
||||||
|
background: url("../../mysy_img/MYSY-banner-compte_v2.png") no-repeat;
|
||||||
|
-webkit-background-size: cover;
|
||||||
|
-moz-background-size: cover;
|
||||||
|
-o-background-size: cover;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_mobile {
|
||||||
|
position: absolute;
|
||||||
|
top: 8rem;
|
||||||
|
z-index: 1;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pieddepage {
|
||||||
|
z-index: 0;
|
||||||
|
width: 100%;
|
||||||
|
float: left;
|
||||||
|
margin-top: 10rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menuPrincipal {
|
||||||
|
font-family: "Quicksand", "Signika", "sans-serif";
|
||||||
|
color: white;
|
||||||
|
width: 23%;
|
||||||
|
float: right;
|
||||||
|
cursor: pointer;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1rem;
|
||||||
|
border: 2px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menuPrincipal:hover {
|
||||||
|
color: #81bc3a;
|
||||||
|
font-weight: bold;
|
||||||
|
padding-left: 0;
|
||||||
|
transition: color 0.3s linear;
|
||||||
|
letter-spacing: 0.2rem;
|
||||||
|
text-decoration: solid;
|
||||||
|
text-underline-offset: 3px;
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
border-bottom-style: solid;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_001 {
|
||||||
|
width: 90%;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_002 {
|
||||||
|
float: left;
|
||||||
|
width: 50%;
|
||||||
|
text-align: left;
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_003 {
|
||||||
|
float: left;
|
||||||
|
width: 50%;
|
||||||
|
text-align: right;
|
||||||
|
color: white;
|
||||||
|
margin-top: 1.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_004 {
|
||||||
|
color: white;
|
||||||
|
width: 100%;
|
||||||
|
height: 0.1rem;
|
||||||
|
opacity: 100%;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
float: left;
|
||||||
|
margin: 0.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_005 {
|
||||||
|
width: 100%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hilightsoustitre {
|
||||||
|
background: #113459;
|
||||||
|
color: #fff;
|
||||||
|
display: block;
|
||||||
|
font-size: 1rem;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text_head {
|
||||||
|
color: white;
|
||||||
|
font-family: "verdana", "Quicksand", "Signika", "sans-serif";
|
||||||
|
font-size: 1.1rem;
|
||||||
|
width: 90%;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.titre {
|
||||||
|
width: 99%;
|
||||||
|
margin-left: 5px;
|
||||||
|
height: 80px;
|
||||||
|
padding-top: 10px;
|
||||||
|
|
||||||
|
font-family: 'Albert Sans';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: 30px;
|
||||||
|
line-height: 38px;
|
||||||
|
/* identical to box height */
|
||||||
|
|
||||||
|
text-align: center;
|
||||||
|
letter-spacing: 1px;
|
||||||
|
|
||||||
|
/* Deep Blue */
|
||||||
|
|
||||||
|
color: #0A043C;
|
||||||
|
|
||||||
|
|
||||||
|
/* Inside auto layout */
|
||||||
|
|
||||||
|
flex: none;
|
||||||
|
order: 0;
|
||||||
|
flex-grow: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (min-width: 992px) and (max-width: 1199px) {
|
||||||
|
.media_sociaux {
|
||||||
|
svg {
|
||||||
|
margin-top: 0 !important;
|
||||||
|
text-align: left !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.SocialIcon {
|
||||||
|
height: 30px !important;
|
||||||
|
width: 30px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_carte {
|
||||||
|
width: 70%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_adresse {
|
||||||
|
width: 29%;
|
||||||
|
float: left;
|
||||||
|
text-justify: auto;
|
||||||
|
padding-left: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nom_prenom {
|
||||||
|
font-family: "verdana", "Quicksand", "Signika", sans-serif;
|
||||||
|
font-size: medium;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.okUpdateData {
|
||||||
|
font-size: medium;
|
||||||
|
color: green;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.koUpdateData {
|
||||||
|
font-size: medium;
|
||||||
|
color: red;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img_logo {
|
||||||
|
display: block;
|
||||||
|
height: auto;
|
||||||
|
margin-left: 0px;
|
||||||
|
margin-right: auto;
|
||||||
|
max-width: 20%;
|
||||||
|
max-height: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.containerBox {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_row2 {
|
||||||
|
float: left;
|
||||||
|
//border:0px solid black;
|
||||||
|
border-width: 0.01rem;
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 0.1rem;
|
||||||
|
//border-radius: 1rem;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_row_haut {
|
||||||
|
float: left;
|
||||||
|
//border:1px solid black;
|
||||||
|
//border-width: 0.01rem;
|
||||||
|
width: 100%;
|
||||||
|
//border-radius: 1rem;
|
||||||
|
background-color: #3b3e40;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_row_bas {
|
||||||
|
float: right;
|
||||||
|
width: 100%;
|
||||||
|
height: 10rem;
|
||||||
|
background-color: #e7f3fb;
|
||||||
|
z-index: 10;
|
||||||
|
background: url("../../mysy_img/MYSY-banner-compte_v2.png") no-repeat;
|
||||||
|
-webkit-background-size: cover;
|
||||||
|
-moz-background-size: cover;
|
||||||
|
-o-background-size: cover;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_mobile {
|
||||||
|
position: absolute;
|
||||||
|
top: 8rem;
|
||||||
|
z-index: 1;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pieddepage {
|
||||||
|
z-index: 0;
|
||||||
|
width: 100%;
|
||||||
|
float: left;
|
||||||
|
margin-top: 5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menuPrincipal {
|
||||||
|
font-family: "Quicksand", "Signika", "sans-serif";
|
||||||
|
color: white;
|
||||||
|
width: 20%;
|
||||||
|
float: right;
|
||||||
|
cursor: pointer;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1rem;
|
||||||
|
border: 2px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menuPrincipal:hover {
|
||||||
|
color: #81bc3a;
|
||||||
|
padding-left: 0;
|
||||||
|
transition: color 0.3s linear;
|
||||||
|
letter-spacing: 0.1rem;
|
||||||
|
text-decoration: solid;
|
||||||
|
text-underline-offset: 3px;
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
border-bottom-style: solid;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_001 {
|
||||||
|
width: 90%;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_002 {
|
||||||
|
float: left;
|
||||||
|
width: 50%;
|
||||||
|
text-align: left;
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_003 {
|
||||||
|
float: left;
|
||||||
|
width: 50%;
|
||||||
|
text-align: right;
|
||||||
|
color: white;
|
||||||
|
margin-top: 1.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_004 {
|
||||||
|
color: white;
|
||||||
|
width: 100%;
|
||||||
|
height: 0.1rem;
|
||||||
|
opacity: 100%;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
float: left;
|
||||||
|
margin: 0.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_005 {
|
||||||
|
width: 100%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hilightsoustitre {
|
||||||
|
background: #113459;
|
||||||
|
color: #fff;
|
||||||
|
display: block;
|
||||||
|
font-size: 1rem;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text_head {
|
||||||
|
color: white;
|
||||||
|
font-family: "verdana", "Quicksand", "Signika", "sans-serif";
|
||||||
|
font-size: 1.1rem;
|
||||||
|
width: 90%;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.titre {
|
||||||
|
width: 99%;
|
||||||
|
margin-left: 5px;
|
||||||
|
height: 80px;
|
||||||
|
padding-top: 10px;
|
||||||
|
|
||||||
|
font-family: 'Albert Sans';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: 40px;
|
||||||
|
line-height: 48px;
|
||||||
|
/* identical to box height */
|
||||||
|
|
||||||
|
text-align: center;
|
||||||
|
letter-spacing: 1px;
|
||||||
|
|
||||||
|
/* Deep Blue */
|
||||||
|
|
||||||
|
color: #0A043C;
|
||||||
|
|
||||||
|
|
||||||
|
/* Inside auto layout */
|
||||||
|
|
||||||
|
flex: none;
|
||||||
|
order: 0;
|
||||||
|
flex-grow: 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (min-width: 1200px) {
|
||||||
|
.media_sociaux {
|
||||||
|
svg {
|
||||||
|
margin-top: 0 !important;
|
||||||
|
text-align: left !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.SocialIcon {
|
||||||
|
height: 35px !important;
|
||||||
|
width: 35px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_carte {
|
||||||
|
width: 70%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_adresse {
|
||||||
|
width: 29%;
|
||||||
|
float: left;
|
||||||
|
text-justify: auto;
|
||||||
|
padding-left: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nom_prenom {
|
||||||
|
font-family: "verdana", "Quicksand", "Signika", sans-serif;
|
||||||
|
font-size: medium !important;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.okUpdateData {
|
||||||
|
font-size: large;
|
||||||
|
color: green;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.koUpdateData {
|
||||||
|
font-size: large;
|
||||||
|
color: red;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img_logo {
|
||||||
|
display: block;
|
||||||
|
height: auto;
|
||||||
|
margin-left: 0px;
|
||||||
|
margin-right: auto;
|
||||||
|
max-width: 18%;
|
||||||
|
max-height: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.containerBox {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_row2 {
|
||||||
|
float: left;
|
||||||
|
//border:0px solid black;
|
||||||
|
border-width: 0.01rem;
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 0.1rem;
|
||||||
|
//border-radius: 1rem;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_row_haut {
|
||||||
|
float: left;
|
||||||
|
//border:1px solid black;
|
||||||
|
//border-width: 0.01rem;
|
||||||
|
width: 100%;
|
||||||
|
//border-radius: 1rem;
|
||||||
|
background-color: #3b3e40;
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_row_bas {
|
||||||
|
float: right;
|
||||||
|
width: 100%;
|
||||||
|
height: 10rem;
|
||||||
|
background-color: #e7f3fb;
|
||||||
|
z-index: 10;
|
||||||
|
background: url("../../mysy_img/MYSY-banner-compte_v2.png") no-repeat;
|
||||||
|
-webkit-background-size: cover;
|
||||||
|
-moz-background-size: cover;
|
||||||
|
-o-background-size: cover;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_mobile {
|
||||||
|
position: absolute;
|
||||||
|
top: 8rem;
|
||||||
|
z-index: 1;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pieddepage {
|
||||||
|
z-index: 0;
|
||||||
|
width: 100%;
|
||||||
|
float: left;
|
||||||
|
margin-top: 5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menuPrincipal {
|
||||||
|
font-family: "Quicksand", "Signika", "sans-serif";
|
||||||
|
color: white;
|
||||||
|
width: 20%;
|
||||||
|
float: right;
|
||||||
|
cursor: pointer;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1.1rem;
|
||||||
|
border: 2px solid transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menuPrincipal:hover {
|
||||||
|
color: #81bc3a;
|
||||||
|
padding-left: 0;
|
||||||
|
transition: color 0.3s linear;
|
||||||
|
letter-spacing: 0.1rem;
|
||||||
|
text-decoration: solid;
|
||||||
|
text-underline-offset: 3px;
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
border-bottom-style: solid;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_001 {
|
||||||
|
width: 90%;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_002 {
|
||||||
|
float: left;
|
||||||
|
width: 50%;
|
||||||
|
text-align: left;
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_003 {
|
||||||
|
float: left;
|
||||||
|
width: 50%;
|
||||||
|
text-align: right;
|
||||||
|
color: white;
|
||||||
|
margin-top: 1.2rem;
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_004 {
|
||||||
|
color: white;
|
||||||
|
width: 100%;
|
||||||
|
height: 0.1rem;
|
||||||
|
opacity: 100%;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
float: left;
|
||||||
|
margin: 0.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.div_005 {
|
||||||
|
width: 100%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hilightsoustitre {
|
||||||
|
background: #113459;
|
||||||
|
color: #fff;
|
||||||
|
display: block;
|
||||||
|
font-size: 1rem;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text_head {
|
||||||
|
color: white;
|
||||||
|
font-family: "verdana", "Quicksand", "Signika", "sans-serif";
|
||||||
|
font-size: 1.2rem;
|
||||||
|
width: 90%;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.titre {
|
||||||
|
height: 80px;
|
||||||
|
padding-top: 10px;
|
||||||
|
|
||||||
|
font-family: 'Albert Sans';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: 40px;
|
||||||
|
line-height: 48px;
|
||||||
|
|
||||||
|
text-align: center;
|
||||||
|
letter-spacing: 1px;
|
||||||
|
|
||||||
|
/* Deep Blue */
|
||||||
|
|
||||||
|
color: #0A043C;
|
||||||
|
|
||||||
|
|
||||||
|
/* Inside auto layout */
|
||||||
|
|
||||||
|
flex: none;
|
||||||
|
order: 0;
|
||||||
|
flex-grow: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -2620,6 +2620,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.DialogContent_width_session_800px {
|
||||||
|
width: 800px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.div_row_gauche_dialog_session {
|
.div_row_gauche_dialog_session {
|
||||||
|
|
|
@ -132,3 +132,4 @@
|
||||||
@import "./components/recherchearticles_new_v2_style";
|
@import "./components/recherchearticles_new_v2_style";
|
||||||
@import "./components/quisommesnous_v4";
|
@import "./components/quisommesnous_v4";
|
||||||
@import "./components/fonctionnalite_v1";
|
@import "./components/fonctionnalite_v1";
|
||||||
|
@import "./components/addarticleavis";
|
Loading…
Reference in New Issue