@if (facade.error()) {
{{ 'common.retry' | translate }}
} @else {
@for (tab of tabs; track tab) {
}
@if (activeTab() === 'overview') {
@if (facade.loading()) {
@for (i of [1,2,3,4,5,6]; track i) {
}
{{ 'common.loading' | translate }}
} @else if (facade.summary(); as summary) {
{{ 'adminAnalytics.revenue' | translate }}{{ summary.revenueTotal }} {{ summary.currency }}
{{ 'adminAnalytics.orders' | translate }}{{ summary.ordersCount }}
{{ 'adminAnalytics.customers' | translate }}{{ summary.customersCount }}
{{ 'adminAnalytics.avgOrderValue' | translate }}{{ summary.avgOrderValue }} {{ summary.currency }}
{{ 'adminAnalytics.conversion' | translate }}{{ 'adminAnalytics.unknown' | translate }}
{{ 'adminAnalytics.completionPercent' | translate }}{{ facade.healthCompletionPercent() }}%
}
{{ 'adminAnalytics.salesChart' | translate }}
@for (point of facade.salesSeries(); track point.date) {
}
{{ 'adminAnalytics.topProducts' | translate }}
@if (facade.loading()) {
@for (i of [1,2,3]; track i) {
}
{{ 'common.loading' | translate }}
} @else if (facade.topProducts().length === 0) {
} @else {
| {{ 'adminProducts.name' | translate }} | {{ 'adminAnalytics.quantitySold' | translate }} | {{ 'adminAnalytics.revenue' | translate }} |
@for (product of facade.topProducts(); track product.productId) {
| {{ product.name }} | {{ product.quantity }} | {{ product.revenue }} |
}
}
{{ 'adminAnalytics.lowStock' | translate }}
@if (facade.lowStockProducts().length === 0) {
} @else {
| {{ 'adminProducts.name' | translate }} | {{ 'adminAnalytics.quantity' | translate }} | {{ 'adminAnalytics.status' | translate }} |
@for (product of facade.lowStockProducts(); track product.productId) {
| {{ product.name }} |
{{ product.quantity }} |
{{ ('adminProducts.' + (product.stockStatus === 'out_of_stock' ? 'outOfStock' : 'lowStock')) | translate }} |
}
}
{{ 'adminAnalytics.recentActivity' | translate }}
@if (facade.recentActivity().length === 0) {
} @else {
@for (entry of facade.recentActivity(); track entry.id) {
- {{ entry.labelKey | translate }} {{ entry.timestamp | date:'short' }}
}
}
{{ 'adminAnalytics.warnings' | translate }}
@if (facade.warnings().length === 0) {
} @else {
@for (card of facade.warnings(); track card.id) {
- {{ card.labelKey | translate }}
}
}
}
@if (activeTab() === 'health') {
{{ 'adminMarketplaceHealth.title' | translate }}
{{ 'adminOrders.export' | translate }}
{{ facade.healthCompletionPercent() }}% {{ 'adminMarketplaceHealth.complete' | translate }}
@for (check of facade.marketplaceHealth(); track check.code) {
-
{{ check.status === 'unknown' ? ('adminAnalytics.unknown' | translate) : (check.displayValue ?? check.status) }}
{{ check.labelKey | translate }}
}
}
@if (activeTab() === 'products') {
@if (facade.productAnalytics(); as pa) {
{{ 'adminAnalytics.topViewed' | translate }}{{ 'adminAnalytics.unknown' | translate }}
{{ 'adminAnalytics.hiddenProducts' | translate }}{{ pa.hiddenCount }}
{{ 'adminAnalytics.archivedProducts' | translate }}{{ pa.archivedCount }}
{{ 'adminAnalytics.mostReviewed' | translate }}
@if (pa.mostReviewed.length === 0) {
} @else {
| {{ 'adminProducts.name' | translate }} | {{ 'adminAnalytics.reviewCount' | translate }} |
@for (row of pa.mostReviewed; track row.productId) { | {{ row.name }} | {{ row.value }} |
}
}
{{ 'adminAnalytics.worstRated' | translate }}
@if (pa.worstRated.length === 0) {
} @else {
| {{ 'adminProducts.name' | translate }} | {{ 'adminAnalytics.avgRating' | translate }} |
@for (row of pa.worstRated; track row.productId) { | {{ row.name }} | {{ row.value }} |
}
}
}
}
@if (activeTab() === 'customers') {
@if (facade.customerAnalytics(); as ca) {
{{ 'adminAnalytics.newCustomers' | translate }}{{ ca.newCustomers }}
{{ 'adminAnalytics.returningCustomers' | translate }}{{ ca.returningCustomers }}
{{ 'adminAnalytics.averageSpend' | translate }}{{ ca.averageSpend }} {{ ca.currency }}
{{ 'adminAnalytics.retention' | translate }}
@if (ca.retentionPercent === null) {
{{ 'adminAnalytics.unknown' | translate }}
} @else {
{{ ca.retentionPercent }}%
}
}
}
@if (activeTab() === 'search') {
{{ 'adminAnalytics.searchAnalytics' | translate }}
{{ 'adminAnalytics.unknown' | translate }} {{ 'adminAnalytics.pendingBackendHint' | translate }}
}
@if (activeTab() === 'traffic') {
{{ 'adminAnalytics.trafficAnalytics' | translate }}
{{ 'adminAnalytics.unknown' | translate }} {{ 'adminAnalytics.availableAfterBackend' | translate }}
}
@if (activeTab() === 'recommendations') {
{{ 'adminMarketplaceHealth.recommendationsTitle' | translate }}
@if (facade.recommendations().length === 0) {
} @else {
@for (card of facade.recommendations(); track card.id) {
-
{{ 'adminMarketplaceHealth.severity.' + card.severity | translate }}
{{ card.labelKey | translate }}
@if (card.descriptionKey) { {{ card.descriptionKey | translate }} }
}
}
}
}