<?php

namespace Database\Factories;

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

/**
 * @extends Factory<PromptLandingPageClickout>
 */
class PromptLandingPageClickoutFactory extends Factory
{
    protected $model = PromptLandingPageClickout::class;

    /**
     * @return array<string, mixed>
     */
    public function definition(): array
    {
        return [
            'prompt_landing_page_lead_id' => PromptLandingPageLead::factory()->bounce(),
            'prompt_landing_page_id' => fn (array $attributes): int => (int) PromptLandingPageLead::query()
                ->whereKey($attributes['prompt_landing_page_lead_id'])
                ->value('prompt_landing_page_id'),
            'destination_url' => 'https://apps.apple.com/app/yoga',
        ];
    }

    public function forLead(PromptLandingPageLead $lead): static
    {
        return $this->state(fn (): array => [
            'prompt_landing_page_lead_id' => $lead->id,
            'prompt_landing_page_id' => $lead->prompt_landing_page_id,
        ]);
    }
}
