feat(onticket): add immersive hero configuration and carousel, update tenant seeder and tests

This commit is contained in:
2026-09-18 09:39:25 -03:00
parent 164187f47b
commit 49be167029
12 changed files with 524 additions and 32 deletions

View File

@@ -20,17 +20,6 @@ class TenantSeeder extends Seeder
private const SONDER_CLIENT_CODE = 'sonder';
private const ONTICKET_HERO_CAROUSEL_IMAGES = [
'onticket_hero_carousel_1.png',
'onticket_hero_carousel_2.png',
'onticket_hero_carousel_3.avif',
'onticket_hero_carousel_4.jfif',
'onticket_hero_carousel_5.jfif',
'onticket_hero_carousel_6.jfif',
'onticket_hero_carousel_7.avif',
'onticket_hero_carousel_8.avif',
];
private const SOCIAL_MEDIA = [
[
'code' => 'instagram',
@@ -89,7 +78,7 @@ class TenantSeeder extends Seeder
'header_bg_color' => $onTicketType->surface_color,
'footer_bg_color' => $onTicketType->surface_color,
'display_categories' => false,
'display_seach_bar' => false,
'display_seach_bar' => true,
'admin_website_type_code' => $onTicketType->codigo,
'storefront_website_type_code' => 'onticket_multi_event',
'header_logo' => $this->uploadedImage(
@@ -124,23 +113,23 @@ class TenantSeeder extends Seeder
$onTicketTenant = Tenant::query()->where('codigo', 'onticket')->firstOrFail();
if ($onTicketTenant->storefront_website_type_code === 'onticket_multi_event' && ! $onTicketTenant->display_seach_bar) {
$onTicketTenant->update(['display_seach_bar' => true]);
}
if (
$onTicketTenant->storefront_website_type_code === 'onticket_multi_event'
&& ! $onTicketTenant->websiteExtras()->whereHas('websiteTypeExtra', fn ($query) => $query->where('codigo', 'heroCarousel'))->exists()
&& ! $onTicketTenant->websiteExtras()->whereHas('websiteTypeExtra', fn ($query) => $query->where('codigo', 'immersiveHero'))->exists()
) {
$this->websiteExtraService->updateForTenant(
$onTicketTenant,
'heroCarousel',
array_map(
fn (string $filename): UploadedFile => $this->uploadedImage(
"images/tennants/onticket/onticket_tennant_hero_carousel/{$filename}",
$filename,
),
self::ONTICKET_HERO_CAROUSEL_IMAGES,
),
);
$this->websiteExtraService->updateForTenant($onTicketTenant, 'immersiveHero', [
'eyebrow' => 'Encendé tu',
'title' => 'experiencia',
'description' => 'Reservá tu entrada y formá parte',
]);
}
$this->call(OnticketImmersiveHeroCarouselSeeder::class);
$this->deleteTenant('sonder');
Tenant::query()