@page "/home"
@using Microsoft.AspNetCore.Authorization
@using Indotalent.Infrastructure.Authorization.Identity
@using Indotalent.Features.Root.Home.Cqrs
@using Indotalent.Features.Root.Home
@attribute [Authorize(Roles = $"{ApplicationRoles.Admin},{ApplicationRoles.Member}")]
@inject HomeService HomeService
@inject IJSRuntime JS
Loading dashboard data...
CRM Overview
Monthly Revenue
@_data.FormattedMonthlySales
Pipeline Value
@_data.FormattedPipeline
Win Rate
@_data.AvgWinRate%
Total Leads
@_data.FormattedTotalLeads
Monthly Revenue
@_data.FormattedMonthlySales
Pipeline Value
@_data.FormattedPipeline
Win Rate
@_data.AvgWinRate%
Total Leads
@_data.FormattedTotalLeads
Avg Deal Size
@_data.FormattedAvgDealSize
CVR
@_data.OverallCvr%
Active Deals
@_data.ActiveDealsCount
AR Balance
@_data.FormattedPendingPayments
Key indicators across all categories
@item.Title
@item.Sub
Monthly revenue vs expense
By category this period
As of @DateTime.Now.ToString("MMMM dd, yyyy")
@ps.Label
@(ps.FormattedValue ?? ps.Value.ToString("N0"))
Pipeline by stage
@ds.Stage
@ds.Count
Monthly movement
@sa.Category
Latest opportunities
| Date | Deal# | Description | Value | Status |
|---|---|---|---|---|
| @(deal.Date?.ToString("MMM dd") ?? "-") | @deal.DealNumber | @deal.Description | @deal.Value.ToString("N0") | @deal.Status |
| No recent deals available | ||||
Real-time updates
@af.Title
@af.Detail
@af.TimeAgo
No recent activity
@DateTime.Now.Year Performance
@cm.Label
@cm.Current / @cm.TargetThis quarter ranking
@p.Name
@p.Achievement.ToString("N0")
No performance data available
}Customer service KPIs
Active Deals
Total in progress
Total Contacts
Active contacts
Retention Rate
Customer loyalty
Budget
Total allocated
As of @DateTime.Now.ToString("MMM dd, yyyy") · Recent leads
| Lead | Company | Amount | Stage |
|---|---|---|---|
| @lead.LeadTitle | @lead.Company | @lead.Amount.ToString("N0") | @lead.Stage |
| No leads available | |||
Pending payments
| Invoice | Customer | Amount | Status |
|---|---|---|---|
| @inv.Number | @inv.Customer | @inv.Amount.ToString("N0") | @inv.Status |
| No overdue invoices | |||