İlk mesaj burada görünecek
Siparişlerim
Hakkımızda
İletişim
Tedarikçi Giriş
Türkçe
Русский
English
Sign In
Sign Up
NEW BORN
NEW BORN BABY
BABY BODYSUİT SET
BLANKET
BABY BOOTİES SHOES
ROPE AND BATH SET
BABY ACCESSORIES
BABY SLEEPİNG BAG
BABY APRON
BABY WEARS - GIFTS
BABY CAP
BABY VEST
BABY OVERALLS
SİNGLE BOTTOM
PAJAMA SUİT
OVERALLS
BABY DRESS
BEBE LÜX TAKIM
BABY SUİT
GIRLS
GIRL BODY SUIT - TUNIC
DRESS - GILET - OVERALLS
SHİRT - TUNİC
LUX GİRLS SUİT
GİRL SUİT
PANTS - CAPRİ- SİNGLE BOTTOM
GİRL PİJAMA SET
TİGHTS - SİNGLE BOTTOM
GIRL SWEATER - HODDIES-WOOL
SWEATER
BOY CLOTHES
BODY SUİT - SWEATER
BOY SUİT
PAJAMA SUİT
BOY PANT
LÜX BOYS SUİT
Tracksuit Single Bottom
Knitwear Suits - Sweaters - Hoodies
CHILDREEN UNDERWEAR
KİDS ATHLEHE
CHİLDREN PANTİES - BOXER
CHİLDREN UNDERWEAR SET
SOCKS
CHRISTMAS
YENİ YIL - NOEL ÜRÜNLERİ
BABY WEARS - GIFTS
Sort By
Default
Old to New
New to Old
Price Increase
Price Decrease
006.NAYİNOM.1935
1/3 YAS KELEBEK BASKILI SORTLU TULUM
1 YAŞ 2 YAŞ 3 YAŞ
006.NAYİNOM.1934
1/3 YAS CIZGILI UNICORN SORTLU TULUM
1 YAŞ 2 YAŞ 3 YAŞ
006.NAYİNOM.1931
1/3 YAS BOY BASKILI SORTLU TULUM
1 YAŞ 2 YAŞ 3 YAŞ
006.CİB.1301
6/24 AY AX UX NAKISLI KIZ PANTOLON
6 AY 12 AY 18 AY 24 AY
006.POLİFONİ.1250
3/9 AY LITTLE MAN DESENLI 3 PARCA BADILI TAKIM
3 Ay , 9 Ay
006.MİNİZEYN.7024
6/12 AY VALONLU KIZ 3 LU TAKIM
6 AY 9 AY 12 AY
006.ADMCROWN.3407
RABBIT SAPKA
0-24 AY
006.BEBİO.3042
3/18 AY DENIZCI CAPA BASKILI ASKILI BADY
3 Ay , 6 Ay , 9 Ay , 12 Ay , 18 Ay
006.ANNORA.0173
0/6 AY PRINGLES BASKILI ERKEK TULUM
0-6 AY
006.FEKRA.6060
3/18 AY SIRIN NAKISLI BADILI ELBISE
3 Ay , 6 Ay , 9 Ay , 12 Ay , 18 Ay
006.ERAY.13102
12/36 AY DENIZ KIZI BASKILI ELBISE
12 AY 18 AY 24 AY 36 AY
006.BABYZ.5645
6/12 AY CICEK NAKISLI KIZ TAKIM
6 AY 9 AY 12 AY
006.MİNİTOY.0049
KOPEKLI RIBANALI BERE
0-24 AY
006.MİNİTOY.0015
DOKUMAKEDILI SAPKA
0-24 AY
006.BABYTOO.7082
0/9 AY AYICIK DESENLI KOLLU BADI
0 AY, 3 AY, 6 AY, 9 AY,
006.BABYİM.1575
3/9 AY ELLER NAKISLI CIZGILI BADILI TAKIM
3 Ay , 6 Ay , 9 Ay
006.BABYİM.1568
3/9 AY HAPPY FLOP TAVSAN NAKISLI BADILI ERKEK TAKM
3 Ay , 6 Ay , 9 Ay
006.MİNİTOY.0086
FIYONKLU TRIKO BERE
006.NAYİNOM.1604
0/12 AY KOPEKLI DESENLI KOLLU KUCUK BADY
0-3 Ay, 3-6 Ay, 6-9 Ay, 9-12Ay,
006.BEBİO.2062
3/18 AY KINDER BASKILI UZUNKOL BADY
3 Ay , 6 Ay , 9 Ay , 12 Ay , 18 Ay
006.BEBİO.2087
3/18 AY KIT KAT BASKILI UZUNKOL BADY
3 Ay , 6 Ay , 9 Ay , 12 Ay , 18 Ay
006.BABYİM.1265
3/9 AY PRINCE NAKISLI 3 LU TAKIM
3 Ay , 6 Ay , 9 Ay
006.NAYİNOM.1526
4/6 YAS RAPOR BATTAL ATLET
006.NAYİNOM.1538
1/3 Y RAPOR YARIM KOL BUYUK BADY
1 Yaş , 2 Yaş ,3 Yaş
61
62
63
64
65
66
Loading Please Wait
You Have Viewed All Products.
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