درباره آینوتی
خانم حنانه مرادی
(مشاور فروش هلدینگ بین المللی inoti)
ارائه رسانه های نوین ارتباط با مشتری(کارت ویزیت الکترونیک، کدهای دستوری ussd، رزومه سازicv، پنل پیامکی رایگان،اپلیکیشن تبلیغاتی، سرویس اینما)
ارائه عاملیت فروش خدمات ،آموزش و پشتیبانی
ربات تلگرام.
https://t.me/iNoti_bot?start=getebc807531
وب سایت
https://sl.inoti.com/r/2cjzzx
آیدی تلگرام
OpenStreetMap contributors' }).addTo(map); L.marker([lat, lon]).addTo(map); }; function updatePagination(totalItems) { if (totalItems > 12) { let totalPages = Math.ceil(totalItems / itemsPerPage); document.querySelector('.current-page').innerText = currentPage; document.querySelector('.total-pages').innerText = totalPages; } else { return; } }; function filterProducts() { let selectedCategory = document.getElementById('category-filter').value; filteredProducts = selectedCategory === 'all' ? products : products.filter(p => p.CategoryId == selectedCategory); currentPage = 1; updatePagination(filteredProducts.length); renderProducts(filteredProducts.slice(0, itemsPerPage)); } function renderProducts(products) { let productsList = document.getElementById('products-list'); productsList.innerHTML = ''; products.forEach(item => { let productCardWithDiscount = `
"); document.getElementById('modal-description-body').innerHTML = sanitizeHtml(regexToLinkJS(descriptionBody)); const priceBox = document.querySelector('.price-box'); if (product.Amount) { const priceElement = document.getElementById('modal-price'); priceElement.innerText = `${new Intl.NumberFormat('fa-IR').format(product.Amount - product.Amount * product.DiscountPercent / 100)} تومان`; priceBox.style.display = 'flex'; } else { priceBox.style.display = 'none'; } document.getElementById('main-image').src = `https://storage.inoti.com/s1/get/${product.UserId * 2}/EbcProduct/${product.MainImage}`; document.getElementById('modal-image1').src = `https://storage.inoti.com/s1/get/${product.UserId * 2}/EbcProduct/${product.MainImage}`; const imageElements = [ { id: 'modal-image2', src: product.Image2 }, { id: 'modal-image3', src: product.Image3 }, { id: 'modal-image4', src: product.Image4 }, { id: 'modal-image5', src: product.Image5 } ]; imageElements.forEach(img => { const imgElement = document.getElementById(img.id); if (img.src) { const imgUrl = `https://storage.inoti.com/s1/get/${product.UserId * 2}/EbcProduct/${img.src}`; fetch(imgUrl, { method: 'HEAD' }) .then(response => { if (response.ok) { imgElement.src = imgUrl; imgElement.style.display = 'block'; } else { imgElement.style.display = 'none'; } }) .catch(() => { imgElement.style.display = 'none'; }); } else { imgElement.style.display = 'none'; } }); detailModal.classList.remove('hidden'); detailModal.classList.add('visible'); } }); }); }; function changePage(direction) { let totalPages = Math.ceil(filteredProducts.length / itemsPerPage); if (direction === 'prev' && currentPage > 1) { currentPage--; } else if (direction === 'next' && currentPage < totalPages) { currentPage++; } let start = (currentPage - 1) * itemsPerPage; let end = start + itemsPerPage; renderProducts(filteredProducts.slice(start, end)); updatePagination(filteredProducts.length); } function sanitizeHtml(html) { const parser = new DOMParser(); const doc = parser.parseFromString(html, 'text/html'); return doc.body.innerHTML; } function closeDetailModal() { detailModal.classList.remove('visible'); detailModal.classList.add('hidden'); }; document.addEventListener('DOMContentLoaded', function () { filterProducts(); document.querySelector('#card-modal-mask').addEventListener('click', (e) => { if (e.target === detailModal) { closeDetailModal(); } }); tabs.forEach(tab => { tab.addEventListener('click', () => { tabs.forEach(t => t.classList.remove('active-tab')); tab.classList.add('active-tab'); }); }); document.querySelectorAll('.input').forEach(input => { input.addEventListener('focus', () => input.classList.remove('error-style')); }); window.addEventListener('scroll', () => { let topTab = document.getElementById('topTab'); let screenWidth = window.innerWidth; let scrollTop = window.pageYOffset; let showFixedTab = screenWidth <= 768 ? scrollTop > 300 : scrollTop > 600; topTab.classList.toggle('fix-tab-top', showFixedTab); }); }); let upImage = document.querySelector('.up-image'); let albumImages = document.querySelectorAll('.album-img'); let otherImages = document.querySelector('.other-images'); let rightArrow = document.querySelector('.right-arrow'); let leftArrow = document.querySelector('.left-arrow'); let currentActiveImage = null; albumImages.forEach(img => { img.addEventListener('click', () => { upImage.src = img.src; if (currentActiveImage) { currentActiveImage.classList.remove('active'); } img.classList.add('active'); currentActiveImage = img; }); }); rightArrow.addEventListener('click', () => { otherImages.scrollBy({ left: 200, behavior: 'smooth' }); }); leftArrow.addEventListener('click', () => { otherImages.scrollBy({ left: -200, behavior: 'smooth' }); }); document.addEventListener('DOMContentLoaded', function () { const form = document.getElementById('smsForm'); const form1 = document.getElementById('form1'); const reCAPTCHASiteKey = '6LeJDysqAAAAAKfVRzx7qdKwaqs_efmnL9kxHQPW'; const mobileRegex = /^09\d{9}$/; function validateForm(inputs, submitBtn, reCaptchaResponseField, form) { let isValid = true; inputs.forEach(input => { const value = input.value.trim(); if (!value) { input.classList.add('error-style'); input.placeholder = `لطفا ${input.placeholder} را وارد کنید`; isValid = false; } else { input.classList.remove('error-style'); if (input.name === 'Contact.Mobile' || input.name === 'ProductContact.mobile') { if (!mobileRegex.test(value)) { input.classList.add('error-style'); input.value = ''; input.placeholder = '* شماره موبایل وارد شده صحیح نیست'; isValid = false; } } } }); if (isValid) { submitBtn.disabled = true; grecaptcha.ready(function () { grecaptcha.execute(reCAPTCHASiteKey, { action: 'submit' }).then(function (token) { reCaptchaResponseField.value = token; form.submit(); }).catch(function (error) { console.error('خطا در اجرای reCAPTCHA:', error); submitBtn.disabled = false; }); }); } return isValid; } form.addEventListener('submit', function (e) { e.preventDefault(); const inputs = form.querySelectorAll('.input'); const submitBtn = form.querySelector('button[type="submit"]'); const reCaptchaResponseField = document.getElementById('g-recaptcha-response'); validateForm(inputs, submitBtn, reCaptchaResponseField, form); }); form1.addEventListener('submit', function (e) { e.preventDefault(); const inputs = form1.querySelectorAll('.input'); const submitBtn1 = form1.querySelector('button[type="submit"]'); const reCaptchaResponseField1 = document.getElementById('g-recaptcha-response1'); validateForm(inputs, submitBtn1, reCaptchaResponseField1, form1); }); }); function checkNumber(e) { const isNumeric = /^-?\d*\.?\d*$/.test(e.value); if (!isNumeric) { e.value = ''; } } function regexToLinkJS(txt) { const regex = /(?