<?php
function nexo_customize_register($wp_customize) {
    // Creare un panel per Nexo Theme Settings
    $wp_customize->add_panel('nexo_theme_panel', [
        'title'       => __('Nexo Theme Settings', 'nexo'),
        'priority'    => 30,
    ]);

    /**
     * SEZIONE HEADER
     */
    $wp_customize->add_section('nexo_header_settings', [
        'title'      => __('Header Settings', 'nexo'),
        'priority'   => 10,
        'panel'      => 'nexo_theme_panel',
        'description'=> __('Configure the settings for header.', 'nexo'),
    ]);

    $wp_customize->add_setting('nexo_header_bg_color', [
        'default'           => '#101524',
        'sanitize_callback' => 'sanitize_hex_color',
        'transport'         => 'postMessage',
    ]);

    $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'header_header_bg_color_control', [
        'label' => __('Header background color', 'nexo'),
        'section' => 'nexo_header_settings',
        'settings' => 'nexo_header_bg_color',
    ]));

    // Imposta il colore del testo nell'header
$wp_customize->add_setting('nexo_header_text_color', [
    'default'           => '#ebebeb',
    'sanitize_callback' => 'sanitize_hex_color',
    'transport'         => 'postMessage', // Abilitazione dell'anteprima live
]);

$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'header_text_color_control', [
    'label'    => __('Header text color', 'nexo'),
    'section'  => 'nexo_header_settings', // Sezione esistente
    'settings' => 'nexo_header_text_color',
]));

// Imposta il colore di hover del testo nell'header
$wp_customize->add_setting('nexo_header_text_hover_color', [
    'default'           => '#BFFF00', // Colore predefinito per hover
    'sanitize_callback' => 'sanitize_hex_color',
    'transport'         => 'postMessage', // Abilitazione dell'anteprima live
]);

$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'header_text_hover_color_control', [
    'label'    => __('Header text hover color', 'nexo'),
    'section'  => 'nexo_header_settings', // Sezione esistente
    'settings' => 'nexo_header_text_hover_color',
]));

// Imposta la visibilità del pulsante di ricerca
$wp_customize->add_setting('nexo_show_search', [
    'default'           => false,
    'sanitize_callback' => 'rest_sanitize_boolean',
]);

$wp_customize->add_control('nexo_show_search_control', [
    'type'     => 'checkbox',
    'label'    => __('Show Search Button', 'nexo'),
    'section'  => 'nexo_header_settings',
    'settings' => 'nexo_show_search',
    'description' => __('Enable or disable the search button in the header.', 'nexo'),
]);

    /**
     * SEZIONE IMPOSTAZIONI ARTICOLO
     */
    $wp_customize->add_section('nexo_article_settings', [
        'title'      => __('Article Settings', 'nexo'),
        'priority'   => 10, // Priorità più alta rispetto al footer
        'panel'      => 'nexo_theme_panel', // Collega questa sezione al panel
        'description'=> __('Configure the settings for single article.', 'nexo'),
    ]);

    // Aggiungere un'impostazione per abilitare/disabilitare la sidebar
    $wp_customize->add_setting('nexo_sidebar_enabled', [
        'default'           => true,
        'sanitize_callback' => 'nexo_sanitize_checkbox',
        'transport'         => 'refresh',
    ]);

    // Aggiungere un controllo per abilitare/disabilitare la sidebar
    $wp_customize->add_control('nexo_sidebar_enabled_control', [
        'label'    => __('Enable Sidebar', 'nexo'),
        'section'  => 'nexo_article_settings',
        'settings' => 'nexo_sidebar_enabled',
        'type'     => 'checkbox',
    ]);


        /**
     * SEZIONE IMPOSTAZIONI PAGINA
     */
    $wp_customize->add_section('nexo_page_settings', [
        'title'      => __('Page Settings', 'nexo'),
        'priority'   => 12,
        'panel'      => 'nexo_theme_panel',
        'description'=> __('Configure the settings for page.', 'nexo'),
    ]);

    // Aggiungere un'impostazione per abilitare/disabilitare la sidebar
    $wp_customize->add_setting('nexo_sidebar_page_enabled', [
        'default'           => false,
        'sanitize_callback' => 'nexo_sanitize_checkbox',
        'transport'         => 'refresh',
    ]);

    // Aggiungere un controllo per abilitare/disabilitare la sidebar
    $wp_customize->add_control('nexo_sidebar_page_enabled_control', [
        'label'    => __('Enable Sidebar', 'nexo'),
        'section'  => 'nexo_page_settings',
        'settings' => 'nexo_sidebar_page_enabled',
        'type'     => 'checkbox',
    ]);



    /**
     * SEZIONE FOOTER
     */
    $wp_customize->add_section('nexo_footer_settings', [
        'title'      => __('Footer Settings', 'nexo'),
        'priority'   => 20, // Priorità più bassa rispetto all'articolo
        'panel'      => 'nexo_theme_panel', // Collega questa sezione al panel
        'description'=> __('Configure the settings for footer.', 'nexo'),
    ]);

    // Aggiungere un'impostazione per il testo del copyright del footer
    $wp_customize->add_setting('nexo_footer_copyright', [
        'default'           => __('2024 Your Website Name. All Rights Reserved.', 'nexo'),
        'sanitize_callback' => 'sanitize_text_field',
        'transport'         => 'refresh',
    ]);

    // Aggiungere un controllo per il testo del copyright
    $wp_customize->add_control('nexo_footer_copyright_control', [
        'label'    => __('Footer Copyright Text', 'nexo'),
        'section'  => 'nexo_footer_settings',
        'settings' => 'nexo_footer_copyright',
        'type'     => 'text',
    ]);

    // Aggiungere un'impostazione per abilitare/disabilitare il widget nel footer
$wp_customize->add_setting('nexo_footer_widget_enabled', [
    'default'           => false,
    'sanitize_callback' => 'nexo_sanitize_checkbox',
    'transport'         => 'refresh',
]);

// Aggiungere un controllo per abilitare/disabilitare il widget nel footer
$wp_customize->add_control('nexo_footer_widget_enabled_control', [
    'label'    => __('Enable Footer Widget', 'nexo'),
    'section'  => 'nexo_footer_settings',
    'settings' => 'nexo_footer_widget_enabled',
    'type'     => 'checkbox',
]);

}
add_action('customize_register', 'nexo_customize_register');

// Callback per la sanificazione del checkbox
function nexo_sanitize_checkbox($checked) {
    return (isset($checked) && $checked === true) ? true : false;
}
