/**
* عطاری هزارگیاه - صفحه اصلی
* 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.tagline}
${header.title || 'عطاری'}
${header.title_accent ? ` ${header.title_accent}` : ''}
${header.tagline ? `
در حال بارگذاری محصولات...