activeTab; if ($activeTab === 'draft') { return [ EnhancedStatsOverviewWidget\EnhancedStat::make('Active Estimates', '-'), EnhancedStatsOverviewWidget\EnhancedStat::make('Accepted Estimates', '-'), EnhancedStatsOverviewWidget\EnhancedStat::make('Converted Estimates', '-'), EnhancedStatsOverviewWidget\EnhancedStat::make('Average Estimate Total', '-'), ]; } $activeEstimates = $this->getPageTableQuery()->active(); $totalActiveCount = $activeEstimates->count(); $totalActiveAmount = $activeEstimates->get()->sumMoneyInDefaultCurrency('total'); $acceptedEstimates = $this->getPageTableQuery() ->where('status', EstimateStatus::Accepted); $totalAcceptedCount = $acceptedEstimates->count(); $totalAcceptedAmount = $acceptedEstimates->get()->sumMoneyInDefaultCurrency('total'); $convertedEstimates = $this->getPageTableQuery() ->where('status', EstimateStatus::Converted); $totalConvertedCount = $convertedEstimates->count(); $validEstimates = $this->getPageTableQuery() ->whereNotIn('status', [ EstimateStatus::Draft, ]); $totalValidEstimatesCount = $validEstimates->count(); $totalValidEstimateAmount = $validEstimates->get()->sumMoneyInDefaultCurrency('total'); $percentConverted = $totalValidEstimatesCount > 0 ? Number::percentage(($totalConvertedCount / $totalValidEstimatesCount) * 100, maxPrecision: 1) : Number::percentage(0, maxPrecision: 1); $averageEstimateTotal = $totalValidEstimatesCount > 0 ? (int) round($totalValidEstimateAmount / $totalValidEstimatesCount) : 0; return [ EnhancedStatsOverviewWidget\EnhancedStat::make('Active Estimates', CurrencyConverter::formatCentsToMoney($totalActiveAmount)) ->suffix(CurrencyAccessor::getDefaultCurrency()) ->description($totalActiveCount . ' active estimates'), EnhancedStatsOverviewWidget\EnhancedStat::make('Accepted Estimates', CurrencyConverter::formatCentsToMoney($totalAcceptedAmount)) ->suffix(CurrencyAccessor::getDefaultCurrency()) ->description($totalAcceptedCount . ' accepted'), EnhancedStatsOverviewWidget\EnhancedStat::make('Converted Estimates', $percentConverted) ->suffix('converted') ->description($totalConvertedCount . ' converted'), EnhancedStatsOverviewWidget\EnhancedStat::make('Average Estimate Total', CurrencyConverter::formatCentsToMoney($averageEstimateTotal)) ->suffix(CurrencyAccessor::getDefaultCurrency()), ]; } }