درباره آینوتی

محبوبه فیضی
(مشاور فروش هلدینگ بین المللی inoti)
ارائه رسانه های نوین ارتباط با مشتری(کارت ویزیت الکترونیک، کدهای دستوری ussd، رزومه سازicv، پنل پیامکی رایگان،اپلیکیشن تبلیغاتی، سرویس اینما
ارائه عاملیت فروش خدمات ،آموزش و پشتیبانی
ربات تلگرام
https://t.me/iNoti_bot?start=getebc807340
وب سایت
https://sl.inoti.com/r/2d3930
آیدی تلگرام
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 = `

${item.Name}
${item.Name} دسته بندی : ${item.CategoryName}
${new Intl.NumberFormat('fa-IR').format(item.Amount)} تومان ${new Intl.NumberFormat('fa-IR').format(item.Amount - item.Amount * item.DiscountPercent / 100)} تومان
`; let productCardWithoutDiscount = `
${item.Name}
${item.Name} دسته بندی : ${item.CategoryName}
${new Intl.NumberFormat('fa-IR').format(item.Amount)} تومان
`; let productCardWithoutPrice = `
${item.Name}
${item.Name} دسته بندی : ${item.CategoryName}
`; let productCard; if (item.DiscountPercent > 1 && item.Amount > 1) { productCard = productCardWithDiscount; } else if (item.Amount > 1) { productCard = productCardWithoutDiscount; } else { productCard = productCardWithoutPrice; } productsList.innerHTML += productCard; }); document.querySelectorAll('.product-card').forEach(card => { card.addEventListener('click', () => { const productId = card.getAttribute('data-product-id'); const product = filteredProducts.find(p => p.Id == productId); if (product) { document.getElementById('pro-id').value = product.Id; document.getElementById('ebc-id').value = product.SenderEBCId; document.getElementById('modal-product-name').innerText = product.Name; document.getElementById('modal-category').innerText = `دسته بندی : ${product.CategoryName}`; document.getElementById('modal-description-title').innerText = product.Name; let descriptionBody = product.Body; descriptionBody = descriptionBody.replace(/\r?\n/g, "
"); 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 = /(?(https?:\/\/|www\.|T\.me)[a-zA-Z0-9~!@#$%^&*()_\-=+\\/?.:;'",]+)/gi; const links = []; txt = txt.replace(regex, (match) => { if (links.includes(match)) return match; links.push(match); const href = match.startsWith('http') ? match : 'http://' + match; return `${match}`; }); return txt; } function goToNeshan(e) { e.currentTarget.href = generateNeshanLink(); } function detectDevice() { const userAgent = navigator.userAgent; if (userAgent.match(/iPhone|iPad|iPod/i)) { return "iOS"; } else if (userAgent.match(/Android/i)) { return "Android"; } else { return "Other"; } } function generateNeshanLink() { const deviceType = detectDevice(); const coordinates = lat1 + ',' + lon1; switch (deviceType) { case "iOS": return `neshan://?ll=${lat1},${lon1}&fallback=https://nshn.ir/?lat=${lat1}&lng=${lon1}`; case "Android": return `intent://nshn.ir/?lat=${lat1}&lng=${lon1}#Intent;scheme=http;package=org.rajman.neshan.traffic.tehran.navigator;S.browser_fallback_url=https://nshn.ir/?lat=${lat1}&lng=${lon1};end`; default: return "https://neshan.org/maps/@" + coordinates + ",12.3z,0.0p/routing/car/destination/" + coordinates; } } function goToBalad(e) { e.currentTarget.href = `https://balad.ir/directions/driving?destination=${lat1}%2C${lon1}`; }