<?php

namespace WPSN\Modules\Onboarding;

use WPSN\Core\AbstractModule;
use WPSN\Modules\Onboarding\Admin\OnboardingAdmin;

defined('ABSPATH') || exit;

/**
 * Onboarding / Setup Wizard
 *
 * Goal: reduce time-to-value for new installs.
 *
 * Features:
 * - Tools → SEO Setup Wizard screen
 * - Optional presets (apply safe defaults in one click)
 * - First-run admin notice (dismissible)
 */
final class OnboardingModule extends AbstractModule
{
    public function id(): string
    {
        return 'onboarding';
    }

    public function name(): string
    {
        return __('Setup Wizard', 'wp-seo-next');
    }

    public function description(): string
    {
        return __('First-run checklist + presets + quick links.', 'wp-seo-next');
    }

    public function defaultEnabled(): bool
    {
        return true;
    }

    public function register(): void
    {
        if (!is_admin()) {
            return;
        }

        $admin = new OnboardingAdmin($this->container, $this->settings, $this->logger);
        $admin->register();
    }
}
