gcg-website/assets/js/script.js
Denys Konovalov aa7c6de313
All checks were successful
Website Prod/Test / Produktivumgebung (push) Successful in 12s
Website Prod/Test / Testumgebung (push) Successful in 8s
Website Pull Request / Pull-Request-Testbuild (pull_request) Successful in 24s
Refactor charts component (#295)
Reviewed-on: #295
2024-09-19 20:26:42 +02:00

156 lines
4.5 KiB
JavaScript

(($) => {
"use strict";
// adapt header to height
function adaptHeight() {
var height = $(".top-header").innerHeight();
if ($("header").offset().top > 10) {
$(".top-header").addClass("hide");
$(".navigation").addClass("nav-bg");
$(".navigation").css("margin-top", "-" + height + "px");
} else {
$(".top-header").removeClass("hide");
if (!$("#top-banner").length) {
$(".navigation").removeClass("nav-bg");
}
$(".navigation").css("margin-top", "-" + 0 + "px");
}
}
// load scripts
$(window).on("load", function () {
$(".preloader").fadeOut(100);
adaptHeight();
if ($("#top-banner").length) {
$(".navigation").addClass("nav-bg");
$(".hero-section").addClass("hs-banner");
$(".page-title-section").addClass("pts-banner");
} else {
$(".hero-section").removeClass("hs-banner");
$(".page-title-section").removeClass("pts-banner");
}
});
// sticky menu
$(window).scroll(adaptHeight);
// hero slider
$(".hero-slider").slick({
autoplay: true,
autoplaySpeed: 5000,
pauseOnFocus: false,
pauseOnHover: true,
infinite: true,
arrows: true,
prevArrow:
'<button type=\'button\' class=\'prevArrow\'><svg xmlns="http://www.w3.org/2000/svg" id="mdi-chevron-left" class="arrowIcon" viewBox="0 0 24 24" height="1em" width="1em" fill="currentColor"><path d="M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z" /></svg></button>',
nextArrow:
'<button type=\'button\' class=\'nextArrow\'><svg xmlns="http://www.w3.org/2000/svg" id="mdi-chevron-left" class="arrowIcon" viewBox="0 0 24 24" height="1em" width="1em" fill="currentColor"><path xmlns="http://www.w3.org/2000/svg" d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"/></svg></button>',
dots: true,
});
// venobox popup
$(document).ready(function () {
// @ts-ignore
new VenoBox({
selector: ".vb-video",
spinner: "grid",
});
// @ts-ignore
new VenoBox({
selector: ".vb-gallery",
numeration: true,
infinigall: true,
share: true,
shareStyle: "block",
spinner: "grid",
fitView: true,
navTouch: true,
});
});
// filter
$(document).ready(function () {
if ($(".filter-container").length != 0) {
// @ts-ignore
const shuffleInstance = new Shuffle($(".filter-container"), {
itemSelector: ".filter-item",
sizer: ".filter-sizer",
delimiter: ",",
isCentered: true,
});
$(".filter-controls li").on("click", function () {
$(".filter-controls li").removeClass("active");
$(this).addClass("active");
shuffleInstance.filter($(this).data("filter"));
});
}
});
// counter
$(window).on("scroll", function () {
var oTop = 0;
if ($(".count").length !== 0) {
oTop = $(".count").offset().top - window.innerHeight;
}
if ($(window).scrollTop() > oTop) {
$(".count").each(function () {
var $this = $(this),
countTo = $this.attr("data-count");
$({ countNum: $this.text() }).animate(
{ countNum: countTo },
{
duration: 1000,
easing: "swing",
step: function () {
return $this.text(Math.floor(this.countNum));
},
complete: function () {
return $this.text(this.countNum);
},
}
);
});
}
});
$(window).on("DOMContentLoaded", function () {
// @ts-ignore
new PagefindUI({
element: "#search",
translations: {
placeholder: "Suchen...",
zero_results: "Leider konnten keine Ergebnisse zu [SEARCH_TERM] gefunden werden",
clear_search: "Löschen",
},
});
$("#pagefind-search").on("shown.bs.modal", function () {
$(".pagefind-ui__search-input").focus();
});
});
// enable matomo analytics
// @ts-ignore
var _paq = (window._paq = window._paq || []);
_paq.push(["setDoNotTrack", true]);
_paq.push(["disableCookies"]);
_paq.push(["trackPageView"]);
_paq.push(["enableLinkTracking"]);
(function () {
var u = "https://analytics.cantorgymnasium.de/";
_paq.push(["setTrackerUrl", u + "matomo.php"]);
_paq.push(["setSiteId", "1"]);
var d = document,
g = d.createElement("script"),
s = d.getElementsByTagName("script")[0];
g.async = true;
g.src = u + "matomo.js";
s.parentNode.insertBefore(g, s);
})();
// @ts-ignore
new LazyLoad();
// @ts-ignore
})(jQuery);