{% extends 'front/layout.html.twig' %}
{% block title %}Informations du compte parents | Les Bons Profs
{% endblock %}
{% block nav %}
{% endblock %}
{% block stylesheet %}
{{ encore_entry_link_tags('offre') }}
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '334520913601498');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=334520913601498&ev=PageView&noscript=1"
/></noscript>
{% endblock %}
{% block body %}
<div class="page-mission-bacbrevet">
<header class="hearder-main">
<div class="container mb-4">
<div class="d-flex flex-row justify-content-md-between justify-content-center align-items-center w-100">
<div class="d-flex justify-content-center mb-4">
<img style="width: 250px" class="h-100" src="{{ asset('static/img/commun/logo.png') }}"/>
</div>
<div class="text-md-end text-center d-md-inline d-none text-white">
Besoin d'aide ? Sabrina vous répond au 01 86 95 72 01 du lundi au jeudi de 9h à 17h
</div>
</div>
</div>
<div>
<div class="text-center title-page">
Mission {{ titleExam }} <span>2025</span>
</div>
<div class="text-center grab-page">
vos annales corrigées en vidéo
</div>
</div>
</header>
<div class="container">
<div class="step-indicator d-flex flex-row mb-4">
<div class="d-flex justify-content-center align-items-center">
<span>1</span>
</div>
<div class="d-flex justify-content-center align-items-center">
<span>2</span>
</div>
<div class="d-flex justify-content-center align-items-center">
<span>3</span>
</div>
</div>
{% if typeOffer.id == 4 %}
<div class="d-flex flex-row mb-5">
<div>Pour accèder au <strong class="text-uppercase">Mission Bac de Français Technologique</strong> <a class="btn fw-bold text-white ms-4" style="background-color: #D34479;" href="{{ path('choice-mission') }}?mission=bac-francais-techno">c'est par ici ! </a> </div>
</div>
{% endif %}
<div class="row pb-4">
<div class="col-md-6 order-md-2 order-2 md-mb-0 mb-4">
<h4 class="mb-4">Les Bons Profs ont déjà aidé plus de 2 millions d'élèves à réussir leur examen</h4>
{% if typeOffer %}
<div>
{{ typeOffer.description|raw }}
</div>
{% endif %}
</div>
<form id="form-1" action="" method="post" class="col-md-6 order-md-1 order-1 md-mb-0 mb-5">
<div class="col-md-8 mb-4">
<select class="form-select mb-4" name="price">
{% if missionsPrice|length > 1 %}
<option data-price="0" value="">Choisissez votre Mission {{ titleExam }}</option>
{% endif %}
{% for mp in missionsPrice %}
<option {% if getPrice == mp.id or missionsPrice|length == 1 %}selected{% endif%} data-price="{{ mp.price }}" data-oldprice="{{ mp.oldPrice }}" data-nbr="{{ mp.nbrDis }}" value="{{ mp.id }}">{{ mp.title }}</option>
{% endfor %}
</select>
{% if typeOffer and typeOffer.displayPack %}
<div>
<h4 class="mb-3">Choisissez votre/vos matière(s) :</h4>
<div>
{% for dis in packs %}
<div class="form-check mb-2">
<input class="form-check-input{% if dis.id not in listMissionCustomer %} checkbox-discipline{% endif %}" type="checkbox" value="{{ dis.id }}" name="dis[]" id="flexCheckDefault-{{ loop.index }}" {% if dis.id in listMissionCustomer %}disabled {% endif %}>
<label class="form-check-label" for="flexCheckDefault-{{ loop.index }}">
{{ dis.title }}
</label>
</div>
{% endfor %}
</div>
</div>
{% endif %}
</div>
<div class="col-md-12">
<div class="bg-light p-3 d-none" id="recap-basket">
<div class="d-flex justify-content-between mb-4">
<div style="width: 80%">
<div class="fw-bolder" style="font-size: 16px">Mission {{ titleExam }} {% if typeOffer and typeOffer.displayPack %}<span class="nbr-discipline"></span> matière(s){% endif %} </div>
{% if typeOffer and typeOffer.displayPack %}
<div>Liste des produits sélectionnés : <span id="list-disc"></span></div>
{% endif %}
</div>
<div class="text-end" style="width: 20%">
<span class="text-decoration-line-through oldPrice" style="font-size: 12px;"></span>
<span class="realPrice fw-bolder"></span>
</div>
</div>
{% if typeOffer %}
<div>
{{ typeOffer.grab|raw }}
</div>
{% endif %}
</div>
<hr/>
<div class="col-md-6">
<div class="mb-3">Code promo</div>
<div class="input-group">
<input type="text" class="form-control" placeholder="Ecrivez le ici" aria-label="Recipient's username" aria-describedby="button-addon2">
<button class="btn btn-outline-secondary btn-purple" type="button" id="button-code-promo">Valider</button>
</div>
</div>
<div class="col-md-12">
<hr/>
<div class="d-flex flex-row justify-content-between">
<div class="d-flex flex-row align-items-center">
<h4 class="mb-0 me-1">Total panier : </h4>
<div class="code-promo-text">remise appliquée <span class="fw-bold"></span></div>
</div>
<div class="">
<span class="toto-basket fw-bold fs-3"></span>
<button class="ms-3 btn btn-purple" id="but-submit-form">Acheter</button>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
{% if not popinChoiceMission %}
<div class="modalcustom" id="popinChoiceMission">
<h4 class="mb-4 text-center">Veuillez sélectionner<br/> votre mission</h4>
<a class="d-block" href="{{ path('choice-mission') }}?mission=bac">Mission Bac <span>2025</span></a>
<a class="d-block" href="{{ path('choice-mission') }}?mission=bac-francais">Mission Bac Français <span>2025</span></a>
<a class="d-block" href="{{ path('choice-mission') }}?mission=bac-francais-techno">Mission Bac Français Techno <span>2025</span></a>
<a class="d-block" href="{{ path('choice-mission') }}?mission=brevet">Mission Brevet <span>2025</span></a>
</div>
{% endif %}
{% endblock %}
{% block javascript %}
{{ encore_entry_script_tags('offre') }}
<script type="text/javascript">
$(document).ready(function(){
{% if not popinChoiceMission %}
$('#popinChoiceMission').modalcustom({
closeExisting: false,
showClose: false,
clickClose:false
})
{% endif %}
$('#but-submit-form').click(function(e){
e.preventDefault();
var nbr = $('select[name="price"] option:selected').data('nbr');
if(nbr){
if($('.checkbox-discipline:checked').length == nbr {% if getMission %} || {{ getMission!='bac'?'true':'false' }}{% endif %}){
var som = $('select[name="price"] option:selected').data('price');
if($('#button-code-promo').is("[data-percent]")){
var percent = $('#button-code-promo').attr('data-percent');
som = som - som*(parseFloat(percent)/100);
}
fbq('track', 'AddToCart', {
content_name: $('[name="price"] option:selected').text(),
content_category: '{{ typeOffer.title|upper }}',
content_ids: [$('[name="price"]').val()],
content_type: 'product',
value: som,
currency: 'EUR'
});
$(this).parents('form').submit();
}else{
$('#show-dialog').find('.infos-text').text("Veuillez selectionner "+nbr+" matière(s)")
$('#show-dialog').modalcustom()
}
}else{
$('#show-dialog').find('.infos-text').text("Veuillez selectionner une mission.")
$('#show-dialog').modalcustom()
}
})
$('.checkbox-discipline').change(function(){
var nbr = $('select[name="price"] option:selected').data('nbr');
if($('.checkbox-discipline:checked').length<=nbr){
var join = [];
$('.checkbox-discipline:checked').each(function(){
join.push($(this).next().text().trim())
})
$('#list-disc').text(join.join(', '))
if($('.checkbox-discipline:checked').length==nbr){
$('.checkbox-discipline:not(:checked)').attr('disabled','disabled');
}else{
if($('.checkbox-discipline:checked').length<nbr){
$('.checkbox-discipline:not(:checked)').removeAttr('disabled');
}
}
}
})
$('select[name="price"]').change(function(){
var selectPrice = $(this).val();
$('.checkbox-discipline').removeAttr('disabled');
if(selectPrice!=""){
var price = $('select[name="price"] option:selected').data('price');
var oldPrice = $('select[name="price"] option:selected').data('oldprice');
var nbr = $('select[name="price"] option:selected').data('nbr');
var som = price;
var percent = 0;
if($('#button-code-promo').is("[data-percent]")){
percent = $('#button-code-promo').attr('data-percent');
som = price - price*(parseFloat(percent)/100);
}
var pricetext = new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR',}).format(som)
$('.toto-basket').text(pricetext);
$('#recap-basket').find('.nbr-discipline').text(nbr)
$('#recap-basket').find('.realPrice').text(new Intl.NumberFormat('fr-FR', { style: 'currency',currency: 'EUR', }).format(price))
if(oldPrice!="")
$('#recap-basket').find('.oldPrice').text(new Intl.NumberFormat('fr-FR', { style: 'currency',currency: 'EUR', }).format(oldPrice))
$('#recap-basket').removeClass('d-none')
}else{
$('.toto-basket').text("");
}
})
{% if missionsPrice|length==1 %}
$('select[name="price"]').change();
{% endif %}
$('#button-code-promo').click(function(e){
e.preventDefault()
var priceId = $('select[name="price"]').val();
if(priceId!=''){
var self = $(this);
self.parents('.input-group').find('input').removeClass('is-invalid');
var coupon = $(this).parents('.input-group').find('input').val();
$.ajax({
url:"{{ path('valid_coupon') }}",
data:"coupon="+coupon,
success:function(elem){
self.parents('.input-group').find('input').val('');
var verif = true;
if(elem.success){
if(elem.data.allowOffer.length>0 && !elem.data.allowOffer.includes(parseInt(priceId))){
verif = false;
}
if(verif){
if($('#form-1').find('input[name="discount"]').length==0){
$('#form-1').append('<input type="hidden" name="discount" value="'+elem.data.code+'"/>')
}else{
$('#form-1').find('input[name="discount"]').val(elem.data.code);
}
var percent = elem.data.percent;
self.attr('data-percent',percent);
var price = $('select[name="price"] option:selected').data('price');
$('.code-promo-text').find('span').text(elem.data.percent+" %")
$('.code-promo-text').show();
if(price){
price = price - price*(parseFloat(percent)/100);
var pricetext = new Intl.NumberFormat('fr-FR', {
style: 'currency',
currency: 'EUR',
}).format(price);
$('.toto-basket').text(pricetext);
}
}
}
if(!elem.success || !verif){
self.parents('.input-group').parent().find('.invalid-feedback').text('').text('Ce code promo est invalide !');
if(!self.parents('.input-group').find('input').hasClass('is-invalid')){
self.parents('.input-group').find('input').addClass('is-invalid');
}
}
}
})
}else{
alert("Veuillez choisir une mission");
}
})
})
</script>
{{ parent() }}
{% endblock %}
{% block footer %}
{% endblock %}