{"id":1095,"date":"2026-04-28T09:53:32","date_gmt":"2026-04-28T12:53:32","guid":{"rendered":"https:\/\/sites.williarts.com.br\/allent\/?page_id=1095"},"modified":"2026-04-28T11:03:29","modified_gmt":"2026-04-28T14:03:29","slug":"eventos","status":"publish","type":"page","link":"https:\/\/sites.williarts.com.br\/allent\/blog\/eventos\/","title":{"rendered":"Eventos"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; background_image=&#8221;https:\/\/sites.williarts.com.br\/allent\/wp-content\/uploads\/2026\/03\/Grupo-1610.webp&#8221; custom_padding=&#8221;70px||70px||true|&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;4px||4px||true|&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Ubuntu|300|||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;23px&#8221; text_orientation=&#8221;center&#8221; custom_margin=&#8221;||13px|||&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Blog<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Ubuntu|700|||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;45px&#8221; text_line_height=&#8221;1.2em&#8221; text_orientation=&#8221;center&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>EVENTOS<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#ffffff&#8221; background_enable_image=&#8221;off&#8221; custom_padding=&#8221;40px||40px||true|&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;0px||0px||true|&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_code _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]    <div id=\"events-container\"><\/div>\r\n        <div id=\"pagination\"><\/div>\r\n\r\n    <script>\r\n        const paginationContainer = document.querySelector(\"#pagination\")\r\n\r\n        const createPagination = (totalPages, currentPage, ) => {\r\n            paginationContainer.innerHTML = \"\";\r\n\r\n            const createButton = (page) => {\r\n                const button = document.createElement(\"button\");\r\n                button.textContent = page;\r\n\r\n                if (page === currentPage) {\r\n                    button.disabled = true;\r\n                    button.classList.add(\"active\");\r\n                }\r\n\r\n                button.addEventListener('click', (e) => {\r\n                    e.preventDefault();\r\n                    loadEvents(page);\r\n                });\r\n\r\n                return button;\r\n            };\r\n\r\n            const createDots = () => {\r\n                const span = document.createElement(\"span\");\r\n                span.textContent = \"...\";\r\n                return span;\r\n            };\r\n\r\n            \/\/ Sempre mostra a primeira p\u00e1gina\r\n            paginationContainer.appendChild(createButton(1));\r\n\r\n            \/\/ Intervalo ao redor da p\u00e1gina atual\r\n            const range = 1; \/\/ pode aumentar pra 2 se quiser mais p\u00e1ginas vis\u00edveis\r\n\r\n            let start = Math.max(2, currentPage - range);\r\n            let end = Math.min(totalPages - 1, currentPage + range);\r\n\r\n            \/\/ Se tiver gap antes\r\n            if (start > 2) {\r\n                paginationContainer.appendChild(createDots());\r\n            }\r\n\r\n            \/\/ P\u00e1ginas do meio\r\n            for (let i = start; i <= end; i++) {\r\n                paginationContainer.appendChild(createButton(i));\r\n            }\r\n\r\n            \/\/ Se tiver gap depois\r\n            if (end < totalPages - 1) {\r\n                paginationContainer.appendChild(createDots());\r\n            }\r\n\r\n            \/\/ Sempre mostra a \u00faltima p\u00e1gina (se n\u00e3o for a mesma que a primeira)\r\n            if (totalPages > 1) {\r\n                paginationContainer.appendChild(createButton(totalPages));\r\n            }\r\n        };\r\n    <\/script>\r\n\r\n\r\n        <template id=\"spinner-template\">\r\n        <div class=\"spinner-container\">\r\n            <div class=\"spinner-overlay\">\r\n                <div class=\"spinner\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/template>\r\n\r\n    <div id=\"spinner-container\"><\/div>\r\n\r\n    <script>\r\n        const spinnerContainer = document.querySelector(\"#spinner-container\")\r\n        const spinnerTemplate = document.querySelector(\"#spinner-template\");\r\n\r\n        const createSpinner = () => {\r\n            const fragment = spinnerTemplate.content.cloneNode(true);\r\n            return fragment;\r\n        }\r\n    <\/script>\r\n\r\n    <script>\r\n        document.addEventListener(\"DOMContentLoaded\", () => {\r\n            const eventContainer = document.querySelector(\"#events-container\")\r\n            const spinnerContainer = document.querySelector(\"#spinner-container\")\r\n\r\n            const getEventRequest = async (page) => {\r\n                const url = \"https:\/\/sites.williarts.com.br\/allent\" + \"\/wp-json\/api\/v1\/events\"\r\n\r\n                const response = await fetch(`${url}?page=${page}`, {\r\n                        method: \"GET\",\r\n                    }).then(res => res.json())\r\n                    .then(data => data);\r\n\r\n                return response;\r\n            }\r\n\r\n            const formatDateRange = (startDateString, endDateString) => {\r\n                const parseDate = (dateStr) => {\r\n                    if (!dateStr || !dateStr.includes(\"\/\")) return null;\r\n                    const [day, month, year] = dateStr.split(\"\/\");\r\n                    return new Date(year, month - 1, day);\r\n                };\r\n\r\n                const formatFullDate = (dateObj) => {\r\n                    return new Intl.DateTimeFormat('pt-BR', {\r\n                        day: 'numeric',\r\n                        month: 'long',\r\n                        year: 'numeric'\r\n                    }).format(dateObj);\r\n                };\r\n\r\n                const startDate = parseDate(startDateString);\r\n                const endDate = parseDate(endDateString);\r\n\r\n                if (startDate && endDate && startDateString !== endDateString) {\r\n                    const isSameMonth = startDate.getMonth() === endDate.getMonth();\r\n                    const isSameYear = startDate.getFullYear() === endDate.getFullYear();\r\n\r\n                    if (isSameMonth && isSameYear) {\r\n                        return `${startDate.getDate()} a ${formatFullDate(endDate)}`;\r\n                    }\r\n\r\n                    return `${formatFullDate(startDate)} \u00e0 ${formatFullDate(endDate)}`;\r\n                }\r\n\r\n                if (startDate) {\r\n                    return formatFullDate(startDate);\r\n                }\r\n\r\n                if (startDateString && endDateString && startDateString !== endDateString) {\r\n                    return `${startDateString} \u00e0 ${endDateString}`;\r\n                }\r\n                return startDateString || \"\";\r\n            };\r\n\r\n            const createCards = (events) => {\r\n                eventContainer.innerHTML = \"\";\r\n                events.forEach(event => {\r\n                    const card = document.createElement(\"div\")\r\n                    card.classList.add(\"event-card\")\r\n                    card.innerHTML = `\r\n                    <img decoding=\"async\" src=\"${event.img}\" alt=\"${event.title}\">\r\n                    <h3>${event.title}<\/h3>\r\n                    <p><strong>Data:<\/strong> ${formatDateRange(event.start_date, event.end_date)}<\/p>\r\n                    <p><strong>Local:<\/strong> ${event.local}<\/p>\r\n                    <a href=\"${event.url}\">Saiba Mais<\/a>\r\n                `\r\n                    card.classList.add('fade-in');\r\n                    eventContainer.appendChild(card)\r\n                })\r\n                eventContainer.classList.remove(\"hidden\")\r\n            }\r\n\r\n            window.loadEvents = async (page = 1) => {\r\n                if (eventContainer.hasChildNodes())\r\n                    eventContainer.classList.add(\"hidden\")\r\n\r\n                const spinner = createSpinner();\r\n                spinnerContainer.appendChild(spinner);\r\n\r\n                const events = await getEventRequest(page);\r\n\r\n                spinnerContainer.innerHTML = \"\";\r\n                createCards(events.results);\r\n                createPagination(events.totalPages, page)\r\n            }\r\n\r\n            loadEvents()\r\n        })\r\n    <\/script>\r\n\r\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#0d3d63&#8243; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;40px||40px||true|&#8221; global_module=&#8221;300&#8243; saved_tabs=&#8221;all&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row column_structure=&#8221;1_2,1_2&#8243; use_custom_gutter=&#8221;on&#8221; gutter_width=&#8221;2&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; width=&#8221;70%&#8221; custom_padding=&#8221;3px||3px||true|&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;||||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;30px&#8221; text_line_height=&#8221;1.2em&#8221; custom_margin=&#8221;||13px|||&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Fale com os especialistas Allent<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;|300|||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;16px&#8221; custom_margin=&#8221;||27px|||&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Nossa equipe esta prepara para tirar todas as suas d\u00favidas.<br \/>\u3164\u3164<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/sites.williarts.com.br\/allent\/fale-conosco\/&#8221; button_text=&#8221;Entre em contato&#8221; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_size=&#8221;17px&#8221; button_text_color=&#8221;#FFFFFF&#8221; button_bg_color=&#8221;#009ea5&#8243; button_border_color=&#8221;#009ea5&#8243; button_border_radius=&#8221;5px&#8221; button_font=&#8221;|700|||||||&#8221; button_use_icon=&#8221;off&#8221; custom_padding=&#8221;6px||6px||true|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_button][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;||||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;30px&#8221; text_line_height=&#8221;1.2em&#8221; custom_margin=&#8221;||13px|||&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Quer mais informa\u00e7\u00f5es?<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;|300|||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;16px&#8221; custom_margin=&#8221;||27px|||&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Conecte-se \u00e0 excel\u00eancia: fale com a Allent e conhe\u00e7a solu\u00e7\u00f5es m\u00e9dicas que transformam o cuidado.<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/sites.williarts.com.br\/allent\/orcamento\/&#8221; button_text=&#8221;Quero um or\u00e7amento&#8221; button_alignment=&#8221;left&#8221; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_size=&#8221;18px&#8221; button_text_color=&#8221;#FFFFFF&#8221; button_bg_color=&#8221;RGBA(255,255,255,0)&#8221; button_border_width=&#8221;2px&#8221; button_border_color=&#8221;#FFFFFF&#8221; button_border_radius=&#8221;5px&#8221; button_font=&#8221;||||||||&#8221; button_use_icon=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>BlogEVENTOS    <div id=\"events-container\"><\/div>\r\n        <div id=\"pagination\"><\/div>\r\n\r\n    <script>\r\n        const paginationContainer = document.querySelector(\"#pagination\")\r\n\r\n        const createPagination = (totalPages, currentPage, ) => {\r\n            paginationContainer.innerHTML = \"\";\r\n\r\n            const createButton = (page) => {\r\n                const button = document.createElement(\"button\");\r\n                button.textContent = page;\r\n\r\n                if (page === currentPage) {\r\n                    button.disabled = true;\r\n                    button.classList.add(\"active\");\r\n                }\r\n\r\n                button.addEventListener('click', (e) => {\r\n                    e.preventDefault();\r\n                    loadEvents(page);\r\n                });\r\n\r\n                return button;\r\n            };\r\n\r\n            const createDots = () => {\r\n                const span = document.createElement(\"span\");\r\n                span.textContent = \"...\";\r\n                return span;\r\n            };\r\n\r\n            \/\/ Sempre mostra a primeira p\u00e1gina\r\n            paginationContainer.appendChild(createButton(1));\r\n\r\n            \/\/ Intervalo ao redor da p\u00e1gina atual\r\n            const range = 1; \/\/ pode aumentar pra 2 se quiser mais p\u00e1ginas vis\u00edveis\r\n\r\n            let start = Math.max(2, currentPage - range);\r\n            let end = Math.min(totalPages - 1, currentPage + range);\r\n\r\n            \/\/ Se tiver gap antes\r\n            if (start > 2) {\r\n                paginationContainer.appendChild(createDots());\r\n            }\r\n\r\n            \/\/ P\u00e1ginas do meio\r\n            for (let i = start; i <= end; i++) {\r\n                paginationContainer.appendChild(createButton(i));\r\n            }\r\n\r\n            \/\/ Se tiver gap depois\r\n            if (end < totalPages - 1) {\r\n                paginationContainer.appendChild(createDots());\r\n            }\r\n\r\n            \/\/ Sempre mostra a \u00faltima p\u00e1gina (se n\u00e3o for a mesma que a primeira)\r\n            if (totalPages > 1) {\r\n                paginationContainer.appendChild(createButton(totalPages));\r\n            }\r\n        };\r\n    <\/script>\r\n\r\n\r\n        <template id=\"spinner-template\">\r\n        <div class=\"spinner-container\">\r\n            <div class=\"spinner-overlay\">\r\n                <div class=\"spinner\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/template>\r\n\r\n    <div id=\"spinner-container\"><\/div>\r\n\r\n    <script>\r\n        const spinnerContainer = document.querySelector(\"#spinner-container\")\r\n        const spinnerTemplate = document.querySelector(\"#spinner-template\");\r\n\r\n        const createSpinner = () => {\r\n            const fragment = spinnerTemplate.content.cloneNode(true);\r\n            return fragment;\r\n        }\r\n    <\/script>\r\n\r\n    <script>\r\n        document.addEventListener(\"DOMContentLoaded\", () => {\r\n            const eventContainer = document.querySelector(\"#events-container\")\r\n            const spinnerContainer = document.querySelector(\"#spinner-container\")\r\n\r\n            const getEventRequest = async (page) => {\r\n                const url = \"https:\/\/sites.williarts.com.br\/allent\" + \"\/wp-json\/api\/v1\/events\"\r\n\r\n                const response = await fetch(`${url}?page=${page}`, {\r\n                        method: \"GET\",\r\n                    }).then(res => res.json())\r\n                    .then(data => data);\r\n\r\n                return response;\r\n            }\r\n\r\n            const formatDateRange = (startDateString, endDateString) => {\r\n                const parseDate = (dateStr) => {\r\n                    if (!dateStr || !dateStr.includes(\"\/\")) return null;\r\n                    const [day, month, year] = dateStr.split(\"\/\");\r\n                    return new Date(year, month - 1, day);\r\n                };\r\n\r\n                const formatFullDate = (dateObj) => {\r\n                    return new Intl.DateTimeFormat('pt-BR', {\r\n                        day: 'numeric',\r\n                        month: 'long',\r\n                        year: 'numeric'\r\n                    }).format(dateObj);\r\n                };\r\n\r\n                const startDate = parseDate(startDateString);\r\n                const endDate = parseDate(endDateString);\r\n\r\n                if (startDate && endDate && startDateString !== endDateString) {\r\n                    const isSameMonth = startDate.getMonth() === endDate.getMonth();\r\n                    const isSameYear = startDate.getFullYear() === endDate.getFullYear();\r\n\r\n                    if (isSameMonth && isSameYear) {\r\n                        return `${startDate.getDate()} a ${formatFullDate(endDate)}`;\r\n                    }\r\n\r\n                    return `${formatFullDate(startDate)} \u00e0 ${formatFullDate(endDate)}`;\r\n                }\r\n\r\n                if (startDate) {\r\n                    return formatFullDate(startDate);\r\n                }\r\n\r\n                if (startDateString && endDateString && startDateString !== endDateString) {\r\n                    return `${startDateString} \u00e0 ${endDateString}`;\r\n                }\r\n                return startDateString || \"\";\r\n            };\r\n\r\n            const createCards = (events) => {\r\n                eventContainer.innerHTML = \"\";\r\n                events.forEach(event => {\r\n                    const card = document.createElement(\"div\")\r\n                    card.classList.add(\"event-card\")\r\n                    card.innerHTML = `\r\n                    <img decoding=\"async\" src=\"${event.img}\" alt=\"${event.title}\">\r\n                    <h3>${event.title}<\/h3>\r\n                    <p><strong>Data:<\/strong> ${formatDateRange(event.start_date, event.end_date)}<\/p>\r\n                    <p><strong>Local:<\/strong> ${event.local}<\/p>\r\n                    <a href=\"${event.url}\">Saiba Mais<\/a>\r\n                `\r\n                    card.classList.add('fade-in');\r\n                    eventContainer.appendChild(card)\r\n                })\r\n                eventContainer.classList.remove(\"hidden\")\r\n            }\r\n\r\n            window.loadEvents = async (page = 1) => {\r\n                if (eventContainer.hasChildNodes())\r\n                    eventContainer.classList.add(\"hidden\")\r\n\r\n                const spinner = createSpinner();\r\n                spinnerContainer.appendChild(spinner);\r\n\r\n                const events = await getEventRequest(page);\r\n\r\n                spinnerContainer.innerHTML = \"\";\r\n                createCards(events.results);\r\n                createPagination(events.totalPages, page)\r\n            }\r\n\r\n            loadEvents()\r\n        })\r\n    <\/script>\r\n\r\nFale com os especialistas AllentNossa equipe esta prepara para tirar todas as suas d\u00favidas.\u3164\u3164Quer mais informa\u00e7\u00f5es?Conecte-se \u00e0 excel\u00eancia: fale com a Allent e conhe\u00e7a solu\u00e7\u00f5es m\u00e9dicas que transformam o cuidado.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":19,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-1095","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/pages\/1095","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/comments?post=1095"}],"version-history":[{"count":6,"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/pages\/1095\/revisions"}],"predecessor-version":[{"id":1111,"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/pages\/1095\/revisions\/1111"}],"up":[{"embeddable":true,"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/pages\/19"}],"wp:attachment":[{"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/media?parent=1095"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}