<?php

namespace App\Domain\Website\Models;

use App\Domain\Shared\Traits\BelongsToAcademy;
use Illuminate\Database\Eloquent\Model;

class WebsiteSetting extends Model
{
    use BelongsToAcademy;

    protected $fillable = [
        'academy_id',
        'template',
        'primary_color',
        'secondary_color',
        'accent_color',
        'text_color',
        'background_color',
        'surface_color',
        'border_color',
        'muted_text_color',
        'heading_font',
        'body_font',
        'font_size_scale',
        'heading_weight',
        'line_height',
        'letter_spacing',
        'density',
        'border_radius_preset',
        'card_style',
        'section_divider',
        'image_shape',
        'animations_enabled',
        'animation_speed',
        'navbar_style',
        'navbar_cta_text',
        'navbar_cta_text_en',
        'navbar_cta_link',
        'navbar_show_social',
        'navbar_logo_position',
        'navbar_secondary_logo_path',
        'navbar_show_language',
        'site_title',
        'site_title_en',
        'site_description',
        'site_description_en',
        'social_links',
        'whatsapp_number',
        'custom_css',
        'google_analytics_id',
        'facebook_pixel_id',
        'footer_columns',
        'footer_blocks',
        'footer_bottom_text',
        'footer_powered_by',
        'footer_style',
        'floating_elements',
        'announcement_bar',
        'popup_config',
        'is_published',
        'published_at',
    ];

    protected $casts = [
        'social_links' => 'array',
        'footer_blocks' => 'array',
        'footer_powered_by' => 'array',
        'floating_elements' => 'array',
        'announcement_bar' => 'array',
        'popup_config' => 'array',
        'is_published' => 'boolean',
        'animations_enabled' => 'boolean',
        'navbar_show_social' => 'boolean',
        'navbar_show_language' => 'boolean',
        'footer_columns' => 'integer',
        'published_at' => 'datetime',
    ];
}
