Compare commits

..

5 Commits

Author SHA1 Message Date
llaniau 1815b2834e Modif Tel francais 2020-09-20 21:02:02 +02:00
llaniau 27ac00bafb Modif suite recette 18_09 2020-09-19 11:46:12 +02:00
llaniau 6a7024d5ac Suppression bouton connexion linkedin et fb 2020-09-17 16:36:10 +02:00
llaniau 485ccece1e Modif ref 2020-09-16 18:06:22 +02:00
llaniau 1fd45a00a3 Referencement Offre et Modif profil 2020-09-16 11:49:04 +02:00
13 changed files with 56 additions and 43 deletions
+1 -1
View File
@@ -75,7 +75,7 @@ export default function ChatCard(props) {
className={classes.messageDate}
align="center"
>
Envoyée le {(new Date(props.message.c_time)).toLocaleDateString("fr-FR")} à {(new Date(props.message.c_time)).toLocaleTimeString("fr-FR")}
Envoyé le {(new Date(props.message.c_time)).toLocaleDateString("fr-FR")} à {(new Date(props.message.c_time)).toLocaleTimeString("fr-FR")}
</Typography>
</Fragment>
)
+30 -24
View File
@@ -113,8 +113,8 @@ class AccountEtape1 extends Component {
onBlur(e) {
console.log("blur")
this.setState({ [e.target.name]: e.target.value });
console.log("phone=>"+this.state.phone);
this.soumettre();
this.soumettre(e.target.name, "unitaire");
}
@@ -160,12 +160,16 @@ class AccountEtape1 extends Component {
onSubmit = (e) => {
e.preventDefault();
this.soumettre(e);
console.log("submit")
console.log(e.keyCode)
this.soumettre(e.target.name, "global")
}
soumettre(e){
const errors = this.validate(this.state);
soumettre(champ, type){
console.log("soumettre");
console.log(champ);
const errors = this.validate(this.state, champ, type);
const success = {};
this.setState({ errors });
if (!this.state.errors || !this.state.errors.message){
@@ -193,18 +197,19 @@ class AccountEtape1 extends Component {
}
}
validate = data => {
validate(data,champ, type){
console.log("valdiate")
console.log(champ);
const errors = {};
errors.message ="";
//if (!Validator.isEmail(data.currentJob)) errors.message += "Le poste actuel doit etre un email\n";
if (!data.firstname || data.firstname==="") errors.message += "Veuillez saisir votre prénom<br />";
if (!data.lastname || data.lastname==="") errors.message += " Veuillez saisir saisir votre nom<br />";
if (data.phone=="") errors.message += "Veuillez saisir un numéro de téléphone<br />";
if (!data.currentJob || data.currentJob=="") errors.message += "Veuillez saisir votre intitulé de poste actuel ou poste recherché<br />";
if ((data.zipCode && data.zipCode!="") && !Validator.isPostalCode(data.zipCode, "FR")) errors.message += "Le code postal n'est pas correct<br />";
if (type=="global" || (champ=="firstname" && data.firstname=="")) errors.message += "Veuillez saisir votre prénom<br />";
if (type=="global" || (champ=="lastname" && data.lastname=="")) errors.message += " Veuillez saisir saisir votre nom<br />";
if (type=="global" || (champ=="phone" && data.phone=="")) errors.message += "Veuillez saisir un numéro de téléphone<br />";
if (type=="global" || (champ=="currentJob" && data.currentJob=="")) errors.message += "Veuillez saisir votre intitulé de poste actuel ou poste recherché<br />";
if (type=="global" || (champ=="zipCode" && (data.zipCode && data.zipCode!="") && !Validator.isPostalCode(data.zipCode, "FR"))) errors.message += "Le code postal n'est pas correct<br />";
// if ((data.website && data.website!="") && !Validator.isURL(data.website)) errors.message += " Veuillez ajouter un site internet avec une url valide<br />";
// if (!Validator.isMobilePhone(data.phone, "fr-FR") && !Validator.isNumeric(data.phone, "fr-FR")) errors.message += "Le téléphone n'est pas correct<br />";
if (!Validator.isMobilePhone(data.phone, "fr-FR") && !Validator.isNumeric(data.phone, "fr-FR")) errors.message += "Le téléphone n'est pas correct<br />";
//console.log(errors.email);
return errors;
@@ -363,7 +368,7 @@ class AccountEtape1 extends Component {
className={classes.textField}
classes={{ root: classes.rootTextfield }}
variant="outlined"
value={this.state.currentJob && this.state.currentJob !='null' ? this.state.currentJob : ''}
value={this.state.currentJob ? this.state.currentJob : ''}
onChange={this.handleChange}
onBlur={this.onBlur}
/>
@@ -375,7 +380,7 @@ class AccountEtape1 extends Component {
className={classes.textField}
classes={{ root: classes.rootTextfield }}
variant="outlined"
value={this.state.address1 && this.state.address1 !='null' ? this.state.address1 : ''}
value={this.state.address1 ? this.state.address1 : ''}
onChange={this.handleChange}
onBlur={this.onBlur}
/>
@@ -387,7 +392,7 @@ class AccountEtape1 extends Component {
className={classes.textField}
classes={{ root: classes.rootTextfield }}
variant="outlined"
value={this.state.address2 && this.state.address2 !='null' ? this.state.address2 : ''}
value={this.state.address2 ? this.state.address2 : ''}
onChange={this.handleChange}
onBlur={this.onBlur}
/>
@@ -399,7 +404,7 @@ class AccountEtape1 extends Component {
className={classes.textField}
classes={{ root: classes.textFieldSmall }}
variant="outlined"
value={this.state.zipCode && this.state.zipCode !='null' ? this.state.zipCode : ''}
value={this.state.zipCode ? this.state.zipCode : ''}
onChange={this.handleChange}
onBlur={this.onBlur}
/>
@@ -411,7 +416,7 @@ class AccountEtape1 extends Component {
className={classes.textField}
classes={{ root: classes.textFieldSmall }}
variant="outlined"
value={this.state.city && this.state.city !='null' ? this.state.city : ''}
value={this.state.city ? this.state.city : ''}
onChange={this.handleChange}
onBlur={this.onBlur}
/>
@@ -423,7 +428,7 @@ class AccountEtape1 extends Component {
className={classes.textField}
classes={{ root: classes.textFieldSmall }}
variant="outlined"
value={this.state.country && this.state.country !='null' ? this.state.country : ''}
value={this.state.country ? this.state.country : ''}
onChange={this.handleChange}
onBlur={this.onBlur}
/>
@@ -437,7 +442,7 @@ class AccountEtape1 extends Component {
classes={{ root: classes.rootTextfield }}
variant="outlined"
placeholder="http://www.linkedin.com/in/"
value={this.state.linkedin && this.state.linkedin !='null' ? this.state.linkedin : ''}
value={this.state.linkedin ? this.state.linkedin : ''}
onChange={this.handleChange}
onBlur={this.onBlur}
@@ -451,7 +456,7 @@ class AccountEtape1 extends Component {
classes={{ root: classes.rootTextfield }}
variant="outlined"
placeholder="http://twitter.com/.."
value={this.state.twitter && this.state.twitter !='null' ? this.state.twitter : ''}
value={this.state.twitter ? this.state.twitter : ''}
onChange={this.handleChange}
onBlur={this.onBlur}
/>
@@ -464,14 +469,15 @@ class AccountEtape1 extends Component {
classes={{ root: classes.rootTextfield }}
variant="outlined"
placeholder="http://monsite.fr"
value={this.state.website && this.state.website !='null' ? this.state.website : ''}
value={this.state.website ? this.state.website : ''}
onChange={this.handleChange}
onBlur={this.onBlur}
/>
<Button
type="submit"
variant="contained"
color="primary"
onClick={refresh}
className={classes.button}>
Enregistrer
</Button>
+1 -1
View File
@@ -253,7 +253,7 @@ class Etape2 extends React.Component {
src='/statique/images/Import.svg'
className={classes.iconButton}/>
<Typography align="left" className={classes.textButton}>
J'<span className={classes.underlined}>importe</span> ma vidéo de réponse
J'<span className={classes.underlined}>importe</span> ma vidéo de présentation
</Typography>
<KeyboardArrowDownIcon className={classes.InputKeyboardArrowDownIcon}/>
+8 -2
View File
@@ -303,12 +303,17 @@ function OffreDetail(props) {
const entrepriseLink = (offre.company && `/Entreprise/${offre.company.id}-${_.kebabCase(offre.company.brand_name)}`);
const territoryVideoUrlTab = (offre.territories && offre.territories[0] && offre.territories[0].territory) ? offre.territories[0].territory.presentation_video.cdn_url.split('/') : '';
const territoryVideoId = territoryVideoUrlTab[2]
let descriptionSEO = ""
descriptionSEO = offre.company.brand_name + " recrute en vidéo un(e) "+offre.title
offre.location.gmap_address.formatted_address ? descriptionSEO += ", "+offre.location.gmap_address.formatted_address : ""
return (
<Fragment>
{/* {offre.public_tag.map((label, index) => {
descriptionSEO += label+", "
})} */}
<OgHead seo_title={offre.title}
seo_description={offre.description}
seo_description={descriptionSEO}
seo_url={socialShareUrl}
image={imgUrlDesktop}
></OgHead>
@@ -337,6 +342,7 @@ function OffreDetail(props) {
<div className={classes.infoContainer}>
<Typography gutterBottom className={classes.offreTitle}>
{offre.title} {/*- publié le <Moment format="DD/MM/YYYY" date={offre.published_at} /> */}
</Typography>
<a href={entrepriseLink} >
<Typography gutterBottom variant="subtitle1" className={classes.companyName}>
+2 -2
View File
@@ -17,7 +17,7 @@ const styles = theme => ({
card: {
display: 'flex',
minHeight: '21vh',
maxHeight: '32vh',
// maxHeight: '32vh',
borderRadius: '5px',
width: '100%',
cursor: 'pointer',
@@ -38,7 +38,7 @@ const styles = theme => ({
},
[theme.breakpoints.up('md')]: {
minHeight: '15vh',
maxHeight: '20vh',
// maxHeight: '20vh',
},
margin: '1vh 2vh 1vh 2vh',
[theme.breakpoints.up('sm')]: {
+3 -3
View File
@@ -277,15 +277,15 @@ class Register extends React.Component {
S'inscrire
</Button>
<Typography
{/* <Typography
paragraph={true}
align="center"
className={classes.conditionalText}
>Ou</Typography>
>Ou</Typography> */}
</form>
<SocialButtonsAuth linkedInAuth={this.props.linkedInAuth} facebookAuth={this.props.facebookAuth} />
{/* <SocialButtonsAuth linkedInAuth={this.props.linkedInAuth} facebookAuth={this.props.facebookAuth} /> */}
<div classes={classes.form}>
<Typography
+2 -1
View File
@@ -6,6 +6,7 @@ const styles = theme => ({
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
textAlign: 'center',
justifyContent: 'center',
fontFamily: 'Dosis',
fontWeight: '500',
@@ -19,7 +20,7 @@ class Loader extends React.Component {
render() {
const { classes } = this.props;
return (
<div className={classes.loader + ' ' + 'alert alert-info'}><CircularProgress color="primary" />Chargement...</div>
<div className={classes.loader + ' ' + 'alert alert-info'}><CircularProgress color="primary" />Chargement... <br/>Le temps de chargement peut varier de quelques secondes à <b>plusieurs minutes</b> en fonction de la qualité de votre connexion internet.<br/></div>
)
}
+2 -2
View File
@@ -40,9 +40,9 @@ module.exports = withPlugins(
}],
[{
publicRuntimeConfig: {
symphonyUrl: 'https://recruteur.talentstube.com',
symphonyUrl: 'https://pp.talentstube.com',
blogUrl: 'https://blog.talentstube.com',
frontServerUrl: 'https://www.talentstube.com',
frontServerUrl: 'https://pp.app.talentstube.com',
cvThequeUrl: 'https://cvtheque.talentstube.com/',
adListDefaultUrl: '/statique/images/default/default_picture_company.svg',
cachedMediaUrl: '/media/cache/profile_thumb/uploads/img/',
+1 -1
View File
@@ -188,7 +188,7 @@ class Candidature extends React.Component {
{this.props.user.firstname + " " + this.props.user.lastname}
</Typography>
<Typography gutterBottom className={classes.userTextDate}>
Envoyée le {(new Date(this.props.answer.c_time)).toLocaleDateString("fr-FR")}
Envoyé le {(new Date(this.props.answer.c_time)).toLocaleDateString("fr-FR")}
</Typography>
</div>
</section>
+1 -1
View File
@@ -156,7 +156,7 @@ function Help(props) {
<Typography
className={classes.text}
gutterBottom>
Suivez ce <a href="https://blog.talentstube.com/faire-cv-video" target="_blank" >lien</a>
Suivez ce <a href="https://blog.talentstube.com/cv-video" target="_blank" >lien</a>
</Typography>
+3 -3
View File
@@ -316,15 +316,15 @@ class LoginPage extends React.Component {
</Typography>
<Typography
{/* <Typography
paragraph={true}
align="center"
className={classes.conditionalText}
>Ou</Typography>
>Ou</Typography> */}
</form>
<SocialButtonsAuth linkedInAuth={this.linkedInAuth} facebookAuth={this.facebookAuth} />
{/* <SocialButtonsAuth linkedInAuth={this.linkedInAuth} facebookAuth={this.facebookAuth} /> */}
<div className={classes.form}>
<Typography
+1 -1
View File
@@ -163,7 +163,7 @@ class Index extends React.Component {
const imgUrl = DefaultUrl
return (
<Layout>
<OgHead seo_title="Talents Tube : Plateforme de recrutement 100 % vidéo"
<OgHead seo_title="Talents Tube - Plateforme de recrutement en vidéo"
seo_description="Talents Tube est la première plateforme réservée aux offres d'emploi vidéo, vidéo marque employeur et aux CV vidéos. Découvrez une nouvelle méthode de recrutement."
seo_url={socialShareUrl}
image={imgUrl}
+1 -1
View File
@@ -56,7 +56,7 @@ export default function HorizontalNonLinearStepper() {
return (
<Layout>
<Head>
<title key="title">Profile Talents Tube</title>
<title key="title">Profil Talents Tube</title>
<meta key="robots" name="robots" content="noindex, nofollow"></meta>
</Head>
<div >