PageSourceSearch

https://www.torredosclerigos.pt/wp-content/themes/clerigos/dist/app.js?ver=6.8

js torredosclerigos.pt collected 2026-09-24 20:57:55 UTC 31,470 bytes, 133 lines download raw bytes

vendor: 3,594 bytes, lines 1-88
1/******/ (function(modules) { // webpackBootstrap
2/******/ 	// The module cache
3/******/ 	var installedModules = {};
4/******/
5/******/ 	// The require function
6/******/ 	function __webpack_require__(moduleId) {
7/******/
8/******/ 		// Check if module is in cache
9/******/ 		if(installedModules[moduleId]) {
10/******/ 			return installedModules[moduleId].exports;
11/******/ 		}
12/******/ 		// Create a new module (and put it into the cache)
13/******/ 		var module = installedModules[moduleId] = {
14/******/ 			i: moduleId,
15/******/ 			l: false,
16/******/ 			exports: {}
17/******/ 		};
18/******/
19/******/ 		// Execute the module function
20/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21/******/
22/******/ 		// Flag the module as loaded
23/******/ 		module.l = true;
24/******/
25/******/ 		// Return the exports of the module
26/******/ 		return module.exports;
27/******/ 	}
28/******/
29/******/
30/******/ 	// expose the modules object (__webpack_modules__)
31/******/ 	__webpack_require__.m = modules;
32/******/
33/******/ 	// expose the module cache
34/******/ 	__webpack_require__.c = installedModules;
35/******/
36/******/ 	// define getter function for harmony exports
37/******/ 	__webpack_require__.d = function(exports, name, getter) {
38/******/ 		if(!__webpack_require__.o(exports, name)) {
39/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
40/******/ 		}
41/******/ 	};
42/******/
43/******/ 	// define __esModule on exports
44/******/ 	__webpack_require__.r = function(exports) {
45/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47/******/ 		}
48/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
49/******/ 	};
50/******/
51/******/ 	// create a fake namespace object
52/******/ 	// mode & 1: value is a module id, require it
53/******/ 	// mode & 2: merge all properties of value into the ns
54/******/ 	// mode & 4: return value when already ns object
55/******/ 	// mode & 8|1: behave like require
56/******/ 	__webpack_require__.t = function(value, mode) {
57/******/ 		if(mode & 1) value = __webpack_require__(value);
58/******/ 		if(mode & 8) return value;
59/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60/******/ 		var ns = Object.create(null);
61/******/ 		__webpack_require__.r(ns);
62/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64/******/ 		return ns;
65/******/ 	};
66/******/
67/******/ 	// getDefaultExport function for compatibility with non-harmony modules
68/******/ 	__webpack_require__.n = function(module) {
69/******/ 		var getter = module && module.__esModule ?
70/******/ 			function getDefault() { return module['default']; } :
71/******/ 			function getModuleExports() { return module; };
72/******/ 		__webpack_require__.d(getter, 'a', getter);
73/******/ 		return getter;
74/******/ 	};
75/******/
76/******/ 	// Object.prototype.hasOwnProperty.call
77/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78/******/
79/******/ 	// __webpack_public_path__
80/******/ 	__webpack_require__.p = "";
81/******/
82/******/
83/******/ 	// Load entry module and return exports
84/******/ 	return __webpack_require__(__webpack_require__.s = 0);
85/******/ })
86/************************************************************************/
87/******/ ({
88
89/***/ "./src/js/anim.js":
90/*!************************!*\
91  !*** ./src/js/anim.js ***!
92  \************************/
93/*! no static exports found */
94/***/ (function(module, exports) {
95
96eval("jQuery( document ).ready( function( $ ) {\n\n    //console.log('anim');\n\n    const fadeInAll = gsap.utils.toArray('.fadeIn');\n    fadeInAll.forEach(fadeIn => {\n        gsap.to(fadeIn, { \n            opacity: 1,\n            duration: 1,\n            scrollTrigger: {\n              trigger: fadeIn,\n              start: \"top 90%\",\n              markers: false\n            }\n        })\n    });\n\n   if($('.page-historia-content').length) {\n        ScrollTrigger.matchMedia({\n            // desktop\n            \"(min-width: 640px)\": function() {\n                var teste = ScrollTrigger.create({\n                        trigger: \".page-historia-content\",\n                        pin: true, // pin the trigger element while active\n                        start: \"top-=50px 120px\", // when the top of the trigger hits the top of the viewport\n                        end: () => \"+=\" + (document.querySelector('.landmark__items').offsetHeight + 80), // end after scrolling 500px beyond the start\n                        scrub: 1, // smooth scrubbing, takes 1 second to \"catch up\" to the scrollbar\n                        markers: false,\n                        anticipatePin: 1\n                });\n                const landmarks = gsap.utils.toArray('.landmark__item');\n                landmarks.forEach(landmark => {\n                    ScrollTrigger.create({\n                        markers: {startColor: \"blue\", endColor: \"blue\", indent: 20},\n                        start: \"top top+=80\",\n                        end: \"bottom top+=80\",\n                        trigger: landmark,\n                        toggleClass: 'is-active',\n                        markers: false,\n                        //onUpdate:(self) =>console.log(self)\n                    })\n                });\n                const landmark = gsap.utils.toArray('.landmark');\n                landmark.forEach(landmark => {\n                    gsap.to(landmark, { \n                        y: (document.querySelector('.landmark__item').offsetHeight - 100) - (window.innerHeight),\n                        scrollTrigger: {\n                            trigger: landmark,\n                            start: \"top top\",\n                            end: 'bottom',\n                            markers: false,\n                            scrub: 1\n                        }\n                    })\n                });\n            }\n        });\n        }\n\n    if($('.fixed-menu').length) {\n        let mm = gsap.matchMedia();\n        mm.add(\"(min-width: 640px)\", () => {\n            ScrollTrigger.create({\n                markers: false,\n                start: \"top 105px\",\n                trigger: '.fixed-menu',\n                //toggleClass: 'sticky',\n                //onUpdate:(self) =>console.log(self),\n                onEnter: ({progress, direction, isActive}) =>
96 {\n                    $('.fixed-menu').addClass('sticky');\n                },\n                onEnterBack: ({progress, direction, isActive}) => {\n                    $('.fixed-menu').removeClass('sticky');\n                }\n            });\n        });\n        mm.add(\"(max-width: 639px)\", () => {\n            ScrollTrigger.create({\n                markers: false,\n                start: \"top 81px\",\n                trigger: '.fixed-menu',\n                //toggleClass: 'sticky',\n                //onUpdate:(self) =>console.log(self),\n                onEnter: ({progress, direction, isActive}) => {\n                    $('.fixed-menu').addClass('sticky');\n                },\n                onEnterBack: ({progress, direction, isActive}) => {\n                    $('.fixed-menu').removeClass('sticky');\n                }\n            });\n        });\n    }\n\n    \n\n})\n\n//# sourceURL=webpack:///./src/js/anim.js?");
97
98/***/ }),
99
100/***/ "./src/js/app.js":
101/*!***********************!*\
102  !*** ./src/js/app.js ***!
103  \***********************/
104/*! no static exports found */
105/***/ (function(module, exports) {
106
107eval("jQuery( document ).ready( function( $ ) {\n\n    const lenis = new Lenis()\n\n    function raf(time) {\n        lenis.raf(time)\n        requestAnimationFrame(raf)\n    }\n\n    requestAnimationFrame(raf)\n\n    $(document).foundation();\n\n    if($('.progress-bar')) {\n        lenis.on('scroll', ({progress}) => {\n            $('.progress-bar__content').css('transform', 'scaleX(' + progress + ')');\n            //console.log(progress);\n        })\n    }\n\n     //click fixed-menu\n    $('.fixed-menu__items a').click(function(e) {\n        e.preventDefault();\n        //console.log('bazinga');\n        $('.fixed-menu__items .menu-item').removeClass('is-active');\n        $(this).parent().addClass('is-active');\n        // var targetElem = this.hash;\n        // console.log($(targetElem));\n        lenis.scrollTo(this.hash,\n            {\n                force: true\n            });\n        // gsap.to(window, {\n        //     scrollTo: {\n        //         y: this.hash\n        //     },\n        // });\n    });\n    \n    //new WOW().init();\n\n    $('#conjunto a').click(function(e) {\n        lenis.scrollTo('#torre', {offset: -120});\n    });\n    //hamburger menu\n    $(\".menu-icon\" ).on( \"click\", function() {\n        $('body').toggleClass('open-menu');\n    } );\n\n    //search\n    $('.js-open').on('click', function() {\n        $('body').addClass('search-opened');\n        $('.search-container').addClass('is-active');\n    });\n\n    $('.js-close').on('click', function() {\n        $('body').removeClass('search-opened');\n        $('.search-container').removeClass('is-active');\n    });\n\n    //hero slide\n    var swiper = new Swiper(\".heroSwiper\", {\n        lazy: true,\n        speed: 600,\n        parallax: true,\n        autoplay: {\n            delay: 10000,\n            disableOnInteraction: false\n        },\n        pagination: {\n            el: '.custom-pagination',\n            clickable: true, // Permite clicar nas etapas para navegar para um slide\n            bulletClass: 'swiper-pagination-bullet',\n            bulletActiveClass: 'swiper-pagination-bullet-active',\n            renderBullet: function (index, className) {\n              return '<span class=\"' + className + '\"><div class=\"progress\"></div></span>';\n            },\n        },\n        on: {\n            autoplayTimeLeft(s, time, progress) {\n                //console.log(((progress*-1)*100)+100);\n                var activeBullet = document.querySelector('.swiper-pagination-bullet-active .progress');\n                //activeBullet.style.width = '0';\n                activeBullet.style.width = (1-progress)*100 + '%';\n                //progressCircle.style.setProperty(\"--progress\", 1 - progress);\n                //progressContent.textContent = `${Math.ceil(time / 1000)}s`;\n            }\n          }\n    });\n\n    var swiper2 = new Swiper(\".articlesSwiper\", {\n        slidesPerView: 1.1,\n        spaceBetween: 20,\n        navigation: {\n            nextEl: \".swiper-button-next\",\n            prevEl: \".swiper-button-prev\",\n        },\n        breakpoints: {\n            640: {\n              slidesPerView: 2.5,\n              spaceBetween: 30,\n            }\n        },\n    });\n\n    var swiper3 = new Swiper(\".eventoSwiper\", {\n        slidesPerView: 1,\n        spaceBetween: 15,\n       \n        //loop: true,\n        autoplay: {\n            delay: 5000,\n            disableOnInteraction: false\n        },\n        navigation: {\n            nextEl: \".swiper-button-next\",\n            prevEl: \".swiper-button-prev\",\n        },\n        breakpoints: {\n            640: {\n              slidesPerView: 2,\n              centeredSlides: true,\n              \n            }\n        },\n    });\n\n    //home intro \n    if($('.home-intro').length) {\n        // Obtém a lista de links e imagens\n        const menu_links = document.querySelectorAll('.home-intro__text a');\n        const menu_imagens = document.querySelectorAll('.home-intro__image');\n        imagesHover (menu_links, menu_imagens, 1);\n    }\n\n\n    if($('.menu-section').length) {\n        // Selecione as imagens na primeira coluna medium-5\n        var imageLeft = $('.menu-section .cell:first-child img');\n        // Selecione a segunda coluna medium-5\n        var imageRight = $('.menu-section .cell:last-child .menu-section__images');\n        // Mova as imagens para a segunda coluna\n        imageLeft.appendTo(imageRight);\n        const menu_section_links = document.querySelectorAll('#menu-menu-seccao a');\n        const menu_section_imagens = document.querySelectorAll('.menu-section .menu-image');\n        imagesHover (menu_section_links, menu_section_imagens, 0);\n    }\n\n    //menu\n\n    if($('.primary-menu').length) {\n        //console.log('teste');\n        var temp_array = [];\n\n        // Itera sobre cada <li> dentro da lista\n        $('#menu-menu-principal li, #menu-menu-principal-en li').each(function() {\
107n            // Obtém o id do <li>\n            var idDoItem = $(this).attr('id');\n            // Seleciona a imagem dentro do <li>\n            var imagem = $(this).find('img');\n            // Atribui o data-id à imagem igual ao id do <li>\n            imagem.attr('data-id', idDoItem);\n            imagem.addClass('menu-wrapper__img');\n            // Adiciona a imagem ao array junto com o data-id\n            temp_array.push({id: idDoItem, imagem: imagem});\n        });\n\n        // Detach e append das imagens ao elemento\n        var divNovo = $('.menu-wrapper__images');\n        temp_array.forEach(function(item) {\n            item.imagem.detach(); // Remove a imagem do DOM\n            divNovo.append(item.imagem); // Anexa a imagem ao novo elemento\n        });\n\n        // Evento hover para adicionar a classe 'active' à imagem correspondente\n        $('#menu-menu-principal li, #menu-menu-principal-en li').hover(function() {\n            var idDoItem = $(this).attr('id');\n            var imagemCorrespondente = $('.menu-wrapper__img[data-id=\"' + idDoItem + '\"]');\n            imagemCorrespondente.addClass('is-active');\n        }, function() {\n            var idDoItem = $(this).attr('id');\n            var imagemCorrespondente = $('.menu-wrapper__img[data-id=\"' + idDoItem + '\"]');\n            imagemCorrespondente.removeClass('is-active');\n        });\n    }\n\n     //home intro \n    if($('.hero-clerigos').length) {\n        // Obtém a lista de links e imagens\n\n        var itemText = $('.hero-clerigos__item-text');\n        var itemImage = $('.hero-clerigos__item-image');\n        var pageTitle = $('.hero-clerigos__page-title');\n        var rightText = $('.hero-clerigos__text--right');\n        var leftText = $('.hero-clerigos__text--left');\n        var hero =  $('.hero-clerigos');\n\n        //heroHover (menu_links, menu_imagens, menu_title, side_text_1, section);\n        $('.hero-clerigos__item').on({\n            mouseenter: function () {\n                // Imprime o índice do item no console no hover\n                var index = $(this).index();\n                hero.addClass('is-active');\n                hideAll();\n                showAll(index);\n                //console.log('Hover Index:', index);\n            },\n            touchstart: function () {\n                // Imprime o índice do item no console no clique\n                var index = $(this).index();\n                hero.addClass('is-active');\n                hideAll();\n                showAll(index);\n                //console.log('Hover Index:', index);\n            },\n            mouseleave: function () {\n                hero.removeClass('is-active');\n                hideAll();\n                pageTitle.show();\n                rightText.eq(0).show();\n                leftText.eq(0).show();\n            }\n        });\n\n        function hideAll() {\n            itemImage.hide();\n            itemText.hide();\n            rightText.hide();\n            leftText.hide();\n            pageTitle.hide();\n        }\n        function showAll(index) {\n            rightText.eq(index + 1).show();\n            leftText.eq(index + 1).show();\n            itemText.eq(index).show();\n            itemImage.eq(index).show();\n        }\n\n    }\n\n    function imagesHover (links, imagens, position) {\n        // Adiciona um evento de mouseover a cada link\n        links.forEach((link, index) => {\n            link.addEventListener('mouseover', (event) => {\n                imagens[index].style.transition = 'opacity 0.3s';\n                if(position) {\n                    imagens[index].style.top = (event.clientY - 50) + 'px';\n                    imagens[index].style.left = (event.clientX - 150) + 'px';\n                }\n                //console.log(imagens[index]);\n                // Mostra a imagem correspondente ao link\n                if (imagens[index]) {\n                    imagens[index].style.opacity = 1;\n                }\n            });\n        });\n\n        // Adiciona um evento de mouseout a cada link\n        links.forEach((link, index) =>
107 {\n            link.addEventListener('mouseout', () => {\n                imagens[index].style.transition = 'opacity 0.3s';\n                // Oculta a imagem correspondente ao link\n                if (imagens[index]) {\n                    imagens[index].style.opacity = 0;\n                }\n            });\n        });\n    }\n\n    function heroHover (links, imagens, titles, side_text_1, section) {\n        // Adiciona um evento de mouseover a cada link\n        links.forEach((link, index) => {\n            link.addEventListener('mouseover', () => {\n                section.classList.add('is-active');\n                $('.hero-clerigos__page-title').css('opacity', 0);\n                //console.log(imagens[index]);\n                imagens[index].style.transition = 'opacity 0.3s';\n                // Mostra a imagem correspondente ao link\n                if (imagens[index]) {\n                    imagens[index].style.opacity = 1;\n                    imagens[index].style.visibility = 'visible';\n                }\n                if (titles[index]) {\n                    titles[index].style.opacity = 1;\n                    titles[index].style.visibility = 'visible';\n                }\n                if (side_text_1[index]) {\n                    side_text_1[index].style.opacity = 1;\n                    side_text_1[index].style.visibility = 'visible';\n                }\n            });\n        });\n\n        // Adiciona um evento de mouseout a cada link\n        links.forEach((link, index) => {\n            link.addEventListener('mouseout', () => {\n                section.classList.remove('is-active');\n                $('.hero-clerigos__page-title').css('opacity', 1);\n                imagens[index].style.transition = 'opacity 0.3s';\n                // Oculta a imagem correspondente ao link\n                if (imagens[index]) {\n                    imagens[index].style.opacity = 0;\n                    imagens[index].style.visibility = 'hidden';\n                }\n                if (titles[index]) {\n                    titles[index].style.opacity = 0;\n                    titles[index].style.visibility = 'hidden';\n                }\n                if (side_text_1[index]) {\n                    side_text_1[index].style.opacity = 0;\n                    side_text_1[index].style.visibility = 'hidden';\n                }\n            });\n        });\n    }\n\n    //click padroeiros\n    $('.page-historia-content__subtitle').on('mouseover click',function() {\n        var term = $(this).data('padroeiro');\n        //console.log(term);\n        $('.page-historia-content__subtitle').removeClass('is-active');\n        $(this).addClass('is-active');\n        $('.page-historia-content__desc').hide();\n        $('.page-historia-content__desc[data-padroeiro=\"'+ term +'\"]').fadeIn('200');\n        $('.page-historia-content__wrapper-image').hide();\n        $('.page-historia-content__wrapper-image[data-padroeiro=\"'+ term +'\"]').fadeIn('200');\n        \n    });\n\n    //arquitetura slider\n    var swiper = new Swiper(\".arquiteturaSwiper\", {\n        slidesPerView: 1,\n        spaceBetween: 12,\n        loop: true,\n        navigation: {\n            nextEl: \".swiper-button-next\",\n            prevEl: \".swiper-button-prev\",\n        },\n        breakpoints: {\n            640: {\n                slidesPerView: 1.9,\n                spaceBetween: 24,\n            },\n            1024: {\n              slidesPerView: 3.9,\n              spaceBetween: 24,\n            }\n        },\n    });\n\n\n    //Get more images via Ajax (Galeria)\n   \n    var galleryID = 465; // Substitua pelo ID da sua galeria ACF\n    var offset = 8;\n\n    $('#load-more-button').on('click', function() {\n        $.ajax({\n            type: 'POST',\n            url: frontendajax.ajaxurl,\n            data: {\n                action: 'load_more_images',\n                gallery_id: galleryID,\n                offset: offset,\n            },\n            beforeSend: function() {\n                // Adicione um indicador de \"loading\" enquanto as imagens estão sendo carregadas\n                $('#loading').show();\n            },\n            success: function(response) {\n                \n                var result = $.parseJSON(response);\n\n                // Adicione o HTML retornado à sua div de galeria\n                $('.galerias__items').append(result.html).hide().fadeIn();\n\n                // Atualize o offset para a próxima solicitação\n                offset = result.offset;\n\n                // Oculte o indicador de \"loading\" quando as imagens forem carregadas\n                $('#loading').hide();\n\n                // Oculte o botão se não houver mais imagens\n                if (!result.more_images) {\n                    $('#load-more-button').hide();\n                }\n            }\n        });\n    });\n\n    $('.galeria-filter__item button').on('click', function () {\n        //console.log('click');\n        // Remove a classe 'is-active' de todos os botões do filtro\n        $('.galeria-filter__item button').removeClass('is-active');\n\n        // Adiciona a classe 'is-active' ao botão clicado\n        $(this).addClass('is-active');\n\n        // Obtém o valor do atributo data-slug do botão clicado\n        var slug = $(this).parent().data('slug');\n        //console.log(slug);\n\n        if (slug === 'all') {\n            $('.galerias__item').addClass('is-active');\n            $('.faqs__item.accordion-item').addClass('active');
107\n            setActiveIndex();\n        } else {\n            setActiveIndex();\n            // Oculta todos os itens\n            $('.galerias__item').removeClass('is-active');\n            $('.faqs__item.accordion-item').removeClass('active');\n\n\n            // Mostra os itens correspondentes ao data-slug\n            $('.galerias__item[data-slug=\"' + slug + '\"]').addClass('is-active');\n            $('.faqs__item.accordion-item[data-slug=\"' + slug + '\"]').addClass('active');\n        }\n    });\n\n    $('.agenda__item').on({\n        mouseenter: function () {\n            // Imprime o índice do item no console no hover\n           //console.log(this);\n           $('.agenda__item').addClass('not-active')\n           $(this).removeClass('not-active')\n        },\n        mouseleave: function () {\n           \n        }\n    });\n\n    // Código dos filtros - executa apenas se estivermos na homepage ou página da agenda\n    if ($('.filter__item').length > 0) {\n        //click slider articles\n        $('.filter__item').click(function() {\n            var term = $(this).data('id');\n            $('.filter__item').removeClass('is-active');\n            $(this).addClass('is-active');\n            \n            $('.info__slider .swiper-slide').hide(); // Esconde todos os slides de posts\n            $('.info__header .simple-link').hide(); // Esconde todos os links \"Ver mais\" de categoria\n            $('.no-results-message').hide(); // Esconde a mensagem de \"Sem resultados\" por padrão\n\n            var matchingSlides = $('.info__slider .swiper-slide[data-id=\"'+ term +'\"]');\n            var matchingLinks = $('.info__header .simple-link[data-id=\"'+ term +'\"]');\n\n            if (matchingSlides.length > 0) {\n                matchingSlides.show();\n                matchingLinks.show();\n            } else {\n                // Se não houver slides correspondentes, mostra a mensagem de \"Sem resultados\"\n                $('.no-results-message').show();\n            }\n\n            // Mostra o link de notícias apenas quando o filtro de notícias estiver ativo\n            if (term === 0) {\n                var newsLink = $('.info__header .simple-link[data-id=\"0\"]');\n                if (newsLink.length > 0) {\n                    newsLink.show();\n                }\n            }\n        });\n    }\n\n    // Código da agenda - executa apenas se estivermos na página da agenda\n    if ($('.agenda').length > 0) {\n        //load agenda posts\n\n        // Clique nos botões de ano\n        $('#prevBtnYear, #nextBtnYear').on('click', function() {\n            setTimeout(function() { // Aguarda o ano ser atualizado na tela\n                var year = $('#dateYearDisplay').text();\n                var cat = $('.agenda__filters-btn.is-active').attr('data-cat') || 0;\n                console.log('AJAX Request - Sending Data:');\n                console.log('Year:', year);\n                console.log('Category ID:', cat);\n                $.ajax({\n                    type: 'POST',\n                    url: frontendajax.ajaxurl,\n                    data: {\n                        action: 'load_more_agenda',\n                        cat: cat,\n                        year: year\n                    },\n                    beforeSend: function() {\n                        $('.agenda__items').html('<div class=\"loading-indicator\">Carregando...</div>');\n                    },\n                    success: function(response) {\n                        console.log('AJAX Response - Received Data:');\n                        console.log(response);\n                        var data = JSON.parse(response);\n                        $('.agenda__items').html(data.html || '<div class=\"no-results\">Sem resultados...</div>');\n                    },\n                    error: function(xhr, status, error) {\n                        console.error('AJAX Error:', status, error);\n                        console.error('Response Text:', xhr.responseText);\n                    }\n                });\n            }, 100); // Pequeno delay para garantir atualização visual\n        });\n\n        // Clique nos botões de categoria\n        $('.agenda').on('click', '.js-load-agenda', function() {\
107n            var cat = $(this).attr('data-cat') || $('.agenda__filters-btn.is-active').attr('data-cat') || 0;\n            var year = $('#dateYearDisplay').text();\n            console.log('AJAX Request - Sending Data:');\n            console.log('Year:', year);\n            console.log('Category ID:', cat);\n            $.ajax({\n                type: 'POST',\n                url: frontendajax.ajaxurl,\n                data: {\n                    action: 'load_more_agenda',\n                    cat: cat,\n                    year: year\n                },\n                beforeSend: function() {\n                    $('.agenda__items').html('<div class=\"loading-indicator\">Carregando...</div>');\n                },\n                success: function(response) {\n                    console.log('AJAX Response - Received Data:');\n                    console.log(response);\n                    var data = JSON.parse(response);\n                    $('.agenda__items').html(data.html || '<div class=\"no-results\">Sem resultados...</div>');\n                },\n                error: function(xhr, status, error) {\n                    console.error('AJAX Error:', status, error);\n                    console.error('Response Text:', xhr.responseText);\n                }\n            });\n        });\n\n        $('.agenda__filters-btn').click(function () {\n            $('.agenda__filters-btn').removeClass('is-active');\n            $(this).addClass('is-active');\n            var slug_temp = $(this).attr('data-slug');\n            var slug = slug_temp.split('-')[0];\n            $('.agenda__items').attr('data-slug',slug);\n            // Sempre mostrar o filtro de data (ano) para todas as categorias\n            $('.agenda__filters-date').css('display','flex');\n            $('.agenda__filters-date--exposicoes').hide();\n        })\n    }\n\n    function setActiveIndex() {\n        var index = 1; // Inicializa o índice com 1\n        setTimeout(() => {\n            $('.faqs__item.active').each(function() {\n                $(this).find('.tickets__box-position').text(convertToRoman(index)+ '.'); // Adiciona o índice ao conteúdo do <li>\n                index++; // Incrementa o índice\n            });\n            \n        },0.5);\n    }\n    setActiveIndex();\n    \n    // Inicia o filtro da agenda no carregamento da página\n    // Encontra o botão de filtro que está ativo por padrão\n    var initialActiveFilterBtn = $('.filter__item.is-active');\n    // Se houver um botão ativo, simula um clique para aplicar o filtro\n    if (initialActiveFilterBtn.length) {\n        initialActiveFilterBtn.click();\n    } else {\n        // Fallback: se nenhum filtro estiver ativo por padrão, ativa o primeiro filtro de notícias\n        // Isto é para o caso de o primeiro item ser sempre notícias e o filtro de notícias ser data-id=\"0\"\n        $('.filter__item[data-id=\"0\"]').click();\n    }\n    \n\n   \n});\n\nfunction convertToRoman(num) {\n    // Definição dos valores romanos\n    const romanNumerals = [\n        [\"M\", 1000],\n        [\"CM\", 900],\n        [\"D\", 500],\n        [\"CD\", 400],\n        [\"C\", 100],\n        [\"XC\", 90],\n        [\"L\", 50],\n        [\"XL\", 40],\n        [\"X\", 10],\n        [\"IX\", 9],\n        [\"V\", 5],\n        [\"IV\", 4],\n        [\"I\", 1]\n    ];\n\n    let result = '';\n\n    // Loop para construir o número romano\n    for (const [roman, value] of romanNumerals) {\n        while (num >= value) {\n            result += roman;\n            num -= value;\n        }\n    }\n\n    return result;\n}\n\n//# sourceURL=webpack:///./src/js/app.js?");
108
109/***/ }),
110
111/***/ "./src/sass/main.scss":
112/*!****************************!*\
113  !*** ./src/sass/main.scss ***!
114  \****************************/
115/*! no static exports found */
116/***/ (function(module, exports, __webpack_require__) {
117
118eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/sass/main.scss?");
119
120/***/ })
120,
121
122/***/ 0:
123/*!*******************************************************************!*\
124  !*** multi ./src/js/app.js ./src/js/anim.js ./src/sass/main.scss ***!
125  \*******************************************************************/
126/*! no static exports found */
127/***/ (function(module, exports, __webpack_require__) {
128
129eval("__webpack_require__(/*! ./src/js/app.js */\"./src/js/app.js\");\n__webpack_require__(/*! ./src/js/anim.js */\"./src/js/anim.js\");\nmodule.exports = __webpack_require__(/*! ./src/sass/main.scss */\"./src/sass/main.scss\");\n\n\n//# sourceURL=webpack:///multi_./src/js/app.js_./src/js/anim.js_./src/sass/main.scss?");
130
131/***/ })
132
133/******/ });

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.