{"id":770,"date":"2026-02-10T17:21:49","date_gmt":"2026-02-10T16:21:49","guid":{"rendered":"https:\/\/guest.roccafiore.it\/notifications_sent\/"},"modified":"2026-02-12T22:51:43","modified_gmt":"2026-02-12T21:51:43","slug":"notifications_sent","status":"publish","type":"page","link":"https:\/\/guest.roccafiore.it\/en\/notifications_sent\/","title":{"rendered":"Notifications_sent"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"770\" class=\"elementor elementor-770 elementor-743\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f689834 e-con-full e-flex e-con e-parent\" data-id=\"f689834\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9a3053a elementor-widget elementor-widget-heading\" data-id=\"9a3053a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\/ Notifications<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fa91bc1 e-con-full e-flex e-con e-parent\" data-id=\"fa91bc1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-036f2c8 elementor-widget-mobile__width-inherit elementor-widget elementor-widget-html\" data-id=\"036f2c8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\n  <div class=\"rf-notifs\">\n    <div id=\"rfList\" class=\"rf-notifs__list\"><\/div>\n  <\/div>\n\n  <style>\n    .rf-notifs{\n      max-width:980px;\n      margin:0 auto;\n      padding:12px 16px;\n    }\n\n    .rf-notifs__list{\n      display:grid;\n      grid-template-columns:1fr;\n      gap:14px;\n    }\n\n    \/* DESKTOP\/TABLET: immagine a sinistra *\/\n    .rf-card{\n      display:flex;\n      gap:14px;\n      padding:16px;\n      border-radius:0;            \/* spigoli vivi *\/\n      background:#f2f2f2;\n      border:1px solid #e0e0e0;\n      align-items:flex-start;\n    }\n\n    .rf-card__img{\n      width:92px;\n      height:92px;\n      border-radius:0;            \/* spigoli vivi *\/\n      object-fit:cover;\n      border:1px solid #dcdcdc;\n      flex:0 0 auto;\n      background:#fff;\n    }\n\n    .rf-card__body{min-width:0;flex:1;}\n\n    \/* Titolo: Bodoni BE Italic *\/\n    .rf-card__title{\n      margin:0 0 8px 0;\n      font-family: 'Bodoni BE', serif;\n      font-style: italic;\n      font-weight: 400;\n      font-size:22px;\n      line-height:1.1;\n      color:#111;\n    }\n\n    \/* Testo: Inconsolata Regular *\/\n    .rf-card__desc{\n      margin:0;\n      font-family:'Inconsolata', monospace;\n      font-weight:400;\n      font-size:16px;\n      line-height:1.45;\n      color:#222;\n    }\n\n    .rf-card__actions{margin-top:12px;}\n\n    \/* Bottone: Inconsolata Bold, spigoli vivi *\/\n    .rf-btn{\n      display:inline-flex;\n      align-items:center;\n      text-decoration:none;\n      padding:12px 14px;\n      border-radius:0;            \/* spigoli vivi *\/\n      border:2px solid #111;\n      color:#111;\n      background:transparent;\n      font-family:'Inconsolata', monospace;\n      font-weight:700;\n      font-size:16px;\n    }\n    .rf-btn:hover{opacity:.92}\n\n    .rf-empty,.rf-error{\n      padding:14px;\n      border-radius:0;\n      background:#f2f2f2;\n      border:1px dashed #bdbdbd;\n      color:#666;\n      font-family:'Inconsolata', monospace;\n    }\n\n    \/* MOBILE: una colonna -> immagine sopra *\/\n    @media (max-width: 640px){\n      .rf-card{\n        flex-direction:column;\n        padding:14px;\n      }\n      .rf-card__img{\n        width:100%;\n        height:auto;\n        aspect-ratio: 16 \/ 9;\n      }\n      .rf-card__title{\n        font-size:28px; \/* pi\u00f9 grande su mobile come richiesto *\/\n        margin-top:12px;\n      }\n      .rf-btn{\n        width:100%;\n        justify-content:center;\n      }\n    }\n  <\/style>\n\n  <script>\n  (function(){\n    const listEl = document.getElementById('rfList');\n    const WA_NUMBER = '393316718129'; \/\/ no +, no spazi\n\n    function esc(s){\n      return String(s || '')\n        .replaceAll('&','&amp;')\n        .replaceAll('<','&lt;')\n        .replaceAll('>','&gt;')\n        .replaceAll('\"','&quot;')\n        .replaceAll(\"'\",\"&#039;\");\n    }\n\n    function waLink(title){\n      const msg = `Vorrei prenotare \"${title}\"`;\n      return `https:\/\/wa.me\/${WA_NUMBER}?text=${encodeURIComponent(msg)}`;\n    }\n\n    function render(items){\n      if(!items || !items.length){\n        listEl.innerHTML = `<div class=\"rf-empty\">Nessun contenuto disponibile.<\/div>`;\n        return;\n      }\n\n      listEl.innerHTML = items.slice(0,10).map(it => {\n        const img = it.image\n          ? `<img decoding=\"async\" class=\"rf-card__img\" src=\"${esc(it.image)}\" alt=\"\">`\n          : '';\n\n        return `\n          <article class=\"rf-card\">\n            ${img}\n            <div class=\"rf-card__body\">\n              <h3 class=\"rf-card__title\">${esc(it.title || '')}<\/h3>\n              ${it.description ? `<p class=\"rf-card__desc\">${esc(it.description)}<\/p>` : ''}\n              <div class=\"rf-card__actions\">\n                <a class=\"rf-btn\" href=\"${esc(waLink(it.title || ''))}\" target=\"_blank\" rel=\"noopener\">\n                  Prenota tramite WhatsApp\n                <\/a>\n              <\/div>\n            <\/div>\n          <\/article>\n        `;\n      }).join('');\n    }\n\n    async function load(){\n      listEl.innerHTML = `<div class=\"rf-empty\">Caricamento\u2026<\/div>`;\n\n      const url = new URL('\/wp-json\/roccafiore\/v1\/pwa-notifications', window.location.origin);\n      url.searchParams.set('page', 1);\n      url.searchParams.set('per_page', 10);\n\n      try{\n        const res = await fetch(url.toString(), { credentials: 'same-origin' });\n        const data = await res.json();\n        if(!res.ok) throw new Error((data && data.error) ? data.error : ('HTTP ' + res.status));\n        render(data.items || []);\n      }catch(e){\n        listEl.innerHTML = `<div class=\"rf-error\">Errore nel caricamento.<\/div>`;\n        console.error(e);\n      }\n    }\n\n    load();\n  })();\n  <\/script>\n\n  \n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\/ Notifications<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-770","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/guest.roccafiore.it\/en\/wp-json\/wp\/v2\/pages\/770","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/guest.roccafiore.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/guest.roccafiore.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/guest.roccafiore.it\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/guest.roccafiore.it\/en\/wp-json\/wp\/v2\/comments?post=770"}],"version-history":[{"count":1,"href":"https:\/\/guest.roccafiore.it\/en\/wp-json\/wp\/v2\/pages\/770\/revisions"}],"predecessor-version":[{"id":771,"href":"https:\/\/guest.roccafiore.it\/en\/wp-json\/wp\/v2\/pages\/770\/revisions\/771"}],"wp:attachment":[{"href":"https:\/\/guest.roccafiore.it\/en\/wp-json\/wp\/v2\/media?parent=770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}