İlk mesaj burada görünecek
Siparişlerim
Hakkımızda
İletişim
Tedarikçi Giriş
Türkçe
Русский
English
Giriş
Kayıt
YENİDOĞAN
MEVLÜTLÜK TAKIM
ZIBIN SETİ
BATTANİYE
PATİK - AYAKKABI
BORNOZ - SİLGİ HAVLU
BEBE AKSESUAR
KUNDAK - ALT AÇMA
BEBE ÖNLÜK
BEBE
BEBE ŞAPKA
BEBE BADİ
BEBE TULUM
BEBE TEK ALT - ÜST
BEBE PİJAMA TAKIM
BEBE SALOPET
BEBE ELBİSE
BEBE LÜX TAKIM
BEBE TAKIM
KIZ ÇOCUK
KIZ BADİ - T-SHİRT
KIZ ELBİSE - JİLE - TULUM
KIZ GÖMLEK - BLUZ - TUNİK
KIZ LÜX TAKIM
KIZ TAKIM
KIZ PANTOLON
KIZ PİJAMA TAKIMI
KIZ TAYT - TEK ALT
KIZ TRİKO - KAZAK - HIRKA - YELEK - KABAN
KIZ SWEAT
ERKEK ÇOCUK
ERKEK SWEAT - T-SHİRT - GÖMLEK
ERKEK TAKIM
ERKEK PİJAMA TAKIMI
ERKEK PANTOLON
ERKEK LÜX TAKIM
ERKEK TEK ALT
ERKEK TRİKO-KAZAK-HIRKA
ÇORAP & ÇAMAŞIR
ÇOCUK ATLET
ÇOCUK KÜLOT - BOXER
ÇOCUK ÇAMAŞIR TAKIMI
ÇORAP
YENİ YIL
YENİ YIL - NOEL ÜRÜNLERİ
YENİDOĞAN
Sıralama
Varsayılan
Eskiden Yeniye
Yeniden Eskiye
Fiyat Artan
Fiyat Azalan
006.PAMUK.0019
BISIKLETLI AYI NAKISLI BEBE HAVLU
006.PAMUK.0037
BABY TAVSAN NAKISLI HAVLU
006.PAMUK.0032
KALP AYICIKLAR NAKISLI HAVLU
006.PAMUK.0018
OYUNCAKLI TAVSAN NAKISLI BEBE HAVLU
006.PAMUK.0024
PAPAGAN NAKISLI BEBE HAVLU
006.LEONCİNO.0101
RUGAN TASLI BABET
006.PETİNO.9013
FILLI AYILI 10 SET
006.BAYSEL.2013
MEVLUTLUK TAKIM
0/3 Ay
005.BABYLİA.9001
LUX MEVLUTLUK TAKIM BEYAZ
0/3 Ay
005.BABYLİA.1002
MEVLUTLUK TAKIM
0/3 Ay
006.BABYLİA.2009
LACIVERT PAPYONLU MEVLUTLUK TAKIM
0/3 Ay
006.BABYLİA.2013
ERKEK MEVLUT TAKIM
0/3 Ay
006.BABYLİA.2016
ERKEK MEVLUT TAKIM
0/3 Ay
005.BABYLİA.2001
MEVLUTLUK TAKIM
0/3 Ay
005.BABYLİA.2005
MEVLUT TAKIMI
0/3 Ay
006.BABYLİA.1012
MEVLUT TAKIM
0/3 Ay
006.BABYLİA.1011
MEVLUT TAKIMI
0/3 Ay
006.BABYLİA.1017
EKO KIZ MEVLUTLUK SET
0/3 Ay
006.BABYLİA.2007
BORDO PAPYONLU MEVLUTLUK TAKIM
0/3 Ay
005.BABYLİA.2003
MEVLUTLUT TAKIM
0/3 Ay
006.BABYLİA.2018
ERKEK MEVLUT TAKIM
0/3 Ay
006.BABYLİA.2006
BORDO BEBE YAKA MEVLUTLUK TAKIM
0/3 Ay
006.BABYLİA.1015
EKO KIZ MEVLUTLUK SET
0/3 Ay
006.BEBECİX.4627
FANTEZI KADIFE KAPITONE TASLI KUNDAK
32
33
34
35
36
Yükleniyor Lütfen Bekleyiniz
Tüm Ürünleri Görüntülediniz.
document.addEventListener("DOMContentLoaded", function () { setTimeout(function () { const path = window.location.pathname; const bodyClassList = document.body.classList; const isTargetPage = path.includes("/product") || path.includes("/complete_order") || path.includes("/siparislerim") || path.includes("/hesabim") || path.includes("/account") || path.includes("/profile") || path.includes("/orders/detail") || path.includes("/uye/duzenle") || // bodyClassList.contains("productDetailPage") || bodyClassList.contains("complete_order") || bodyClassList.contains("siparislerim") || bodyClassList.contains("hesabim"); if (!isTargetPage) return; const header = document.querySelector(".mobile-header"); const content = document.querySelector(".productDetailPage") || document.querySelector("main") || document.querySelector(".pageContent") || document.querySelector(".container") || document.querySelector(".detailWrapper"); const stickyHeader = document.querySelector("header#helen.fixed"); const btnWrapper = document.getElementById("repeatOrderBtnWrapper"); const btn = document.getElementById("repeatOrderBtn"); if (header && content) { const headerHeight = header.offsetHeight; // Mobil header boşluğu uygula content.style.marginTop = headerHeight + "px"; // Eğer buton varsa: başta gizli başlasın if (btnWrapper && btn) { btnWrapper.style.marginTop = headerHeight + "px"; btnWrapper.style.opacity = "1"; btnWrapper.style.visibility = "visible"; btn.style.opacity = "1"; btn.style.visibility = "visible"; } console.log("✅ Mobil header boşluğu uygulandı:", headerHeight + "px"); } else { console.warn("❌ Header veya içerik bulunamadı."); } // Sticky scroll header davranışı (özellikle ürün detay için) if (stickyHeader) { window.addEventListener("scroll", function () { if (window.scrollY > 50) { stickyHeader.classList.add("stickyOn"); } else { stickyHeader.classList.remove("stickyOn"); } }); } }, 500); }); /* ===== Tekrar Sipariş Ver =====*/ document.addEventListener('DOMContentLoaded', function () { const form = document.getElementById('repeatAddToCartForm'); function addProductToCart(product) { return new Promise((resolve, reject) => { form.urun_id.value = product.urun_id || ''; form.measure_id.value = product.measure_id || ''; form.adet.value = product.adet || 1; form.renk.value = product.renk || ''; // AJAX form gönderimi const formData = new FormData(form); fetch(form.action, { method: 'POST', body: formData, credentials: 'same-origin', headers: { 'X-Requested-With': 'XMLHttpRequest' } }) .then(response => response.json()) .then(data => { if (data.success) { resolve(data); } else { reject(data.message || 'Sepete eklenemedi'); } }) .catch(err => { reject(err); }); }); } document.querySelectorAll('.repeat-order-btn').forEach(btn => { btn.addEventListener('click', function () { const orderId = this.getAttribute('data-order-id'); if (!orderId) return; this.disabled = true; this.innerHTML = '
'; // Sipariş ürünlerini JSON olarak backend’den al fetch(`/api/get-order-products/${orderId}`, { method: 'GET', credentials: 'same-origin', headers: { 'X-Requested-With': 'XMLHttpRequest' } }) .then(res => { if (!res.ok) throw new Error('Sipariş ürünleri alınamadı'); return res.json(); }) .then(products => { if (!products || !products.length) throw new Error('Sipariş ürünü yok'); // Ürünleri tek tek sepete ekle let promises = products.map(p => addProductToCart(p)); return Promise.all(promises); }) .then(() => { alert('Sipariş ürünleri sepete eklendi.'); }) .catch(err => { alert('Tekrar sipariş işlemi başarısız: ' + err); }) .finally(() => { this.disabled = false; this.innerHTML = '
'; }); }); }); }); /* ===== Mobil Uygulama Bildirim =====*/ document.addEventListener("DOMContentLoaded", function () { const isMobile = /iPhone|Android|iPad|iPod|Opera Mini|IEMobile|Mobile/i.test(navigator.userAgent); const banner = document.getElementById("smart-banner"); // Oturumda daha önce kapatılmışsa veya mobil değilse banner'ı gösterme const isBannerClosed = sessionStorage.getItem("smartBannerClosed"); if (!isMobile || isBannerClosed === "true") { if (banner) { banner.style.display = "none"; } } }); 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/tr/app/payas-kids/id1521808073"; } else { alert("Cihaz tanımlanamadı. Lütfen mobil uygulama mağazasından uygulamayı arayın."); } } function closeSmartBanner() { const banner = document.getElementById("smart-banner"); if (banner) { banner.remove(); // Kullanıcının bu oturumda bildirimi kapattığını kaydet sessionStorage.setItem("smartBannerClosed", "true"); } } /* ===== 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 === */
Toptan bebe ve çocuk giyim özel fırsatlarını kaçırmamak için uygulamayı kullanabilirsin.
✕
Uygulamaya git