Το υπουργείο Υγείας της Γαλλίας ανακοίνωσε χθες Τετάρτη ότι επιβεβαιώθηκαν 65.373 κρούσματα του SARS-CoV-2 σε 24 ώρες, αριθμός τέσσερις και πλέον φορές υψηλότερος από αυτόν της προηγουμένης, που εν μέρει οφείλεται στο ότι προστέθηκαν μολύνσεις προηγούμενων ημερών.Το ίδιο διάστημα, οι θάνατοι ακόμα 248 ασθενών με την COVID-19 αύξησαν τον απολογισμό της πανδημίας του νέου κορωνοϊού στη γαλλική επικράτεια ως αυτό το στάδιο σε 93.180 νεκρούς, σύμφωνα με τα δεδομένα που δημοσιοποίησε το υπουργείο. Στο μεταξύ ακόμη 17 ασθενείς εισήχθησαν σε μονάδες εντατικής θεραπείας (ΜΕΘ), με το σύνολό τους να φθάνει τους 4.651, τον υψηλότερο αριθμό ως εδώ μέσα στο 2021. Από την περασμένη Παρασκευή το ένα τρίτο του πληθυσμού της χώρας, συμπεριλαμβανομένων των κατοίκων της περιοχής του Παρισιού, έχει τεθεί σε lockdown, ωστόσο αρκετοί ειδικοί έχουν επισημάνει πως θα χρειαστούν τουλάχιστον δύο εβδομάδες για να φανούν τα αποτελέσματα των περιοριστικών μέτρων. Η Βρετανία ενδέχεται σύντομα να προσθέσει τη Γαλλία στην «κόκκινη λίστα» της και να εντείνει τους ελέγχους σε όσους φθάνουν στο Ηνωμένο Βασίλειο από τη γαλλική επικράτεια λόγω της εξάπλωσης παραλλαγμένων στελεχών του νέου κορωνοϊού, δήλωσε χθες βράδυ ο πρωθυπουργός Μπόρις Τζόνσον. Ερωτηθείς γιατί η Γαλλία, που πλήττεται από τρίτο κύμα της πανδημίας, δεν βρίσκεται ήδη στην «κόκκινη λίστα», που σημαίνει περιορισμούς στα ταξίδια, ο κ. Τζόνσον απάντησε σε μέλη της Βουλής των Κοινοτήτων πως αυτό «είναι κάτι που θα πρέπει να μελετήσουμε». Προειδοποίησε ωστόσο εναντίον των προβλημάτων που θα προκαλούσαν ενδεχόμενα αυστηρότερα περιοριστικά μέτρα, ιδίως στις εμπορικές συναλλαγές των δύο χωρών. Πηγές: ΑΜΠΕ, AFP, Reuters
');
}
},
error: function() {
// Fallback to admin-ajax if REST API fails
$.ajax({
url: 'https://www.xtesini.gr/wp-admin/admin-ajax.php',
type: 'POST',
data: {
action: 'get_recommendations_carousel',
limit: limit,
nonce: 'ca241b5fa7'
},
success: function(response) {
if (response.success && response.data.html) {
container.html(response.data.html);
initializeCarousel($('#carousel_684deff1d2b81'));
} else {
container.html('
');
}
}
});
}
});
// Carousel initialization function
function initializeCarousel($wrapper) {
var $container = $wrapper.find(".carousel-container");
var $carousel = $wrapper.find(".related-articles-carousel");
var $items = $wrapper.find(".carousel-item");
var $prevBtn = $wrapper.find(".prev-arrow");
var $nextBtn = $wrapper.find(".next-arrow");
if ($items.length === 0) return;
var itemWidth = $items.first().outerWidth(true);
var visibleItems = Math.floor($container.parent().width() / itemWidth);
var position = 0;
var maxPosition = Math.max(0, $items.length - visibleItems);
// Touch handling variables
var isDragging = false;
var startX = 0;
var startY = 0;
var currentX = 0;
var currentTranslate = 0;
var startTranslate = 0;
var threshold = 10;
var isScrolling = null;
// Hide prev button initially
$prevBtn.css("opacity", "0.5");
// Navigation
$nextBtn.click(function() {
if (position < maxPosition) {
position++;
updatePosition();
}
});
$prevBtn.click(function() {
if (position > 0) {
position--;
updatePosition();
}
});
// Touch support
$carousel.on("touchstart", function(e) {
var touch = e.originalEvent.touches[0];
startX = touch.clientX;
startY = touch.clientY;
isDragging = true;
isScrolling = null;
var transform = $container.css("transform");
var matrix = transform.replace(/[^0-9,.\-]/g, "").split(",");
startTranslate = currentTranslate = matrix[4] ? parseInt(matrix[4]) : 0;
$container.css("transition", "none");
});
$carousel.on("touchmove", function(e) {
if (!isDragging) return;
var touch = e.originalEvent.touches[0];
var deltaX = touch.clientX - startX;
var deltaY = touch.clientY - startY;
if (isScrolling === null) {
if (Math.abs(deltaX) > threshold || Math.abs(deltaY) > threshold) {
isScrolling = Math.abs(deltaY) > Math.abs(deltaX) * 0.7;
}
}
if (isScrolling === true) {
isDragging = false;
$container.css("transition", "transform 0.3s ease");
return;
}
if (isScrolling === false) {
e.preventDefault();
currentX = deltaX;
var newTranslate = startTranslate + deltaX;
var minTranslate = -maxPosition * itemWidth;
var maxTranslate = 0;
if (newTranslate > maxTranslate) {
newTranslate = maxTranslate + (newTranslate - maxTranslate) * 0.3;
} else if (newTranslate < minTranslate) {
newTranslate = minTranslate + (newTranslate - minTranslate) * 0.3;
}
$container.css("transform", "translateX(" + newTranslate + "px)");
}
});
$carousel.on("touchend", function(e) {
if (!isDragging || isScrolling === true) return;
isDragging = false;
$container.css("transition", "transform 0.3s ease");
var prevPosition = position;
if (Math.abs(currentX) > itemWidth * 0.25) {
if (currentX > 0 && position > 0) {
position--;
} else if (currentX < 0 && position < maxPosition) {
position++;
}
}
if (position !== prevPosition && window.RecommendationTracker) {
var action = position > prevPosition ? 'next' : 'prev';
window.RecommendationTracker.trackCarouselInteraction(action);
}
updatePosition();
isScrolling = null;
currentX = 0;
});
function updatePosition() {
var translateX = -position * itemWidth;
currentTranslate = translateX;
$container.css({
"transition": "transform 0.3s ease",
"transform": "translateX(" + translateX + "px)"
});
$prevBtn.css("opacity", position <= 0 ? "0.5" : "1");
$nextBtn.css("opacity", position >= maxPosition ? "0.5" : "1");
}
// Responsive
$(window).on("resize", function() {
itemWidth = $items.first().outerWidth(true);
visibleItems = Math.floor($container.parent().width() / itemWidth);
maxPosition = Math.max(0, $items.length - visibleItems);
if (position > maxPosition) {
position = maxPosition;
}
updatePosition();
});
updatePosition();
}
});