INTIME NEWS/ΚΑΠΑΝΤΑΗΣ ΔΗΜΗΤΡΗΣA- A A+Τηλεδιάσκεψη με αντικείμενο την αξιολόγηση και την επιτάχυνση της υλοποίησης των έργων της δράσης «Ανοικτά Κέντρα Εμπορίου» (Open Malls) που έχουν ενταχθεί στο Επιχειρησιακό Πρόγραμμα Ανταγωνιστικότητα, Επιχειρηματικότητα και Καινοτομία (ΕΠΑνΕΚ), πραγματοποιήθηκε σήμερα, με τη συμμετοχή του προέδρου της Κεντρικής Ένωσης Δήμων Ελλάδας, Δημήτρη Παπαστεργίου.Στη σύσκεψη αξιολογήθηκε η εξέλιξη των έργων που υλοποιούνται από συνεργατικά σχήματα, τα οποία αποτελούνται από τους Δήμους ως δικαιούχους και τους κατά τόπους Εμπορικούς Συλλόγους ή Επιμελητήρια, ως συνδικαιούχους, και αποσκοπούν στην ανάδειξη των τοπικών εμπορικών αγορών, μέσω της υλοποίησης παρεμβάσεων αναβάθμισης στον δημόσιο χώρο και τις προσόψεις των τοπικών επιχειρήσεων.Σύμφωνα με ανακοίνωση της ΚΕΔΕ, κοινή διαπίστωση όλων των συμμετεχόντων ήταν η ύπαρξη σημαντικών καθυστερήσεων στην υλοποίηση της πλειονότητας των έργων «και συζητήθηκαν πιθανές άμεσες ενέργειες διευκόλυνσης και επιτάχυνσης της υλοποίησής τους». Στην τηλεδιάσκεψη συμμετείχαν επίσης, ο υφυπουργός Ανάπτυξης και Επενδύσεων, Γιάννης Τσακίρης, αρμόδιος για τις Δημόσιες Επενδύσεις και το ΕΣΠΑ, ο ειδικός γραμματέας Διαχείρισης Προγραμμάτων ΕΤΠΑ και ΤΑ, Γιώργος Ζερβός, ο πρόεδρος της Ελληνικής Συνομοσπονδίας Εμπορίου και Επιχειρηματικότητας (ΕΣΕΕ), Γιώργος Καρανίκας, κά.ΠΕΡΙΣΣΟΤΕΡΑ ΘΕΜΑΤΑ
');
}
},
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_684dfbaf5082c'));
} 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();
}
});