{"id":903,"date":"2024-10-07T17:03:38","date_gmt":"2024-10-07T15:03:38","guid":{"rendered":"https:\/\/shecoach.eu\/?page_id=903"},"modified":"2025-08-20T15:46:28","modified_gmt":"2025-08-20T13:46:28","slug":"news","status":"publish","type":"page","link":"https:\/\/shecoach.eu\/el\/news\/","title":{"rendered":"\u039d\u03ad\u03b1"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"903\" class=\"elementor elementor-903 elementor-901\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3e5352f e-flex e-con-boxed e-con e-parent\" data-id=\"3e5352f\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-668f68c elementor-widget elementor-widget-heading\" data-id=\"668f68c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u039d\u03ad\u03b1<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e6d7194 elementor-widget elementor-widget-shortcode\" data-id=\"e6d7194\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n    <div id=\"csv-card-listing\"\n         data-csv=\"https:\/\/shecoach.eu\/wp-content\/uploads\/news\/dati.csv\"\n         data-default-categoria=\"\"\n         data-current-lang=\"el\">\n\n        <div id=\"categoria-filters\" style=\"margin-bottom:1rem;\"><\/div>\n        <div id=\"cards-output\"><\/div>\n    <\/div>\n\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/papaparse@5.4.1\/papaparse.min.js\"><\/script>\n\n    <style>\n        #csv-card-listing { font-family: \"Staatliches\", \"Noto Sans Greek\", Sans-serif  }\n        #cards-output { display: grid; gap: 1.5rem; width: 100%; justify-items: center; }\n        @media (max-width: 399px) { #cards-output { grid-template-columns: 1fr; } }\n        @media (min-width: 400px) and (max-width: 679px) { #cards-output { grid-template-columns: repeat(2,1fr); } }\n        @media (min-width: 680px) { #cards-output { grid-template-columns: repeat(3,1fr); } }\n\n        .card-item { width: 100%; max-width: 350px; background: #fff; border: 1px solid #ddd; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 6px rgba(0,0,0,0.05); }\n\t\t#cards-output {margin-top:30px}\n        #categoria-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem}\n        .categoria-pill { padding: 0.4rem 0.8rem; font-size: 0.85rem; border: 1px solid #ccc; border-radius: 999px; background-color: #f0f0f0; cursor: pointer; transition: 0.2s; }\n        .categoria-pill.active { background-color: #0073aa; color: #fff; border-color: #0073aa; }\n\n        .top-div { width: 100%; height: 30px; background-color: #400061; border-top-left-radius: 8px; border-top-right-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; }\n        .bottom-div, .middle-div { width: 100%; background-color: #ffd3ff; }\n        .middle-div { display: flex; padding: 0 10px; }\n        .left-column { flex: 1; display: flex; align-items: center; justify-content: center; padding: 10px 5px 0; }\n        .left-column img { max-width: 100%; height: auto; display: block; border: 1px solid #F4D3E6}\n        .right-column { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 10px 5px 0; gap: 10px; }\n        .right-column a { display: flex; align-items: center; text-decoration: none; background-color: #fff1ff; padding: 5px 10px; border-radius: 8px; color: #000; font-style: italic; transition: background-color 0.2s; text-transform: none !important; font-family: 'Fira Sans Condensed'; font-size: small; font-weight:400}\n        .right-column a:hover { background-color: #e5bde5; }\n        .bottom-div { border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; display: flex; align-items: center; justify-content: flex-start; }\n        .bottom-div-cont { padding: 10px; color: #400061; font-weight: 700; }\n\t\tbutton.categoria-pill {background-color: #FFB500; color: #fff; border: none; border-radius: 0; font-size: large; transition: background-color 0.3s, color 0.3s;}\n\t\tbutton.categoria-pill.active {background-color: #400061;}\n\n    <\/style>\n\n    <script>\n    document.addEventListener('DOMContentLoaded', function () {\n        const wrapper = document.getElementById('csv-card-listing');\n        const csvUrl = wrapper.dataset.csv;\n        const currentLang = wrapper.dataset.currentLang;\n        const defaultCategoria = wrapper.dataset.defaultCategoria;\n        const fallbackImg = 'https:\/\/coachdiquartiere.it\/wp-content\/uploads\/2024\/04\/logo-coach-bianco.svg';\n        let allData = [];\n        let selectedCategoria = defaultCategoria || null;\n\n        const output = document.getElementById('cards-output');\n        const filters = document.getElementById('categoria-filters');\n\n        fetch(csvUrl)\n            .then(r => r.text())\n            .then(text => {\n                const parsed = Papa.parse(text, { header: true, skipEmptyLines: true });\n                allData = parsed.data;\n                if (!defaultCategoria) renderCategoriaFilters();\n                render();\n            });\n\nfunction renderCategoriaFilters() {\n    filters.innerHTML = '';\n    \/\/ Legge le categorie della lingua corrente\n    const categorie = [...new Set(allData.map(item => item['categoria-' + currentLang]).filter(Boolean))];\n\n    function updateFilterButtons() {\n        document.querySelectorAll('.categoria-pill').forEach(b => b.classList.remove('active'));\n        if (selectedCategoria) {\n            Array.from(filters.children).forEach(b => { \n                if (b.textContent === selectedCategoria) b.classList.add('active'); \n            });\n        }\n    }\n\n    categorie.forEach(cat => {\n        const btn = document.createElement('button');\n        btn.textContent = cat;\n        btn.className = 'categoria-pill';\n        btn.onclick = () => { \n            selectedCategoria = selectedCategoria === cat ? null : cat; \n            updateFilterButtons(); \n            render(); \n        };\n        filters.appendChild(btn);\n    });\n    \n    updateFilterButtons(); \/\/ inizializza lo stato\n}\n\n\n\n        function getFlagEmoji(lang) {\n            switch(lang){\n                case 'en': return '\ud83c\uddec\ud83c\udde7';\n                case 'it': return '\ud83c\uddee\ud83c\uddf9';\n                case 'es': return '\ud83c\uddea\ud83c\uddf8';\n                case 'de': return '\ud83c\udde9\ud83c\uddea';\n                case 'el': return '\ud83c\uddec\ud83c\uddf7';\n                default: return '';\n            }\n        }\n\n        function getDownloadLabel(lang) {\n            const labels = { en:'Download', it:'Scarica', es:'Descargar', de:'Download', el:'\u039b\u03ae\u03c8\u03b7' };\n            return labels[lang] || 'Download';\n        }\n\nfunction render() {\n    let filtered = selectedCategoria\n        ? allData.filter(item => item['categoria-' + currentLang] === selectedCategoria)\n        : allData;\n\n    \/\/ Ordina per ID decrescente (coercizione a numero + fallback)\n    filtered = filtered.slice().sort((a, b) => {\n        const A = Number(a['ID']) || 0;\n        const B = Number(b['ID']) || 0;\n        return B - A;\n    });\n\n    output.innerHTML = '';\n    if (!filtered.length) {\n        output.innerHTML = '<p style=\"text-align:center;\">Nessuna card disponibile.<\/p>';\n        return;\n    }\n\n    filtered.forEach(item => {\n        const card = document.createElement('div');\n        card.className = 'card-item box';\n\n        const languages = ['en','it','es','de','el'];\n        const links = languages.map(lang => {\n            if (item['link_' + lang] && item['link_' + lang].trim() !== '') {\n                return `<a href=\"${item['link_' + lang]}\" target=\"_blank\">${getFlagEmoji(lang)} ${getDownloadLabel(lang)}<\/a>`;\n            }\n            return '';\n        }).filter(Boolean).join('');\n\n        card.innerHTML = `\n            <div class=\"top-div\">${item['categoria-' + currentLang]}<\/div>\n            <div class=\"middle-div\">\n                <div class=\"left-column\">\n                    <img decoding=\"async\" src=\"${item['img']}\" onerror=\"this.src='${fallbackImg}'\">\n                <\/div>\n                <div class=\"right-column\">${links}<\/div>\n            <\/div>\n            <div class=\"bottom-div\">\n                <div class=\"bottom-div-cont\">${item['title-' + currentLang]}<\/div>\n            <\/div>\n        `;\n\n        output.appendChild(card);\n    });\n}\n    });\n    <\/script>\n\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-903","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/shecoach.eu\/el\/wp-json\/wp\/v2\/pages\/903","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shecoach.eu\/el\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/shecoach.eu\/el\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/shecoach.eu\/el\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/shecoach.eu\/el\/wp-json\/wp\/v2\/comments?post=903"}],"version-history":[{"count":37,"href":"https:\/\/shecoach.eu\/el\/wp-json\/wp\/v2\/pages\/903\/revisions"}],"predecessor-version":[{"id":2496,"href":"https:\/\/shecoach.eu\/el\/wp-json\/wp\/v2\/pages\/903\/revisions\/2496"}],"wp:attachment":[{"href":"https:\/\/shecoach.eu\/el\/wp-json\/wp\/v2\/media?parent=903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}