@if (loading()) {
@for (slot of skeletonSlots; track slot) {
}
}
@if (error()) {
{{ 'catalog.errorTitle' | translate }}
{{ error()! | translate }}
}
@if (!loading() && !error() && viewMode() === 'categories') {
{{ state().category?.title || ('catalog.allCategories' | translate) }}
{{ 'catalog.categoryHint' | translate }} • {{ categories().length }} entries
@if (catalogConfig().showCategoryBanner) {
{{ state().category?.title || ('catalog.allCategories' | translate) }}
Category banner placeholder for backend-driven media and description.
}
@if (catalogConfig().showSubcategoryChips && subcategoryChips().length > 0) {
@for (subcategory of subcategoryChips(); track subcategory.id) {
}
}
@if (categories().length > 0) {
} @else {
{{ 'catalog.emptyTitle' | translate }}
{{ 'catalog.emptyCategories' | translate }}
}
}
@if (!loading() && !error() && viewMode() === 'products') {
@if (catalogConfig().navigationMode !== 'default') {
{{ catalogConfig().navigationMode }}
Navigation layout placeholder prepared for backend/bootstrap-driven rendering.
}
}