<?php

namespace App\Filament\Pages;

use App\Filament\Widgets\AttemptsChart;
use App\Filament\Widgets\AttentionQueue;
use App\Filament\Widgets\CoursePerformance;
use App\Filament\Widgets\FunnelOverview;
use App\Filament\Widgets\LeadsBySourceChart;
use App\Filament\Widgets\MoneywiseStats;
use App\Filament\Widgets\RecentActivity;
use App\Filament\Widgets\RevenueChart;
use App\Filament\Widgets\ToolUsageChart;
use App\Filament\Widgets\WelcomeBanner;
use BackedEnum;
use Filament\Pages\Dashboard as BaseDashboard;
use Illuminate\Contracts\Support\Htmlable;

class Dashboard extends BaseDashboard
{
    protected static string|BackedEnum|null $navigationIcon = 'heroicon-o-squares-2x2';

    protected static ?int $navigationSort = -2;

    protected static ?string $title = 'Growth command centre';

    public function getTitle(): string|Htmlable
    {
        return 'Growth command centre';
    }

    public function getColumns(): int|array
    {
        return ['md' => 2, 'xl' => 12];
    }

    public function getWidgets(): array
    {
        return [
            WelcomeBanner::class,
            MoneywiseStats::class,
            FunnelOverview::class,
            AttemptsChart::class,
            RevenueChart::class,
            AttentionQueue::class,
            RecentActivity::class,
            LeadsBySourceChart::class,
            ToolUsageChart::class,
            CoursePerformance::class,
        ];
    }
}
