İ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.2410
3/9 AY UNİSEX KALP KOLLU İKİLİ BADY TAKIM
3 AY 6 AY 9 AY
006.NAYİNOM.1928
3/9 AY RAPOR CICEK PATIKLI TULUM
3 AY 6 AY 9 AY
006.WOOPS.3000
6/18 AY HAYVANLAR BASKILI ERKEK TAKIM
6 AY 9 AY 12 AY 18 AY
006.NAYİNOM.1208
3/9 AY KEDILI BADİLİ 3 LU TAKIM
3 AY 6 AY 9 AY
006.NAYİNOM.1211
3/9 AY UNİSEX BALERİN 3'LÜ TAKIM
3 AY 6 AY 9 AY
006.BABYİM.1990
3/9 AY KIZ ÇİÇEKLİ TAVŞANLI 3LÜ CEKET TAKIM
3 AY 6 AY 9 AY
006.BBKİDS.2040
3/9 AY SCOTER AYI TULUM
3 AY 6 AY 9 AY
006.BBKİDS.2043
3/9 AY PAPATYA TULUM
3 AY 6 AY 9 AY
006.BBKİDS.2045
3/9 AY COOL YAZILI TULUM
3 AY 6 AY 9 AY
006.BBKİDS.2051
3/9 AY CICEK EMOJILI TULUM
3 AY 6 AY 9 AY
006.PAKEL.0280
3/9 AY ERKEK CEPLERİ FIRFIRLI ÜÇLÜ TAKIM
3 AY 6 AY 9 AY
006.ZENİ.2924
9/24 AY CEPLI WELSOFT KOT CEKET
9 AY 12 AY 18 AY 24 AY
006.NAYİNOM.1595
1/3 Y KAMP DESENLI KOLLU BUYUK BADY
1 YAŞ 2 YAŞ 3 YAŞ
006.MİSSİE.23153
6/24 AY BALERIN BASKILI ETEKLERI TULLU BEBE ELBISE
6 AY 12 AY 18 AY 24 AY
006.SÜPERMİNİ.1324
1/3 Y BULUTLU KARDAN ADAM PIJAMA TAKIM
1 YAŞ 2 YAŞ 3 YAŞ
006.MAKKUK.0633
6/9 AY FLAMINGO NAKISLI BEBE TAKIM
6 AY 9 AY
006.MAKKUK.0638
6/9 AY CUTE PANDA NAKISLI BEBE TAKIM
6 AY 9 AY
006.MAKKUK.0641
6/9 AY HAPPY ELEPHANT NAKISLI BEBE TAKIM
6 AY 9 AY
006.NANON.7640
3/12 AY ERKEK CEKETLİ BASKILI NAKIŞLI TULUM
3 AY 6 AY 9 AY 12 AY
006.BABYMİİ.0184
3/9 AY KIZ DAISY TULUM
3 AY 6 AY 9 AY
006.BABYMİİ.0185
3/9 AY KIZ HELLO KITTY TULUM
3 AY 6 AY 9 AY
006.DECO.24877
9/24 AY MIKI NAKISLI 3 IP ERKEK TAKIM
9 AY 12 AY 18 AY 24 AY
006.SÜPERMİNİ.1268
1/3 YAS CIZGILI WROOM PELERINLI 2LI TAKIM
1 YAŞ 2 YAŞ 3 YAŞ
006.SÜPERMİNİ.5505
6/12 AY KIZ MINIK KEDI 6-9-12 AYLIK 2Lİ TK
6 AY 9 AY 12 AY
50
51
52
53
54
55
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