{% extends 'base.html.twig' %}
{% block body %}
<style>
/* Général */
body {
font-family: 'Roboto', sans-serif;
background-color: #F7F7F7;
color: #333;
line-height: 1.6;
margin: 0;
padding: 0;
}
/* Conteneurs et sections */
.rectangle {
border-radius: 10px;
border: 1px solid #B0C4DE;
padding: 30px;
margin-left: 50px;
margin-bottom: 30px;
background-color: #FFF;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
overflow-wrap: break-word;
word-wrap: break-word;
overflow-x: hidden;
height: auto;
}
.summary-container {
background-color: #FFF;
border: 1px solid #B0C4DE;
border-radius: 10px;
padding: 25px;
margin-bottom: 20px;
margin-left: 50px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
overflow-wrap: break-word;
word-wrap: break-word;
overflow-x: hidden;
height: auto;
width: 100%; /* Pour qu'il prenne toute la largeur de sa colonne */
max-width: 400px;
}
/* Titres et en-têtes */
.Title {
font-family: 'Roboto', sans-serif;
font-size: 36px;
font-weight: 700;
color: #004080;
margin-bottom: 10px;
}
.second-title {
font-family: 'Roboto', sans-serif;
font-size: 28px;
color: #66B2FF;
margin-bottom: 20px;
}
.sous-titre {
font-size: 24px;
color: #004080;
border-bottom: 2px solid #66B2FF;
margin-bottom: 15px;
padding-bottom: 5px;
}
.RefMission {
font-size: 16px;
font-weight: bold;
color: #a3a3a3;
margin-bottom: 30px;
}
.vp {
font-size: 18px;
color: #333;
margin-bottom: 40px;
}
/* Boutons */
.large-button2 {
background-color: #0056b3;
color: white;
font-size: 20px;
width: 160px;
padding: 12px 0;
border: none;
border-radius: 8px;
cursor: pointer;
text-align: center;
transition: background-color 0.3s, transform 0.3s;
display: flex;
align-items: center;
justify-content: center;
}
.large-button2:hover {
background-color: #0056b3;
transform: translateY(-2px);
}
.large-button2 i {
margin-right: 8px;
}
/* Informations supplémentaires */
.summary-header {
font-size: 24px;
font-weight: bold;
color: #004080;
border-bottom: 1px solid #ccc;
margin-bottom: 20px;
padding-bottom: 5px;
}
.summary-content p {
margin: 5px 0;
font-size: 18px;
color: #004080;
}
.summary-content .value {
font-size: 1em;
width: auto;
}
/* Statut */
.status-header {
font-size: 22px;
font-weight: 700;
color: #66B2FF;
margin-top: 25px;
text-align: center;
padding: 10px;
}
.status-content {
font-size: 20px;
font-weight: bold;
color: #004080;
text-align: center;
background-color: #E6F2FA;
padding: 15px;
border-radius: 8px;
border: 1px solid #B0C4DE;
}
/* Mise en page et formulaires */
.form-inline {
display: flex;
align-items: center;
margin-left: 40px;
}
.block {
margin-left: 60px;
}
.move-left {
margin-left: -20px;
}
.prefix {
color: #66B2FF;
font-size: 0.9em;
font-weight: normal;
}
/* Styles pour la liste des compétences */
.competences-list {
list-style-type: none;
padding: 0;
}
.competence-item {
display: flex;
justify-content: space-between; /* Aligne les éléments à gauche et à droite */
align-items: center;
padding: 10px;
border-bottom: 1px solid #ddd;
}
.competence-info {
display: flex;
flex: 1; /* Occupe tout l'espace disponible à gauche */
font-size: 18px;
}
.categorie {
min-width: 120px; /* Largeur minimale fixe pour la catégorie */
}
.libelle {
margin-left: 10px; /* Espacement entre catégorie et libellé */
flex: 1;
}
.stars-container {
display: flex;
margin-left: 10px;
justify-content: flex-end; /* Aligne les étoiles à droite */
}
.star {
font-size: 25px;
color: #ddd; /* couleur des étoiles non remplies */
}
.star.filled {
color: #f39c12; /* couleur des étoiles remplies */
}
.large-button3 {
background-color:rgb(30, 150, 225)!important;
border-radius:rgb(30, 150, 225)!important;
width: 200px;
margin-left: -60px;
}
</style>
<div class="block row pt-5">
<div class="col-md-8">
<div class="row rectangle">
<div class="col-md-10">
<h2 class="Title">{{ laMission.titre }}</h2>
<h3 class="second-title mb-4">
<span class="prefix">Mission proposée par :</span> {% if laMission.confidentialite == 1 %}
Confidentiel
{% else %}
{{ laMission.entrepriseconcernee }}
{% endif %}
</h3>
<p class="text-muted RefMission">
<u>Ref :</u> {{ laMission.referencemission }}</p>
</div>
<div class="col-md-2">
{% if hasAlreadyApplied %}
<button type="button" class="btn btn-secondary mt-3 large-button3 move-left" disabled>
<i class="fas fa-times-circle"></i> Vous avez déjà postulé
</button>
{% elseif laMission.statut == 0 %}
<button type="button" class="btn btn-secondary mt-3 large-button2 move-left" disabled>
<i class="fas fa-times-circle"></i> Postuler
</button>
{% else %}
<a type="button" href="{{ path('app_postuler', { 'missionId': laMission.id }) }}" class="btn btn-primary mt-3 large-button2 move-left">
<i class="fas fa-check-circle"></i> Postuler
</a>
{% endif %}
</div>
</div>
<div class="rectangle">
<h2 class="sous-titre mb-4">À propos de l'entreprise :</h2>
<p class="vp">{{ laMission.livrable|nl2br }}</p>
<h2 class="sous-titre mb-4">Votre Mission :</h2>
<p class="vp">{{ laMission.contexte|nl2br }}</p>
<h2 class="sous-titre mb-4">Objectifs à atteindre :</h2>
<p class="vp">{{ laMission.objectifs|nl2br }}</p>
<h2 class="sous-titre mb-4">Compétences requises :</h2>
{% if competence is not empty %}
<ul class="competences-list">
{% for competence in competence %}
<li>
<div class="competence-info">
<span class="categorie">{{ competence.categorie }} : </span>
<span class="libelle">{{ competence.libelle }}</span
</div>
<div class="stars-container">
{% for i in 1..5 %}
<span class="star {% if i <= competence.niveaucompetence %}filled{% endif %}">★</span>
{% endfor %}
</div>
</li>
{% else %}
<li>Aucune compétence ajoutée.</li>
{% endfor %}
</ul>
{% else %}
<p>Aucune compétence requise pour cette mission.</p>
{% endif %}
</div>
</div>
<div class="col-md-3 container">
<div class="summary-container">
<div class="summary-header">Informations</div>
<div class="summary-content">
<p class="vp">
<span class="label"><i class="fas fa-tasks"></i> Type :</span>
<span class="value">{{ laMission.modalite }}</span>
</p>
<p class="vp">
<span class="label"><i class="fas fa-calendar-alt"></i> Début :</span>
<span class="value">{{ laMission.datedebut|date('d/m/Y') }}</span>
</p>
<p class="vp">
<span class="label"><i class="fas fa-hourglass-half"></i> Durée :</span>
<span class="value">{{ laMission.duree }} {{ laMission.uniteduree }} mois</span>
</p>
<p class="vp">
<span class="label"><i class="fas fa-euro-sign"></i> Budget :</span>
<span class="value">
{% if laMission.budget == 0 or laMission.budget is null %}
Non renseigné
{% else %}
{{ laMission.budget }} €
{% endif %}
</span>
</p>
<p class="vp">
<span class="label"><i class="fas fa-map-marker-alt"></i> Lieu :</span>
<span class="value">{{ laMission.cp }}, {{ laMission.ville }}</span>
</p>
<p class="vp">
<span class="label"><i class="{{ laMission.experiencedmd > 5 ? 'fas fa-user-tie' : (laMission.experiencedmd > 1 ? 'fas fa-user' : 'fas fa-user-graduate') }}"></i> Expérience demandée :</span>
<span class="value">
{{ laMission.experiencedmd }} {{ laMission.experiencedmd > 1 ? 'ans' : 'an' }}
</span>
</p>
</div>
<div class="status-header">Statut de la mission :</div>
<div class="status-content">{{ laMission.statut ? 'Ouvert' : 'Fermé' }}</div>
</div>
</div>
<div class="col-md-1"></div>
<div class="button-group"></div>
</div>
{% endblock %}
{% block javascripts %}
{% include "include/_modale.html.twig" %}
{% endblock %}