mtextylelastedweb / index.html
ibrohm's picture
Initial deploy via assistant API
7b3aac2 verified
<!DOCTYPE html>
<html lang="uz">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description"
content="M-TEXTILE β€” O'zbekistondagi eng sifatli kiyim-kechak onlayn do'koni. Kiyimlar, formalar, shimlar, galistuklar va aksessuarlar.">
<meta name="theme-color" content="#0D1F23">
<meta property="og:title" content="M-TEXTILE β€” Kiyim-Kechak Do'koni">
<meta property="og:description"
content="Kiyimlar, formalar, shimlar, galistuklar β€” faqat siz uchun. Eng sifatli onlayn do'kon.">
<meta property="og:type" content="website">
<title>M-TEXTILE β€” Kiyim-Kechak Do'koni</title>
<link rel="stylesheet" href="css/global.css">
<link rel="stylesheet" href="css/components.css">
<link rel="stylesheet" href="css/pages.css">
<link rel="stylesheet" href="css/premium.css">
<link rel="manifest" href="manifest.json">
<!-- AOS CSS -->
<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
</head>
<body>
<!-- Global Preloader -->
<div id="global-preloader" class="preloader">
<div class="preloader-spinner"></div>
</div>
<div class="page-wrapper">
<div class="page-content">
<!-- HERO SECTION -->
<section class="hero">
<div class="container">
<div class="hero-content">
<div id="heroSlider">
<!-- JS will render slides here -->
</div>
<div class="hero-stats">
<div>
<div class="hero-stat-num" data-count="40" data-suffix="+">0</div>
<div class="hero-stat-label">Mahsulotlar</div>
</div>
<div>
<div class="hero-stat-num" data-count="5">0</div>
<div class="hero-stat-label">Kategoriyalar</div>
</div>
<div>
<div class="hero-stat-num" data-count="24" data-suffix="/7">0</div>
<div class="hero-stat-label">Yordam</div>
</div>
</div>
<div class="hero-dots" id="heroDots"></div>
</div>
</div>
</section>
<!-- CATEGORIES -->
<section class="section-padding">
<div class="container">
<div class="section-header reveal">
<h2>Kategoriyalar</h2>
<p class="section-subtitle">Sizga kerakli kiyim-kechakni toping</p>
<div class="section-line"></div>
</div>
<div class="categories-grid stagger reveal" id="categoriesGrid"></div>
</div>
</section>
<!-- FEATURED PRODUCTS -->
<section class="section-padding" style="background: var(--clr-bg-secondary);">
<div class="container">
<div class="section-header reveal">
<h2>Eng yaxshilar</h2>
<p class="section-subtitle">Mijozlarimiz sevgan mahsulotlar</p>
<div class="section-line"></div>
</div>
<div class="grid grid-4 stagger reveal" id="featuredGrid"></div>
<div class="text-center mt-2xl">
<a href="catalog.html" class="btn btn-outline">Barchasini ko'rish β†’</a>
</div>
</div>
</section>
<!-- PROMO BANNER -->
<section class="section-padding">
<div class="container">
<div class="promo-banner reveal">
<div class="promo-content">
<div class="promo-tag">πŸ”₯ Maxsus taklif</div>
<h2 class="promo-title">30% gacha chegirma</h2>
<p class="promo-desc">Tanlangan mahsulotlarga katta chegirmalar. Imkoniyatni qo'ldan boy bermang!</p>
<a href="catalog.html?filter=discount" class="btn btn-primary">Chegirmalar β†’</a>
</div>
</div>
</div>
</section>
<!-- NEW ARRIVALS -->
<section class="section-padding" style="background: var(--clr-bg-secondary);">
<div class="container">
<div class="section-header reveal">
<h2>Yangi kelganlar</h2>
<p class="section-subtitle">Eng so'nggi qo'shilgan mahsulotlar</p>
<div class="section-line"></div>
</div>
<div class="grid grid-4 stagger reveal" id="newGrid"></div>
</div>
</section>
<!-- FEATURES -->
<section class="section-padding">
<div class="container">
<div class="features-grid stagger reveal">
<div class="feature-card">
<div class="feature-icon">🏬</div>
<h4 class="feature-title">Do'kondan olib ketish</h4>
<p class="feature-desc">Buyurtmani osongina do'kondan oling</p>
</div>
<div class="feature-card">
<div class="feature-icon">πŸ›‘οΈ</div>
<h4 class="feature-title">Sifat kafolati</h4>
<p class="feature-desc">joyida kiyib ko'rib olish imkoniyati</p>
</div>
<div class="feature-card">
<div class="feature-icon">πŸ‘•</div>
<h4 class="feature-title">Keng tanlov</h4>
<p class="feature-desc">Do'konimizda barcha o'lchamlar bor</p>
</div>
<div class="feature-card">
<div class="feature-icon">πŸ’¬</div>
<h4 class="feature-title">24/7 qo'llab-quvvatlash</h4>
<p class="feature-desc">Har doim yordam berishga tayyormiz</p>
</div>
</div>
</div>
</section>
<!-- NEWSLETTER -->
<section class="section-padding" style="padding-bottom: 2rem;">
<div class="container">
<div class="newsletter-section reveal">
<h2 class="newsletter-title">πŸ“© Yangiliklardan xabardor bo'ling</h2>
<p class="newsletter-desc">Yangi mahsulotlar, chegirmalar va maxsus takliflar haqida birinchilardan bo'lib
biling</p>
<div class="newsletter-form" id="newsletterForm">
<input type="email" placeholder="Email manzilingiz" id="newsletterEmail">
<button class="btn btn-primary" onclick="subscribeNewsletter()">Obuna bo'lish</button>
</div>
</div>
</div>
</section>
<!-- RECENTLY VIEWED -->
<section class="section-padding recently-viewed-section" style="padding-top: 2rem;">
<div class="container">
<div class="section-header reveal">
<h2>Yaqinda ko'rilgan</h2>
<div class="section-line"></div>
</div>
<div class="grid grid-4 stagger reveal" id="recentGrid"></div>
</div>
</section>
</div>
</div>
<script src="js/products.js"></script>
<script src="https://www.gstatic.com/firebasejs/10.12.0/firebase-app-compat.js"></script>
<script src="https://www.gstatic.com/firebasejs/10.12.0/firebase-auth-compat.js"></script>
<script src="js/firebase-config.js"></script>
<script src="js/api.js"></script>
<script src="js/store.js"></script>
<script src="js/app.js"></script>
<script>
document.addEventListener('DOMContentLoaded', () => {
// Render categories
const catGrid = document.getElementById('categoriesGrid');
Object.entries(CATEGORIES).forEach(([slug, cat]) => {
const count = getProductsByCategory(slug).length;
const card = document.createElement('a');
card.href = `catalog.html?category=${slug}`;
card.className = 'category-card';
card.innerHTML = `
<span class="category-card-icon">${cat.icon}</span>
<div class="category-card-name">${cat.name}</div>
<div class="category-card-count">${count} ta mahsulot</div>
`;
catGrid.appendChild(card);
});
// Render featured
const featuredGrid = document.getElementById('featuredGrid');
getFeaturedProducts().slice(0, 8).forEach(p => {
featuredGrid.appendChild(renderProductCard(p));
});
// Render new arrivals
const newGrid = document.getElementById('newGrid');
getNewProducts().slice(0, 4).forEach(p => {
newGrid.appendChild(renderProductCard(p));
});
// Re-init animations
initRevealAnimations();
// Recently viewed
renderRecentlyViewed('recentGrid');
});
function subscribeNewsletter() {
const email = document.getElementById('newsletterEmail').value.trim();
if (!email || !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
showToast('Xatolik', 'To\'g\'ri email kiriting', 'error');
return;
}
let subs = JSON.parse(localStorage.getItem('mtextile_subscribers') || '[]');
if (subs.includes(email)) {
showToast('Ma\'lumot', 'Siz allaqachon obuna bo\'lgansiz', 'info');
return;
}
subs.push(email);
localStorage.setItem('mtextile_subscribers', JSON.stringify(subs));
document.getElementById('newsletterEmail').value = '';
showToast('Muvaffaqiyat!', 'Obuna bo\'ldingiz! Rahmat πŸŽ‰', 'success');
}
</script>
<script>
if ('serviceWorker' in navigator) navigator.serviceWorker.register('sw.js').then(() => console.log('SW Registered')).catch(e => console.error('SW Error', e));
</script>
<!-- AOS JS -->
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
</body>
</html>