bo integration

This commit is contained in:
sdarbinyan
2026-02-20 10:44:03 +04:00
parent 2baa72a022
commit 369af40f20
25 changed files with 1777 additions and 625 deletions

View File

@@ -72,78 +72,55 @@
}
</div>
} @else {
<!-- DEXAR VERSION - Redesigned 2026 -->
<div class="dexar-home">
<!-- Hero Section with Full Width Image -->
<section class="dexar-hero">
<div class="dexar-hero-overlay">
<div class="dexar-hero-content">
<h1 class="dexar-hero-title">Здесь ты найдёшь всё</h1>
<p class="dexar-hero-subtitle">Тысячи товаров в одном месте</p>
<p class="dexar-hero-tagline">просто и удобно</p>
<div class="dexar-hero-actions">
<a (click)="scrollToCatalog()" class="dexar-btn-primary">
Перейти в каталог
</a>
<button (click)="navigateToSearch()" class="dexar-btn-secondary">
Найти товар
<svg width="11" height="16" viewBox="0 0 11 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 1L9 8L1 15" stroke="#1E3C38" stroke-width="2"/>
</svg>
</button>
</div>
</div>
</div>
</section>
<!-- DEXAR VERSION - Original -->
<div class="home-container">
<header class="hero hero-compact">
<h1>{{ brandName }}</h1>
<p>Ваш маркетплейс товаров и услуг</p>
</header>
<!-- Items Carousel -->
<app-items-carousel />
@if (loading()) {
<div class="dexar-loading">
<div class="dexar-spinner"></div>
<div class="loading">
<div class="spinner"></div>
<p>Загрузка категорий...</p>
</div>
}
@if (error()) {
<div class="dexar-error">
<div class="error">
<p>{{ error() }}</p>
<button (click)="loadCategories()" class="dexar-retry-btn">Попробовать снова</button>
<button (click)="loadCategories()">Попробовать снова</button>
</div>
}
@if (!loading() && !error()) {
<section class="dexar-categories" id="catalog">
<h2 class="dexar-categories-title">Каталог товаров</h2>
<section class="categories">
<h2>Категории</h2>
@if (topLevelCategories().length === 0) {
<div class="dexar-empty-categories">
<div class="dexar-empty-icon">📦</div>
<div class="empty-categories">
<div class="empty-icon">📦</div>
<h3>Категории пока отсутствуют</h3>
<p>Скоро здесь появятся категории товаров</p>
</div>
} @else {
<div class="dexar-categories-grid">
<div class="categories-grid">
@for (category of topLevelCategories(); track category.categoryID) {
<a [routerLink]="['/category', category.categoryID]"
class="dexar-category-card"
[class.dexar-category-card--wide]="isWideCategory(category.categoryID)">
<div class="dexar-category-image">
@if (isWideCategory(category.categoryID) && category.wideBanner && category.wideBanner !== true) {
<img [src]="category.wideBanner" [alt]="category.name" loading="lazy" decoding="async" />
} @else if (category.icon) {
<img [src]="category.icon" [alt]="category.name" loading="lazy" decoding="async" />
} @else {
<div class="dexar-category-fallback">{{ category.name.charAt(0) }}</div>
}
<div class="category-card">
<a [routerLink]="['/category', category.categoryID]" class="category-link">
<div class="category-media">
@if (category.icon) {
<img [src]="category.icon" [alt]="category.name" loading="lazy" decoding="async" />
} @else {
<div class="category-fallback">{{ category.name }}</div>
}
</div>
<h3>{{ category.name }}</h3>
</a>
</div>
<div class="dexar-category-info">
<h3 class="dexar-category-name">{{ category.name }}</h3>
<p class="dexar-category-count">{{ getItemCount(category.categoryID) }} товаров</p>
</div>
</a>
}
}
</div>
}
</section>