Fix links

This commit is contained in:
Sébastien GLATZ
2019-08-05 11:56:25 +02:00
parent baf8c7cea0
commit c3517cdced
3 changed files with 196 additions and 180 deletions
+74 -70
View File
@@ -61,6 +61,10 @@ const styles = theme => ({
display: 'flex',
flexDirection: 'column',
margin: theme.spacing(0, 1.5),
'& a': {
textDecoration: 'none',
color: theme.palette.primary.dark,
}
},
logoContainer: {
display: 'flex',
@@ -258,7 +262,9 @@ function OffreDetail(props) {
<div className={classes.offerInfoContainer}>
<div className={classes.logoContainer}>
<Link href={`/Entreprise/${offre.company.id}`} prefetch >
<Avatar className={classes.logo} classes={{ img: classes.MuiAvatarImg }} src={logoUrl} />
<a>
<Avatar className={classes.logo} classes={{ img: classes.MuiAvatarImg }} src={logoUrl} />
</a>
</Link>
</div>
<div className={classes.infoContainer}>
@@ -266,9 +272,11 @@ function OffreDetail(props) {
{offre.title}
</Typography>
<Link href={`/Entreprise/${offre.company.id}`} prefetch >
<Typography gutterBottom variant="subtitle1" className={classes.companyName}>
{offre.company.brand_name&&offre.company.brand_name}
</Typography>
<a>
<Typography gutterBottom variant="subtitle1" className={classes.companyName}>
{offre.company.brand_name && offre.company.brand_name}
</Typography>
</a>
</Link>
{offre.is_promoted && (
<Chip label="Pourvue" className={classes.chip} />
@@ -297,15 +305,23 @@ function OffreDetail(props) {
<Hidden mdUp>
<section className={classes.headerContainer}>
<div className={classes.logoContainer}>
<Avatar className={classes.logo} classes={{ img: classes.MuiAvatarImg }} src={logoUrl} />
<Link href={`/Entreprise/${offre.company.id}`} prefetch >
<a>
<Avatar className={classes.logo} classes={{ img: classes.MuiAvatarImg }} src={logoUrl} />
</a>
</Link>
</div>
<div className={classes.infoContainer}>
<Typography gutterBottom variant="h5" component="h1" className={classes.title}>
{offre.title}
</Typography>
<Typography gutterBottom variant="subtitle1" className={classes.text}>
{offre.company.brand_name&&offre.company.brand_name}
</Typography>
<Link href={`/Entreprise/${offre.company.id}`} prefetch >
<a>
<Typography gutterBottom variant="subtitle1" className={classes.text}>
{offre.company.brand_name && offre.company.brand_name}
</Typography>
</a>
</Link>
{/* ville */}
</div>
</section>
@@ -316,75 +332,63 @@ function OffreDetail(props) {
</section>
</Hidden>
{!offre.is_promoted && (
<div className={classes.shareContainer}>
<Button
variant="contained"
className={classes.button + ' cypButtonApply'}
onClick={() => Router.push(`/Reponse/${offre.id}`)}
>Postuler</Button>
<Typography className={classes.contentCondition}>
ou
<div className={classes.contentContainer}>
<Typography gutterBottom className={classes.title}>
Détails de l'offre d'emploi
</Typography>
<div className={classes.contentContainer}>
<Typography gutterBottom className={classes.title}>
Détails de l'offre d'emploi
<Hidden smDown>
<section className={classes.IconTextContainerDesktop}>
<IconTextInline classes={{ icon: classes.iconTextIcon, text: classes.iconTextText }} variant="assignment" text={offre.extra.contract_type} />
<IconTextInline classes={{ icon: classes.iconTextIcon, text: classes.iconTextText }} variant="location_on" text={offre.location.gmap_address.formatted_address} />
</section>
</Hidden>
<SimpleCollapse>
<Typography gutterBottom className={classes.contentText}>
{offre.description}
</Typography>
<Hidden smDown>
<section className={classes.IconTextContainerDesktop}>
<IconTextInline classes={{ icon: classes.iconTextIcon, text: classes.iconTextText }} variant="assignment" text={offre.extra.contract_type} />
<IconTextInline classes={{ icon: classes.iconTextIcon, text: classes.iconTextText }} variant="location_on" text={offre.location.gmap_address.formatted_address} />
</SimpleCollapse>
</section>
</Hidden>
<SimpleCollapse>
<Typography gutterBottom className={classes.contentText}>
{offre.description}
</Typography>
</SimpleCollapse>
{!offre.is_promoted && (
<div className={classes.shareContainer}>
<Button
cyp="ButtonApply"
variant="contained"
className={classes.button}
onClick={() => Router.push(`/Reponse/${offre.id}`)}
>Postuler</Button>
<Typography className={classes.contentCondition}>
ou
{!offre.is_promoted && (
<div className={classes.shareContainer}>
<Button
cyp="ButtonApply"
variant="contained"
className={classes.button}
onClick={() => Router.push(`/Reponse/${offre.id}`)}
>Postuler</Button>
<Typography className={classes.contentCondition}>
ou
</Typography>
<Typography gutterBottom className={classes.contentShare}>
Partagez l'offre sur votre réseau
<Typography gutterBottom className={classes.contentShare}>
Partagez l'offre sur votre réseau
</Typography>
<section className={classes.ShareIcons}>
<SocialShare url={typeof window !== 'undefined' ? window.location
: publicRuntimeConfig.frontServerUrl + `/Offre/${offre.id}`} />
</section>
</div>
)}
</div>
</div>
)}
{offre.company.presentation_video && (
<div className={classes.container + ' ' + classes.discoverContainer}>
{!offre.is_promoted && (
<section>
<Typography gutterBottom className={classes.title + ' ' + classes.discoverTitle} align="center">
Découvrir l'entreprise <span className={classes.primary}>{offre.company.brand_name&&offre.company.brand_name}</span>
</Typography>
<Link href={`/Entreprise/${offre.company.id}`} prefetch >
<div className={classes.discoverContainerImage}>
<img src={isWidthUp('sm', props.width) ? imgUrlDesktop : imgUrl} />
<KeyboardArrowleftIcon className={classes.iconPlay} />
</div>
</Link>
<section className={classes.ShareIcons}>
<SocialShare url={typeof window !== 'undefined' ? window.location
: publicRuntimeConfig.frontServerUrl + `/Offre/${offre.id}`} />
</section>
)}
</div>
)}
</div>
)}
</div>
</div>
{offre.company.presentation_video && (
<div className={classes.container + ' ' + classes.discoverContainer}>
{!offre.is_promoted && (
<section>
<Typography gutterBottom className={classes.title + ' ' + classes.discoverTitle} align="center">
Découvrir l'entreprise <span className={classes.primary}>{offre.company.brand_name && offre.company.brand_name}</span>
</Typography>
<Link href={`/Entreprise/${offre.company.id}`} prefetch >
<div className={classes.discoverContainerImage}>
<img src={isWidthUp('sm', props.width) ? imgUrlDesktop : imgUrl} />
<KeyboardArrowleftIcon className={classes.iconPlay} />
</div>
</Link>
</section>
)}
</div>
)}
</Fragment>
)}
</Fragment>
+4 -4
View File
@@ -53,22 +53,22 @@ export default function SocialShare(props) {
return (
<div className={classes.root}>
<Link href={"https://www.facebook.com/sharer/sharer.php?u=" + encodeURIComponent(props.url)} prefetch >
<Link href={"https://www.facebook.com/sharer/sharer.php?u=" + encodeURIComponent(props.url)} >
<a>
<Icon className={clsx(classes.icon, classes.FacebookIcon, 'fab fa-facebook-f')} color="secondary" />
</a>
</Link>
<Link href={"http://twitter.com/share?url=" + encodeURIComponent(props.url)} prefetch >
<Link href={"http://twitter.com/share?url=" + encodeURIComponent(props.url)} >
<a>
<Icon className={clsx(classes.icon, classes.TwitterIcon, 'fab fa-twitter')} color="secondary" />
</a>
</Link>
<Link href={"https://www.linkedin.com/shareArticle?mini=true&url=" +encodeURIComponent( props.url + "&title=Talent's Tube")} prefetch >
<Link href={"https://www.linkedin.com/shareArticle?mini=true&url=" +encodeURIComponent( props.url + "&title=Talent's Tube")} >
<a>
<Icon className={clsx(classes.icon, classes.LinkedinIcon, 'fab fa-linkedin-in')} color="secondary" />
</a>
</Link>
<Link href={"mailto:?subject=Offre d'emploi Talent's Tube&body=Regardez cette offre : " + props.url} prefetch >
<Link href={"mailto:?subject=Offre d'emploi Talent's Tube&body=Regardez cette offre : " + props.url} >
<a>
<Icon className={clsx(classes.icon, classes.MailIcon, 'fas fa-envelope')} color="secondary" />
</a>
+118 -106
View File
@@ -341,131 +341,143 @@ class Entreprise extends React.Component {
</div>
<div className={classes.infoContainer}>
<Typography gutterBottom className={classes.text}>
{company.brand_name&&company.brand_name}
{company.brand_name && company.brand_name}
</Typography>
{(nbOffre != 'Candidature spontanée')?
(<Link href="#discover" prefetch >
<a className={classes.websiteLink}>
{(nbOffre != 'Candidature spontanée') ?
(
<a href="#discover" className={classes.websiteLink}>
<Chip label={nbOffre} className={classes.chip} />
</a>
</Link>)
)
:
(<Chip label={nbOffre} className={classes.chip} />)
}
{/* ville */}
</div>
</div>
<Button
variant="contained"
className={classes.button}
onClick={() => Router.push(`/Reponse/${company.id}`)}
>Candidature spontanée</Button>
</section>
</Hidden>
<section className={classes.video}>
<Plyr autoplay
type="vimeo" // or "vimeo"
videoId={Ar.last(_.split(company.presentation_video.cdn_url, '/'))}
/>
</section>
<div className={classes.container}>
<Hidden mdUp>
<section className={classes.headerContainer}>
<div className={classes.logoContainer}>
<Avatar className={classes.logo} classes={{ img: classes.MuiAvatarImg }} src={logoUrl} />
</div>
<div className={classes.infoContainer}>
<Typography gutterBottom className={classes.text}>
{company.brand_name&&company.brand_name}
</Typography>
<Chip label={nbOffre} className={classes.chip} />
{/* ville */}
</div>
</section>
</Hidden>
<Hidden mdUp>
<section className={classes.IconTextContainer}>
{(company.addresses.billing.city) ?
(<IconText classes={{ root: classes.iconText, icon: classes.iconTextIcon, text: classes.iconTextText }} variant="location_on" text={company.addresses.billing.city} />)
: ''
}
{(company.website) ?
(<IconText classes={{ root: classes.iconText, icon: classes.iconTextIcon, text: classes.iconTextText }} variant="business_center" text={!!company.website ? company.website : "website"} />)
: ''
}
</section>
</Hidden>
<section className={classes.contentContainer}>
<Typography gutterBottom className={classes.title + ' ' + classes.titleBorder}>
Présentation
</Typography>
<Hidden smDown>
<section className={classes.IconTextContainerDesktop}>
<IconTextInline classes={{ icon: classes.iconTextIcon, text: classes.iconTextText }} variant="location_on" text={company.addresses.billing.city} />
{(company.website) ?
(<Link href={!!company.website ? company.website : "website"} prefetch >
<a target="_blank" className={classes.websiteLink}><IconTextInline classes={{ icon: classes.iconTextIcon, text: classes.iconTextText }} variant="business_center" text={!!company.website ? company.website : "website"} /></a>
</Link>)
: ''
}
</section>
</Hidden>
<SimpleCollapse>
<Typography gutterBottom className={classes.contentText}>
{company.description}
</Typography>
<section className={classes.tagsContainer}>
{company.public_tag.map((label, index) => {
return (
<Chip label={label} className={classes.tags} />
);
})}
</section>
</SimpleCollapse>
<div className={classes.shareContainer}>
<Button
variant="contained"
className={classes.button}
onClick={() => Router.push(`/Reponse/${company.id}`)}
>Candidature spontanée</Button>
<Typography className={classes.contentCondition}>
ou
</Typography>
<Typography gutterBottom className={classes.contentShare}>
Partagez l'entreprise sur votre réseau
</Typography>
<section className={classes.ShareIcons}>
<SocialShare url={typeof window !== 'undefined' ? window.location
: publicRuntimeConfig.frontServerUrl + `/Entreprise/${company.id}`} />
</section>
</div>
</section>
</Hidden>
<section className={classes.video}>
<Plyr autoplay
type="vimeo" // or "vimeo"
videoId={Ar.last(_.split(company.presentation_video.cdn_url, '/'))}
/>
</section>
</div>
<div className={classes.container}>
<Hidden mdUp>
<section className={classes.headerContainer}>
<div className={classes.logoContainer}>
<Avatar className={classes.logo} classes={{ img: classes.MuiAvatarImg }} src={logoUrl} />
</div>
<div className={classes.infoContainer}>
<Typography gutterBottom className={classes.text}>
{company.brand_name && company.brand_name}
</Typography>
{(nbOffre != 'Candidature spontanée') ?
(
<a href="#discover" className={classes.websiteLink}>
<Chip label={nbOffre} className={classes.chip} />
</a>
)
:
(<Chip label={nbOffre} className={classes.chip} />)
}
{/* ville */}
</div>
</section>
</Hidden>
<div className={classes.container + ' ' + classes.discoverContainer} id="discover">
<Typography gutterBottom className={classes.title + ' ' + classes.discoverTitle}>
Les offres d'emploi pour <span>{company.brand_name&&company.brand_name}</span>
</Typography>
{company.loading ?
(<Loader />)
: !_.isEmpty(company.ads) ? (
company.ads.map((ad, index) => {
return (
<OffreRow rowData={ad} company={company} classes={{ card: classes.card }} />
);
})
<Hidden mdUp>
<section className={classes.IconTextContainer}>
{(company.addresses.billing.city) ?
(<IconText classes={{ root: classes.iconText, icon: classes.iconTextIcon, text: classes.iconTextText }} variant="location_on" text={company.addresses.billing.city} />)
: ''
}
{(company.website) ?
(<Link href={company.website} prefetch>
<a className={classes.websiteLink} target="_blank" rel="noopener">
<IconText classes={{ root: classes.iconText, icon: classes.iconTextIcon, text: classes.iconTextText }} variant="business_center" text={!!company.website ? company.website : "website"} />
</a>
</Link>
)
: ''
}
</section>
</Hidden>
) : (<NoResult text='Aucun résultat.' />)}
<section className={classes.contentContainer}>
<Typography gutterBottom className={classes.title + ' ' + classes.titleBorder}>
Présentation
</Typography>
<Hidden smDown>
<section className={classes.IconTextContainerDesktop}>
<IconTextInline classes={{ icon: classes.iconTextIcon, text: classes.iconTextText }} variant="location_on" text={company.addresses.billing.city} />
{(company.website) ?
(<Link href={!!company.website ? company.website : "website"} prefetch >
<a target="_blank" className={classes.websiteLink}><IconTextInline classes={{ icon: classes.iconTextIcon, text: classes.iconTextText }} variant="business_center" text={!!company.website ? company.website : "website"} /></a>
</Link>)
: ''
}
</section>
</Hidden>
<SimpleCollapse>
<Typography gutterBottom className={classes.contentText}>
{company.description}
</Typography>
<section className={classes.tagsContainer}>
{company.public_tag.map((label, index) => {
return (
<Chip label={label} className={classes.tags} />
);
})}
</section>
</SimpleCollapse>
<div className={classes.shareContainer}>
<Button
variant="contained"
className={classes.button}
onClick={() => Router.push(`/Reponse/${company.id}`)}
>Candidature spontanée</Button>
<Typography className={classes.contentCondition}>
ou
</Typography>
<Typography gutterBottom className={classes.contentShare}>
Partagez l'entreprise sur votre réseau
</Typography>
<section className={classes.ShareIcons}>
<SocialShare url={typeof window !== 'undefined' ? window.location
: publicRuntimeConfig.frontServerUrl + `/Entreprise/${company.id}`} />
</section>
</div>
</section>
</div>
<div className={classes.container + ' ' + classes.discoverContainer} id="discover">
<Typography gutterBottom className={classes.title + ' ' + classes.discoverTitle}>
Les offres d'emploi pour <span>{company.brand_name && company.brand_name}</span>
</Typography>
{company.loading ?
(<Loader />)
: !_.isEmpty(company.ads) ? (
company.ads.map((ad, index) => {
return (
<OffreRow rowData={ad} company={company} classes={{ card: classes.card }} />
);
})
) : (<NoResult text='Aucun résultat.' />)}
</div>
</div>
</div>
)}
)}
</LayoutCompany>
);
}