function redirectToStore() {
const userAgent = navigator.userAgent || navigator.vendor || window.opera;
if (/android/i.test(userAgent)) {
window.location.href = "https://play.google.com/store/apps/details?id=com.serenay.payasbebe&hl=en_SG&gl=US";
} else if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
window.location.href = "https://apps.apple.com/app/id1521808073";
} else {
alert("Cihaz tanımlanamadı. Lütfen mobil uygulama mağazasından uygulamayı arayın.");
}
}
/* ===== Lazy Video =====*/
document.addEventListener("DOMContentLoaded", function() {
let videos = document.querySelectorAll(".lazy-video");
videos.forEach(video => {
let playSelector = video.getAttribute("data-play");
let stopSelector = video.getAttribute("data-stop");
let manualPlay = !!playSelector;
// Kontrolleri ayarla
let controls = video.getAttribute('data-controls');
if (controls === "false") {
video.removeAttribute("controls");
} else {
video.setAttribute("controls", "true");
}
if (manualPlay) {
let playButton = document.querySelector(playSelector);
if (playButton) {
playButton.addEventListener("click", function() {
if (!video.src && video.getAttribute("data-src")) {
video.src = video.getAttribute("data-src");
video.removeAttribute("data-src");
}
video.play()
.then(() => {
video.parentElement.classList.add("videoRun");
})
.catch(err => {
console.log("Manuel oynatma başarısız:", err);
});
});
video.addEventListener("ended", function() {
video.parentElement.classList.remove("videoRun");
});
// Video görünürlükten çıkınca durdurmak için observer ekle
let observer = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.target !== video) return;
if (!entry.isIntersecting) {
video.pause();
video.currentTime = 0;
video.parentElement.classList.remove("videoRun");
video.load(); // Poster geri gelsin
}
});
}, { threshold: 0.1 });
observer.observe(video);
}
// data-stop butonu varsa işlevini ekle
if (stopSelector) {
let stopButton = document.querySelector(stopSelector);
if (stopButton) {
stopButton.addEventListener("click", function() {
video.pause();
video.currentTime = 0;
video.parentElement.classList.remove("videoRun");
video.load(); // Poster tekrar gösterilsin
});
}
}
return;
}
// Lazy-load için observer
let delay = video.getAttribute('data-delay') || '10%';
let threshold = parseFloat(delay) / 100;
let observer = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.target !== video) return;
if (entry.isIntersecting) {
if (!video.src && video.getAttribute("data-src")) {
video.src = video.getAttribute("data-src");
video.removeAttribute("data-src");
}
video.currentTime = 0;
video.play()
.then(() => {
video.parentElement.classList.add("videoRun");
})
.catch(err => {
console.log("Autoplay engellendi:", err);
});
} else {
video.pause();
video.currentTime = 0;
video.parentElement.classList.remove("videoRun");
video.load(); // Poster tekrar görünsün
}
});
}, { threshold });
observer.observe(video);
});
});
/* ===== Lazy Video End =====*/
/* ===== Görünür Alan Animasyonları ===== */
// Intersection Observer oluşturma
const observer = new IntersectionObserver(entries => {
entries.forEach(entry => {
const target = entry.target;
const isActuallyVisible = isElementVisible(target);
if (entry.isIntersecting && isActuallyVisible) {
target.classList.add("viewing");
// Sayaç varsa başlat
const counters = target.querySelectorAll('.counter');
counters.forEach(counter => {
const start = +counter.getAttribute('data-start');
const targetValue = +counter.getAttribute('data-target');
const speed = 20;
const divider = 100;
let count = start;
const updateCount = () => {
const inc = (targetValue - start) / divider;
if (count < targetValue) {
counter.innerText = Math.ceil(count).toLocaleString('tr-TR');
count += inc;
setTimeout(updateCount, speed);
} else {
counter.innerText = targetValue.toLocaleString('tr-TR');
}
};
updateCount();
});
} else {
target.classList.remove("viewing");
}
});
}, { threshold: 0.5 }); // Görünürlük eşiği (ayar isteğe bağlı)
// Görsel olarak gerçekten görünür mü kontrolü (evrensel)
function isElementVisible(el) {
const style = getComputedStyle(el);
return (
style.display !== "none" &&
style.visibility !== "hidden" &&
style.opacity !== "0"
);
}
// "watch" sınıfına sahip tüm elementleri izle
document.querySelectorAll(".watch").forEach(section => {
observer.observe(section);
});
/* ===== Görünür Alan Animasyonları End ===== */
/* ===== Daktilo Efekti ===== */
const typewriterElements = document.querySelectorAll('.typewriter');
typewriterElements.forEach(typewriterElement => {
const texts = typewriterElement.getAttribute('data-text').split(',').map(text => text.trim());
const states = (typewriterElement.getAttribute('data-state') || "repeat")
.split(',')
.map(state => state.trim());
const loopAttr = typewriterElement.getAttribute('data-loop');
// loop ayarı
let loopCount = Infinity;
if (loopAttr === "false") {
loopCount = 1;
} else if (!isNaN(parseInt(loopAttr))) {
loopCount = parseInt(loopAttr);
}
// Hız ayarları
const typeSpeed = parseInt(typewriterElement.getAttribute('data-type-speed')) || 70;
const deleteSpeed = parseInt(typewriterElement.getAttribute('data-delete-speed')) || 60;
const delayBeforeDelete = parseInt(typewriterElement.getAttribute('data-delay-before-delete')) || 1000;
const delayBeforeType = parseInt(typewriterElement.getAttribute('data-delay-before-type')) || 500;
const initialDelay = parseInt(typewriterElement.getAttribute('data-delay')) || 0; // Yeni eklendi
let textIndex = 0;
let index = 0;
let isDeleting = false;
let currentText = '';
let started = false;
let loopsCompleted = 0;
let isDone = false;
function typeWriter() {
if (!started || isDone || loopsCompleted >= loopCount) return;
currentText = texts[textIndex];
if (!isDeleting && index < currentText.length) {
typewriterElement.innerText = currentText.substring(0, index + 1);
index++;
setTimeout(typeWriter, typeSpeed);
} else if (isDeleting && index > 0) {
typewriterElement.innerText = currentText.substring(0, index - 1);
index--;
setTimeout(typeWriter, deleteSpeed);
} else if (index === currentText.length && !isDeleting) {
if (loopCount === 1) {
isDone = true;
return;
}
isDeleting = true;
setTimeout(typeWriter, delayBeforeDelete);
} else if (index === 0 && isDeleting) {
isDeleting = false;
textIndex++;
if (textIndex >= texts.length) {
textIndex = 0;
loopsCompleted++;
}
if (loopsCompleted < loopCount) {
setTimeout(typeWriter, delayBeforeType);
}
}
}
function startTyping() {
if (!started && !isDone) {
started = true;
setTimeout(typeWriter, initialDelay); // İlk gecikme burada uygulanıyor
}
}
function resetAndStartTyping() {
started = false;
loopsCompleted = 0;
textIndex = 0;
index = 0;
isDeleting = false;
isDone = false;
typewriterElement.innerText = '';
startTyping();
}
// Çoklu state kontrolü
states.forEach(state => {
if (state === "seen") {
const observer = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.isIntersecting) {
resetAndStartTyping();
}
});
}, { threshold: 0.6 });
observer.observe(typewriterElement);
} else if (state === "hover") {
typewriterElement.addEventListener("mouseenter", startTyping);
} else if (state === "click") {
typewriterElement.addEventListener("click", startTyping);
} else if (state === "repeat") {
startTyping();
}
});
});
/* ===== Daktilo Efekti End ===== */
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function(tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
})
var payasStart = $('.payasStart');
payasStart.click(function() {
$('#popular').addClass('videoRun');
});
/**/
let lastScrollTop = 0;
window.addEventListener('scroll', function () {
const header = document.querySelector('header');
const mobile_header = document.querySelector('.mobile-header');
const body = document.querySelector('body');
const manipulation = document.getElementById('manipulation');
const currentScroll = window.scrollY;
if (currentScroll > 10) {
if (header) header.classList.add('stickyOn');
if (mobile_header) mobile_header.classList.add('stickyOn');
if (manipulation) manipulation.classList.add('stickyOn');
} else {
if (header) header.classList.remove('stickyOn');
if (mobile_header) mobile_header.classList.remove('stickyOn');
if (manipulation) manipulation.classList.remove('stickyOn');
}
lastScrollTop = currentScroll <= 0 ? 0 : currentScroll;
});
/**/
// searchContent nesnesini ve içindeki elemanları seç
const searchContent = document.querySelector('.searchContent');
// Elementlerin sayfada varlığını kontrol et
if (searchContent) {
const inputElement = searchContent.querySelector('input');
const labelElement = searchContent.querySelector('label');
// input ve label elementlerinin varlığını kontrol et
if (inputElement && labelElement) {
let hoverTimeout;
// Hover olayı olduğunda inputa focus ver, label opacity'sini 0 yap ve varsa önceki timeout'u iptal et
searchContent.addEventListener('mouseenter', function() {
clearTimeout(hoverTimeout); // Önceki timeout'u temizle
inputElement.focus();
labelElement.style.opacity = '0'; // Label opaklığını 0 yap
});
// Hover'dan çıkıldığında focusu 1.5 saniye geciktirerek kaldır ve label opacity'sini geri döndür
searchContent.addEventListener('mouseleave', function() {
hoverTimeout = setTimeout(function() {
inputElement.blur();
inputElement.value = '';
labelElement.style.opacity = '1'; // Label opaklığını geri döndür
}, 1500); // 1.5 saniye bekleme
});
}
}
/**/
document.addEventListener('DOMContentLoaded', function () {
const isHomePage = window.location.pathname === "/";
const alreadyShown = localStorage.getItem('welcomeModalShown');
if (isHomePage && !alreadyShown) {
const modalElement = document.getElementById('welcomeModal');
const bootstrapModal = new bootstrap.Modal(modalElement, {
backdrop: 'static',
keyboard: false
});
// Modalı aç
bootstrapModal.show();
// Otomatik kapanma
setTimeout(() => {
// Önce fadeOut animasyonu uygula
$(modalElement).fadeOut(500, function () {
// fadeOut tamamlandıktan sonra gerçekten kapat
bootstrapModal.hide(); // Bootstrap state'i temizlemesi için çağırılır
$(modalElement).removeClass('show').removeAttr('style').hide();
$('body').removeClass('modal-open');
$('.modal-backdrop').remove();
// Bir daha gösterilmemesi için kaydet
localStorage.setItem('welcomeModalShown', 'true');
});
}, 3500);
}
});
/**/
document.addEventListener('DOMContentLoaded', function () {
const pageElement = document.getElementById('page');
if (pageElement && pageElement.classList.contains('homePage')) {
document.body.classList.add('home');
}
});
/**/
/* ===== Hesaplamalar ===== */
var windowh = $(window).outerHeight(); // Window Yüksekliği
var headerh = $('header').outerHeight(); // Header Yüksekliği
var footerh = $('footer').outerHeight(); //
/* ===== Hesaplamalar End ===== */
/* === Footer Fixed === */
$('.footerFixed').css({
'min-height': (windowh - (headerh + footerh)) + 'px',
});
/* === Footer Fixed End === */
/* === Content Fixed === */
$('.contentFixed').css({
'min-height': (windowh - (headerh)) + 'px',
});
/* === Content Fixed End === */
✕
Sana özel fırsatları kaçırmamak için uygulamayı kullanabilirsin
Uygulamaya git