<?php
 namespace App\PageBuilder\Components\Dynamic; use App\PageBuilder\PageComponent; class DomainSearchComponent extends PageComponent { public function key(): string { return 'domain_search'; } public function category(): string { return 'dynamic'; } public function label(): string { return 'Domain Search'; } public function icon(): string { return 'fas fa-globe'; } public function schema(): array { return [ 'title' => ['type' => 'text', 'label' => 'Başlık'], 'subtitle' => ['type' => 'textarea', 'label' => 'Alt başlık'], 'placeholder' => ['type' => 'text', 'label' => 'Input placeholder'], 'submit_text' => ['type' => 'text', 'label' => 'Buton metni'], 'search_hint' => ['type' => 'text', 'label' => 'Form altı ipucu metni'], 'selected_tlds' => ['type' => 'tld_picker', 'label' => 'Gösterilecek TLD\'ler (boş = tüm aktif)', 'translatable' => false], 'priority_tlds' => ['type' => 'tld_picker', 'label' => 'Öncelikli TLD\'ler (önce sorgulanır + üstte gösterilir)', 'translatable' => false], 'show_tld_pricing' => ['type' => 'boolean', 'label' => 'TLD kartlarını göster', 'default' => true], 'show_prices_on_cards' => ['type' => 'boolean', 'label' => 'Kartlarda fiyatları göster', 'default' => true], 'options' => [ 'color' => ['type' => 'color_token', 'default' => 'primary'], 'padding' => ['type' => 'padding_token', 'default' => 'lg'], 'size' => ['type' => 'select', 'label' => 'Form boyutu', 'options' => ['md', 'lg'], 'default' => 'lg'], 'tld_card_columns' => ['type' => 'select', 'label' => 'TLD kart sütun sayısı', 'options' => [3, 4, 6], 'default' => 4], ], ]; } public function defaults(): array { return [ 'title' => __('store.domain_hero_title'), 'subtitle' => __('store.domain_hero_subtitle'), 'placeholder' => '', 'submit_text' => '', 'search_hint' => '', 'selected_tlds' => [], 'priority_tlds' => ['.com', '.net', '.org'], 'show_tld_pricing' => true, 'show_prices_on_cards' => true, 'options' => ['color' => 'primary', 'padding' => 'lg', 'size' => 'lg', 'tld_card_columns' => 4], ]; } public function render(array $data, array $options): string { return view('page-builder.components.domain_search', compact('data', 'options'))->render(); } public function storefrontAssetsHtml(): string { return view('page-builder.components.domain_search_assets')->render(); } } 