/** * عطاری هزارگیاه - صفحه اصلی * JavaScript logic برای صفحه اصلی */ class HezargiahApp { constructor() { this.app = document.getElementById('app'); this.settings = {}; this.products = []; this.init(); } async init() { try { // بارگذاری تنظیمات و محصولات await this.loadSettings(); await this.loadProducts(); // رندر کردن صفحه this.render(); } catch (error) { console.error('خطا در بارگذاری:', error); this.showError('خطا در بارگذاری صفحه'); } } async loadSettings() { try { const response = await fetch('/api/settings'); const data = await response.json(); if (data.success) { // تبدیل آرایه به object this.settings = {}; data.data.forEach(setting => { this.settings[setting.section] = JSON.parse(setting.data); }); } } catch (error) { console.error('خطا در بارگذاری تنظیمات:', error); } } async loadProducts() { try { const response = await fetch('/api/products'); const data = await response.json(); if (data.success) { this.products = data.data; } } catch (error) { console.error('خطا در بارگذاری محصولات:', error); this.showError('خطا در بارگذاری محصولات'); } } render() { this.app.innerHTML = ` ${this.renderHeader()} ${this.renderTicker()} ${this.renderProducts()} ${this.renderFooter()} `; } renderHeader() { const header = this.settings.header || {}; return `
${header.overline ? `
${header.overline}
` : ''}

${header.title || 'عطاری'} ${header.title_accent ? ` ${header.title_accent}` : ''}

${header.tagline ? `

${header.tagline}

` : ''} ${header.badges && header.badges.length > 0 ? `
${header.badges.map(b => `${b}`).join('')}
` : ''}
`; } renderTicker() { const ticker = this.settings.ticker || {}; if (!ticker.enabled || !ticker.items || ticker.items.length === 0) { return ''; } return `
${ticker.items.map(item => ` 📢 ${item} `).join('')} ${ticker.items.map(item => ` 📢 ${item} `).join('')}
`; } renderProducts() { if (this.products.length === 0) { return `

در حال بارگذاری محصولات...

`; } return `

محصولات ما

${this.products.map(product => this.renderProductCard(product)).join('')}
`; } renderProductCard(product) { const icon = this.getProductIcon(product.icon); const hasDiscount = product.old_price > product.price; return `
${icon}
${product.name}
${this.getCategoryName(product.category)}
${product.description ? `
${product.description}
` : ''}
${this.formatPrice(product.price)} تومان ${hasDiscount ? `
${this.formatPrice(product.old_price)} تومان` : ''}
`; } renderFooter() { const footer = this.settings.footer || {}; const contact = this.settings.contact || {}; return ` `; } getProductIcon(icon) { const icons = { flower: '🌸', leaf: '🌿', cinnamon: '🤎', bottle: '🧴', saffron: '🏵️', honey: '🍯', oil: '🫗', spice: '✨' }; return icons[icon] || '🌿'; } getCategoryName(category) { const names = { tea: 'دمنوش', aragh: 'عرقیات', spice: 'ادویه', honey: 'عسل', oil: 'روغن' }; return names[category] || category; } formatPrice(price) { return new Intl.NumberFormat('fa-IR').format(price); } lightenColor(color) { // ساده‌تر نسخه return color || '#5cab82'; } contactViaWhatsApp(text) { const contact = this.settings.contact || {}; const phone = contact.phone || '989129615925'; const message = encodeURIComponent(text || 'سلام! می‌خواهم سفارش بدهم'); const url = `https://wa.me/${phone}?text=${message}`; window.open(url, '_blank'); } toggleProductDetails(btn) { // می‌توانید اینجا جزئیات بیشتری نشان دهید alert('توضیحات محصول'); } showError(message) { this.app.innerHTML = `
${message}
`; } } // شروع اپلیکیشن let app; document.addEventListener('DOMContentLoaded', () => { app = new HezargiahApp(); });