<?php

namespace App\Support;

use App\Models\DashboardProject;
use Illuminate\Support\Facades\Schema;

class DefaultDashboardProjects
{
    public static function ensureDefaults(): void
    {
        if (!Schema::hasTable('dashboard_projects')) {
            return;
        }

        foreach (static::definitions() as $definition) {
            $existing = DashboardProject::query()
                ->where('link', $definition['link'])
                ->orWhere('title', $definition['title'])
                ->first();

            if ($existing) {
                continue;
            }

            DashboardProject::query()->create($definition);
        }
    }

    public static function definitions(): array
    {
        return [
            [
                'title' => 'ওয়েলকাম অফার',
                'icon' => 'fa-solid fa-gift',
                'start_color' => '#f97316',
                'end_color' => '#ef4444',
                'link' => '/welcome-offer',
                'is_active' => 1,
                'allowed_for_inactive' => 1,
                'off_popup_title' => 'Update in progress',
                'off_popup_message' => 'ওয়েলকাম অফার প্রজেক্টে আপডেটের কাজ চলছে। খুব শীঘ্রই চালু হবে।',
                'inactive_popup_title' => 'Welcome Offer',
                'inactive_popup_message' => 'ওয়েলকাম অফার দেখতে পারবেন, তবে কাজ শুরু করতে একাউন্ট ভেরিফাই লাগতে পারে।',
                'blocked_referrals' => null,
                'blocked_popup_title' => 'Access restricted',
                'blocked_popup_message' => null,
                'sort_order' => 960,
            ],
            [
                'title' => 'টাইপিং জব',
                'icon' => 'fa-solid fa-keyboard',
                'start_color' => '#0f766e',
                'end_color' => '#14b8a6',
                'link' => '/typing-job',
                'is_active' => 1,
                'allowed_for_inactive' => 1,
                'off_popup_title' => 'Update in progress',
                'off_popup_message' => 'টাইপিং জব প্রজেক্টে আপডেটের কাজ চলছে। খুব শীঘ্রই চালু হবে।',
                'inactive_popup_title' => 'Typing Job',
                'inactive_popup_message' => 'টাইপিং জব দেখতে পারবেন, তবে কাজ শুরু করতে একাউন্ট ভেরিফাই লাগতে পারে।',
                'blocked_referrals' => null,
                'blocked_popup_title' => 'Access restricted',
                'blocked_popup_message' => null,
                'sort_order' => 961,
            ],
            [
                'title' => 'কুইজ জব',
                'icon' => 'fa-solid fa-circle-question',
                'start_color' => '#2563eb',
                'end_color' => '#1d4ed8',
                'link' => '/quiz-job',
                'is_active' => 1,
                'allowed_for_inactive' => 1,
                'off_popup_title' => 'Update in progress',
                'off_popup_message' => 'কুইজ জব প্রজেক্টে আপডেটের কাজ চলছে। খুব শীঘ্রই চালু হবে।',
                'inactive_popup_title' => 'Quiz Job',
                'inactive_popup_message' => 'কুইজ জব দেখতে পারবেন, তবে কাজ শুরু করতে একাউন্ট ভেরিফাই লাগতে পারে।',
                'blocked_referrals' => null,
                'blocked_popup_title' => 'Access restricted',
                'blocked_popup_message' => null,
                'sort_order' => 962,
            ],
            [
                'title' => 'টেলিগ্রাম সেল',
                'icon' => 'fa-brands fa-telegram',
                'start_color' => '#0284c7',
                'end_color' => '#2563eb',
                'link' => '/telegram-sell',
                'is_active' => 1,
                'allowed_for_inactive' => 1,
                'off_popup_title' => 'Update in progress',
                'off_popup_message' => 'টেলিগ্রাম সেল প্রজেক্টে আপডেটের কাজ চলছে। খুব শীঘ্রই চালু হবে।',
                'inactive_popup_title' => 'Telegram Sell',
                'inactive_popup_message' => 'টেলিগ্রাম সেল দেখতে পারবেন, তবে কাজ শুরু করতে একাউন্ট ভেরিফাই লাগতে পারে।',
                'blocked_referrals' => null,
                'blocked_popup_title' => 'Access restricted',
                'blocked_popup_message' => null,
                'sort_order' => 963,
            ],
        ];
    }
}
