<?php
// Enqueue theme styles and custom inline CSS
function technical_blogging_enqueue_styles() {
    wp_enqueue_style('technical-blogging-style', get_stylesheet_uri());
}
add_action('wp_enqueue_scripts', 'technical_blogging_enqueue_styles');

// custom header
add_theme_support('custom-header', array(
        'width'                  => 1920, 
        'height'                 => 400,  
        'flex-height'            => true,
        'flex-width'             => true,
        'header-text'            => true, // Enable or disable header text
        'default-text-color'     => '000000', // Default header text color
        'wp-head-callback'       => 'technical_blogging_header_style',
    ) );

// custom-background
add_theme_support( 'custom-background', array(
      'default-color' => 'ffffff',
    ));

// Style the header
function technical_blogging_header_style() {
    $technical_blogging_header_image = get_header_image();    
    $technical_blogging_header_text_color = get_header_textcolor();
   
     if (get_theme_support('custom-header', 'default-text-color') !== $technical_blogging_header_text_color || !empty($technical_blogging_header_image)) {
            ?>
        <style type="text/css" id="entr-header-css">
            <?php
            // Has a Custom Header been added?
            if (!empty($technical_blogging_header_image)) :
                ?>
                 #custom-header {
                    background-image: url(<?php header_image(); ?>);
                    background-repeat: no-repeat;
                    background-position: 50% 50%;
                    -webkit-background-size: cover;
                    -moz-background-size:    cover;
                    -o-background-size:      cover;
                    background-size:         cover;
                }
            <?php endif; ?> 
            <?php
                if ('blank' === $technical_blogging_header_text_color) :
                ?>
                    .site-title a, .site-description {
                        color: #<?php echo esc_attr( $technical_blogging_header_text_color ); ?>;
                    }
                <?php elseif ('' !== $technical_blogging_header_text_color) : ?>
                    .site-title a,.site-description {
                        color: #<?php echo esc_attr($technical_blogging_header_text_color); ?>;
                    }            
                <?php endif; ?>
        </style>
    <?php
        }
    }

// site-title-checkbox
// Remove "Display Site Title and Tagline" checkbox from Customizer
function technical_blogging_remove_header_text_display_checkbox( $wp_customize ) {
    $wp_customize->remove_control( 'display_header_text' ); // Removes the checkbox
}
add_action( 'customize_register', 'technical_blogging_remove_header_text_display_checkbox', 11 );

/**
* Custom logo
*/
function technical_blogging_logo_setup(){
    add_theme_support('custom-logo', array(
        'height' => 65,
        'width' => 350,
        'flex-height' => true,
        'flex-width' => true,
    ));
}
add_action('after_setup_theme', 'technical_blogging_logo_setup');

// logo-resizer
function technical_blogging_logo_dynamic_css() {
    $technical_blogging_logo_width = get_theme_mod( 'technical_blogging_logo_width', 150 );
    ?>
    <style type="text/css">
        .logo .custom-logo {
            max-width: <?php echo esc_attr( $technical_blogging_logo_width ); ?>px;
            height: auto;
        }
    </style>
    <?php
}
add_action( 'wp_head', 'technical_blogging_logo_dynamic_css' );

// buttons
function technical_blogging_custom_button_styles() {
    $technical_blogging_radius = get_theme_mod( 'technical_blogging_button_border_radius', '0px' );
    $technical_blogging_padding = get_theme_mod( 'technical_blogging_button_padding', '3px 20px' );
    ?>
    <style type="text/css">
        .btn,
        .button,
        button,
        input[type="submit"],
        .wp-block-button__link,.slide-btn a,#blog-section .read-more a,.read-more a {
            border-radius: <?php echo esc_attr($technical_blogging_radius); ?>;
            padding: <?php echo esc_attr($technical_blogging_padding); ?>;
        }
    </style>
    <?php
}
add_action( 'wp_head', 'technical_blogging_custom_button_styles' );

function technical_blogging_customize_fonts() {
    $technical_blogging_body_font = get_theme_mod('technical_blogging_body_font_family', 'Poppins, serif');
    $technical_blogging_heading_font = get_theme_mod('technical_blogging_heading_font_family', 'Poppins, serif');

    // Extract Google font names (e.g., Roboto from "Roboto, sans-serif")
    $technical_blogging_body_font_name = trim(explode(',', $technical_blogging_body_font)[0]);
    $technical_blogging_heading_font_name = trim(explode(',', $technical_blogging_heading_font)[0]);

    // Generate Google Fonts URL
    $technical_blogging_google_font_url = 'https://fonts.googleapis.com/css2?family=' . urlencode($technical_blogging_body_font_name) . '&family=' . urlencode($technical_blogging_heading_font_name) . '&display=swap';

    // Enqueue fonts
    wp_enqueue_style('technical-blogging-fonts', $technical_blogging_google_font_url, array(), null);

    // Custom inline style for font application
    $custom_css = "
        body, p, span, label, div {
            font-family: {$technical_blogging_body_font};
        }
        h1, h2, h3, h4, h5, h6 {
            font-family: {$technical_blogging_heading_font};
        }
    ";
    wp_add_inline_style('technical-blogging-fonts', $custom_css);
}
add_action('wp_enqueue_scripts', 'technical_blogging_customize_fonts');

// page title box
function technical_blogging_page_title_dynamic_styles() {
    $bg_type = get_theme_mod('technical_blogging_page_bg_radio', '');
    $bg_color = get_theme_mod('technical_blogging_page_bg_color', '');
    $bg_image = get_theme_mod('technical_blogging_page_bg_image', '');
    $technical_blogging_alpha = get_theme_mod('technical_blogging_global_color1', 'var(--alpha-color)');

    $technical_blogging_dynamic_css = '';

    if ($bg_type === 'image' && !empty($bg_image)) {
        $technical_blogging_dynamic_css .= '.page-title {';
        $technical_blogging_dynamic_css .= 'background-image: url("' . esc_url($bg_image) . '");';
        $technical_blogging_dynamic_css .= 'background-size: cover;';
        $technical_blogging_dynamic_css .= 'background-position: center;';
        $technical_blogging_dynamic_css .= '}';
    } elseif ($bg_type === 'color' && !empty($bg_color)) {
        $technical_blogging_dynamic_css .= '.page-title {';
        $technical_blogging_dynamic_css .= 'background-color: ' . esc_attr($bg_color) . ';';
        $technical_blogging_dynamic_css .= '}';
    } else {
        // Fallback to global theme color
        $technical_blogging_dynamic_css .= '.page-title {';
        $technical_blogging_dynamic_css .= 'background-color: ' . esc_attr($technical_blogging_alpha) . ';';
        $technical_blogging_dynamic_css .= '}';
    }

    if (!empty($technical_blogging_dynamic_css)) {
        echo '<style type="text/css">' . $technical_blogging_dynamic_css . '</style>';
    }
}
add_action('wp_head', 'technical_blogging_page_title_dynamic_styles', 20);

// Register page title action globally
add_action('technical_blogging_get_page_title', 'technical_blogging_show_page_title');

// global color
function technical_blogging_global_color_custom_css() {
    $technical_blogging_bg_type       = get_theme_mod('technical_blogging_page_bg_radio', 'color');

    $technical_blogging_theme_css = '';

    if (!empty($technical_blogging_alpha)) {
        // Apply global background only if no custom bg for page-title
        if ($technical_blogging_bg_type !== 'color' && $technical_blogging_bg_type !== 'image') {
            $technical_blogging_theme_css .= '.page-title .content-section{ background: ' . esc_attr($technical_blogging_alpha) . '; }';
        }
    }

    if (!empty($technical_blogging_theme_css)) {
        echo '<style type="text/css">' . $technical_blogging_theme_css . '</style>';
    }
}
add_action('wp_head', 'technical_blogging_global_color_custom_css', 10);

/*---------------------------Global Color-------------------*/

function technical_blogging_global_color() {

    $technical_blogging_css  = '';
    $technical_blogging_alpha = get_theme_mod( 'technical_blogging_global_color1' );
    $technical_blogging_beta  = get_theme_mod( 'technical_blogging_global_color2' );

    $technical_blogging_root_vars = '';
    if ( $technical_blogging_alpha ) {
        $technical_blogging_root_vars .= '--alpha-color: ' . esc_attr( $technical_blogging_alpha ) . ' !important;';
    }
    if ( $technical_blogging_beta ) {
        $technical_blogging_root_vars .= '--beta-color: ' . esc_attr( $technical_blogging_beta ) . ' !important;';
    }

    if ( $technical_blogging_root_vars !== '' ) {
        $technical_blogging_css .= ':root {' . $technical_blogging_root_vars . '}';
    }

    if ( $technical_blogging_css !== '' ) {
        // Replace these handles with your theme's main & WooCommerce stylesheet handles.
        wp_add_inline_style( 'technical-blogging-style', $technical_blogging_css );
        wp_add_inline_style( 'technical-blogging-woocommerce-css', $technical_blogging_css );
    }
}
add_action( 'wp_enqueue_scripts', 'technical_blogging_global_color', 20 );
