Actualiser js/public.js
This commit is contained in:
+22
-1
@@ -6,6 +6,7 @@ let activeStreamingFilter = '';
|
|||||||
let searchQuery = '';
|
let searchQuery = '';
|
||||||
let currentPage = 1;
|
let currentPage = 1;
|
||||||
const itemsPerPage = 12;
|
const itemsPerPage = 12;
|
||||||
|
let physicalOnlyFilter = false;
|
||||||
|
|
||||||
function getStarsHTML(rating) {
|
function getStarsHTML(rating) {
|
||||||
const r = parseFloat(rating) || 0;
|
const r = parseFloat(rating) || 0;
|
||||||
@@ -48,10 +49,21 @@ function generateStreamingSelect() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function loadPublicData() {
|
async function loadPublicData() {
|
||||||
try {
|
try {
|
||||||
const response = await fetch(`${API_URL}?action=get_films`);
|
const response = await fetch(`${API_URL}?action=get_films`);
|
||||||
films = await response.json();
|
films = await response.json();
|
||||||
generateStreamingSelect();
|
generateStreamingSelect();
|
||||||
|
|
||||||
|
// Écouteur pour le filtre physique
|
||||||
|
const physicalCheckbox = document.getElementById('physical-only-checkbox');
|
||||||
|
if (physicalCheckbox) {
|
||||||
|
physicalCheckbox.addEventListener('change', (e) => {
|
||||||
|
physicalOnlyFilter = e.target.checked;
|
||||||
|
currentPage = 1;
|
||||||
|
renderPublicGrid();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
renderPublicGrid();
|
renderPublicGrid();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Erreur de récupération :", error);
|
console.error("Erreur de récupération :", error);
|
||||||
@@ -101,6 +113,15 @@ function renderPublicGrid() {
|
|||||||
|
|
||||||
let filtered = films.filter(f => f.type === currentPubTab);
|
let filtered = films.filter(f => f.type === currentPubTab);
|
||||||
|
|
||||||
|
// FILTRE PHYSIQUE UNIQUENENT
|
||||||
|
if (physicalOnlyFilter) {
|
||||||
|
filtered = filtered.filter(f =>
|
||||||
|
!f.streaming ||
|
||||||
|
f.streaming === 'Disponible en support physique ou Cinéma' ||
|
||||||
|
f.streaming.trim() === ''
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (currentPubTab === 'critique' && activeRatingFilter > 0) {
|
if (currentPubTab === 'critique' && activeRatingFilter > 0) {
|
||||||
filtered = filtered.filter(f => {
|
filtered = filtered.filter(f => {
|
||||||
const rating = parseFloat(f.rating) || 0;
|
const rating = parseFloat(f.rating) || 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user