{{ form_start(form) }}
<div class="theme-input-box">
<label class="style-choix-logo" for="logoEntreprise">Titre</label>
{{ form_row(form.titre,{'attr': {'class': 'theme-input form-control','placeholder': ''}}) }}
</div>
<div class="theme-input-box">
<label class="style-choix-logo" for="logoEntreprise">Écrivez la description de votre produit :</label>
{{ form_row(form.description,{'attr': {'class': 'theme-input form-control','placeholder': ''}}) }}
</div>
<div class="theme-input-box">
<label>Choisissez la catégorie de votre annonce :</label>
{% for res in categories %}
<input type="radio" id="{{res.id}}" name="categories" value="{{res.id}}"
{% if type == 'edit' %}
{% if annonce.categories.id == res.id %}checked{% endif %}
{% endif %} >
<label for="{{res.id}}">{{res.libelle}}</label>
{% endfor %}
</div>
<div class="theme-input-box">
<label>Insérer une image <i class="fas fa-exclamation-circle" data-toggle="tooltip" data-placement="top" title="" data-bs-original-title="Il s'agit d'un fichier privé que seul le propriétaire de l'annonce peut télécharger. Taille maximale 2 Go, tout type de fichier accepté" aria-label="Il s'agit d'un fichier privé que seul le propriétaire de l'annonce peut télécharger. Taille maximale 2 Go, tout type de fichier accepté"></i></label>
<div class="theme-file-upload text-center">
{{ form_row(form.image,{'attr': {'class': 'form-control','placeholder': ''}}) }}
<h3 class="theme-title" style="color: #F6249D;">Cliquez ici pour ajouter une image</h3>
<p class="theme-description">(Fichier autorisé : image (.jpg / .jpeg/ .png / .gif))</p>
</div>
</div>
{% if type == 'edit' %}
<div class="theme-input-box">
<div>
<label style="margin: 0px;">Importer des images supplémentaires <i class="fas fa-exclamation-circle" data-toggle="tooltip" data-placement="top" title="" data-bs-original-title=""></i></label>
<p class="theme-description">La première image importée sera l'image principale</p>
<div class="upload-images-box clearfix">
{% if annonce.image %}
<div class="theme-input-box">
<img src="{{ asset('uploads/annonces/' ~ annonce.image) }}" alt="{{ annonce.titre }}" style="width: 100px;">
</div>
{% endif %}
</div>
</div>
</div>
{% endif %}
<div class="theme-input-box">
<label class="style-choix-logo" for="logoEntreprise">Quantité</label>
{{ form_row(form.quantite,{'attr': {'class': 'theme-input form-control','placeholder': ''}}) }}
</div>
<div class="row">
<div class="theme-input-box col-md-4">
<label class="style-choix-logo" for="logoEntreprise">Prix (en €)</label>
{{ form_row(form.prix,{'attr': {'class': 'theme-input form-control','placeholder': ''}}) }}
</div>
<div class="theme-input-box col-md-4">
<label class="style-choix-logo" for="logoEntreprise">Remise (en %)</label>
{{ form_row(form.pourcentRemise,{'attr': {'class': 'theme-input form-control','placeholder': ''}}) }}
</div>
</div>
<div class="theme-input-box">
<div class="Listing-checkbox">
<label>Je souhaite diffuser mon annonce auprès :</label>
<input class="styled-checkbox" id="styled-checkbox-1" name="part" type="checkbox" value="part" {% if annonce.visiblePro == 0 %}checked{% endif %}>
<label for="styled-checkbox-1"><span>Des particuliers</span></label>
<input class="styled-checkbox" id="styled-checkbox-2" name="pro" type="checkbox" value="pro" {% if annonce.visiblePro == 1 %}checked{% endif %}>
<label for="styled-checkbox-2"><span>Des professionnels</span></label>
</div>
</div>
<div class="theme-form-title text-center">
<h3 class="theme-title"><span style="color: #F6249D;">Programmer la publication</span></h3>
</div>
<div class="fixed-price-tab-box">
<div class="tab-content">
<div class="tab-pane fade in active">
<div class="theme-box-center">
<div class="row">
<div class="col-xl-6 col-lg-6 col-md-6 col-sm-6 col-12">
<div class="theme-input-box">
<label>Date de diffusion</label>
<input class="input-date-style" type="date" name="date" id="programmer-date" value="{{ annonce.dateDebut|date('Y-m-d') }}">
</div>
<div class="theme-input-box">
<label>Heure de début de diffusion</label>
<input class="input-date-style" type="time" name="heureDebut" id="programmer-heure-debut" value="{{ annonce.dateDebut|date('H:i') }}">
</div>
<div class="theme-input-box">
<label>Heure de fin de diffusion</label>
<input class="input-date-style" type="time" name="heureFin" id="programmer-heure-fin" value="{{ annonce.dateFin|date('H:i') }}">
</div>
</div>
<div class="col-xl-6 col-lg-6 col-md-6 col-sm-6 col-12" style="vertical-align: middle !important;">
<div class="fix-price-value">
<h3 class="theme-title" style="color: #F6249D;">Programmer votre annonce</h3><br>
<p class="theme-description">Chaque annonce débute et se termine à l'heure souhaitée dans la limite de 24h dans la même journée puisque les annonces sont automatiquement supprimées à minuit.</p>
</div>
</div>
</div>
</div>
</div>
<div role="tabpanel" class="tab-pane fade in active" id="fixed">
<div class="theme-box-center">
<div class="row mx-auto">
<div class="col-12">
<div class="Listing-checkbox theme-input-box">
<label>Booster l'annonce:</label>
<input class="styled-checkbox" id="styled-checkbox-3" type="checkbox" name="booster" {% if annonce.booster == 1 %}checked{% endif %}>
<label for="styled-checkbox-3"><span>Booster l'annonce pour 4 crédits supplémentaires <i class="fas fa-exclamation-circle" data-toggle="tooltip" data-placement="top" title="" data-bs-original-title="Le fais de booster l'annonce lui permet d'etre mis en avant par rapport au autre annonce"></i></span></label>
</div>
</div>
</div>
<div class="row d-flex justify-content">
<div class="col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 ">
<div class="theme-fix-btn theme-btn-post-margin ">
<button type="submit" class="theme-btn-pro" style="background-color:#F6249D !important;">DIFFUSER L'ANNONCE</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{{ form_end(form) }}
<script>
document.addEventListener('DOMContentLoaded', function () {
const dateInput = document.getElementById('programmer-date');
const heureDebutInput = document.getElementById('programmer-heure-debut');
const heureFinInput = document.getElementById('programmer-heure-fin');
// Disable past dates
const today = new Date().toISOString().split('T')[0];
dateInput.setAttribute('min', today);
// Set default times if future date is selected
dateInput.addEventListener('change', function () {
const selectedDate = new Date(this.value);
const currentDate = new Date();
const selectedDateString = selectedDate.toISOString().split('T')[0];
const currentDateString = currentDate.toISOString().split('T')[0];
if (selectedDate > currentDate) {
heureDebutInput.value = '00:00';
heureFinInput.value = '23:59';
} else if (selectedDateString === currentDateString) {
heureFinInput.value = '23:59';
}
});
// Validate end time is after start time
heureDebutInput.addEventListener('change', validateTime);
heureFinInput.addEventListener('change', validateTime);
function validateTime() {
const debutTime = heureDebutInput.value;
const finTime = heureFinInput.value;
if (debutTime && finTime && finTime < debutTime) {
Swal.fire({
icon: 'error',
title: 'Erreur de temps',
text: "L'heure de fin ne peut pas être antérieure à l'heure de début.",
confirmButtonColor: '#F6249D'
});
heureFinInput.value = debutTime;
}
}
// Set initial default times if the current date is selected
const initialDate = new Date(dateInput.value);
const initialDateString = initialDate.toISOString().split('T')[0];
if (initialDateString === today) {
heureFinInput.value = '23:59';
}
});
</script>