<?php

namespace Database\Factories;

use App\Enums\PromptLandingPageVersionKind;
use App\Models\PromptLandingPage;
use App\Models\PromptLandingPageVersion;
use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;

/**
 * @extends Factory<PromptLandingPageVersion>
 */
class PromptLandingPageVersionFactory extends Factory
{
    /**
     * @return array<string, mixed>
     */
    public function definition(): array
    {
        return [
            'prompt_landing_page_id' => PromptLandingPage::factory()->approved(),
            'version' => 1,
            'kind' => PromptLandingPageVersionKind::Published,
            'html' => '<section id="hero"><h1>Yoga studio</h1></section>',
            'css' => 'body { margin: 0; }',
            'js' => '',
            'created_by' => User::factory(),
            'created_at' => now(),
        ];
    }

    public function draft(): static
    {
        return $this->state(fn (): array => [
            'kind' => PromptLandingPageVersionKind::Draft,
        ]);
    }
}
