<?php

namespace Database\Factories;

use App\Models\PromptLandingPage;
use App\Models\PromptLandingPageLead;
use Illuminate\Database\Eloquent\Factories\Factory;

/**
 * @extends Factory<PromptLandingPageLead>
 */
class PromptLandingPageLeadFactory extends Factory
{
    /**
     * @return array<string, mixed>
     */
    public function definition(): array
    {
        return [
            'prompt_landing_page_id' => PromptLandingPage::factory()->approved(),
            'page_load_id' => null,
            'payload' => [
                'name' => fake()->name(),
                'email' => fake()->safeEmail(),
            ],
            'query_params' => null,
            'ip' => '127.0.0.1',
            'user_agent' => 'PHPUnit',
        ];
    }

    public function bounce(): static
    {
        return $this->state(fn (): array => [
            'page_load_id' => fake()->uuid(),
            'payload' => [],
            'query_params' => ['utm_source' => 'facebook'],
        ]);
    }
}
