<?php
/**
 * Sample implementation of the Custom Header feature
 *
 * You can add an optional custom header image to header.php like so ...
 *
	<?php the_header_image_tag(); ?>
 *
 * @link https://developer.wordpress.org/themes/functionality/custom-headers/
 *
 * @package Sprax
 */

/**
 * Set up the WordPress core custom header feature.
 *
 * @uses sprax_header_style()
 */
function sprax_custom_header_setup() {
	add_theme_support( 'custom-header', apply_filters( 'sprax_custom_header_args', array(
		'default-image'          => '',
		'default-text-color'     => '000000',
		'width'                  => 1000,
		'height'                 => 250,
		'flex-height'            => true,
		'wp-head-callback'       => 'sprax_header_style',
	) ) );
}
add_action( 'after_setup_theme', 'sprax_custom_header_setup' );

if ( ! function_exists( 'sprax_header_style' ) ) :
	/**
	 * Styles the header image and text displayed on the blog.
	 *
	 * @see sprax_custom_header_setup().
	 */
	function sprax_header_style() {
		$header_text_color = get_header_textcolor();

		/*
		 * If no custom options for text are set, let's bail.
		 * get_header_textcolor() options: Any hex value, 'blank' to hide text. Default: add_theme_support( 'custom-header' ).
		 */
		if ( get_theme_support( 'custom-header', 'default-text-color' ) === $header_text_color ) {
			return;
		}

		// If we get this far, we have custom styles. Let's do this.
		?>
		<style type="text/css">
		<?php
		// Has the text been hidden?
		if ( ! display_header_text() ) :
			?>
			.site-title,
			.site-description {
				position: absolute;
				clip: rect(1px, 1px, 1px, 1px);
			}
		<?php
		// If the user has set a custom color for the text use that.
		else :
			?>
			.site-title a,
			.site-description {
				color: #<?php echo esc_attr( $header_text_color ); ?>;
			}
		<?php endif; ?>
		</style>
		<?php
	}
endif;

function sprax_customiser_settings( $wp_customize ) {

	// Remove the default color settings.
	$wp_customize->remove_section( 'colors' );

	$wp_customize->add_section( 'sprax_color_settings' , array(
		'title'      => __( 'Sprax colors', 'sprax' ),
		'priority'   => 100,
	) );

	$wp_customize->add_setting( 'sprax_text_color' , array(
		'default'     => '#b2df82',
		'transport'   => 'refresh',
		'sanitize_callback' => 'sanitize_hex_color'
	) );

	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'sprax_text_color', array(
		'label'        => __( 'Primary color', 'sprax' ),
		'section'    => 'sprax_color_settings',
		'settings'   => 'sprax_text_color',
	) ) );

	$wp_customize->add_setting( 'sprax_background_color' , array(
		'default'     => '#0f110c',
		'transport'   => 'refresh',
		'sanitize_callback' => 'sanitize_hex_color'
	) );

	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'sprax_background_color', array(
		'label'        => __( 'Secondary color', 'sprax' ),
		'section'    => 'sprax_color_settings',
		'settings'   => 'sprax_background_color',
	) ) );

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

function sprax_customize_css() {
	?>
	<style type="text/css">
		/* Normal background color and text */
		.main-navigation > div,
		a:visited,
		.main-navigation .sub-menu .menu-item ,
		body, code, kbd, tt, var, pre, input, textarea, select,.site-title a,.site-description,a:visited  {
			color:<?php echo esc_attr ( get_theme_mod( 'sprax_text_color', '#b2df82' ) ); ?>;
			background-color:<?php echo esc_attr ( get_theme_mod( 'sprax_background_color', '#060c08' ) ); ?>;
		}

		/* Inverted background color and text */
		.sub-menu a:hover,
		.main-navigation .menu-item a:hover,
		a:hover,
		.entry-title,
		.comment-form-comment label,
		.form-submit input[type="submit"],
		.widget_calendar caption,
		.comments-area .comments-title,
		.main-navigation.is-extended .sub-menu a:hover,
		.menu-toggle {
			color:<?php echo esc_attr ( get_theme_mod( 'sprax_background_color', '#060c08' ) ); ?>;
			background-color:<?php echo esc_attr ( get_theme_mod( 'sprax_text_color', '#b2df82' ) ); ?>;
		}

		/* Overwrite for links */
		a,
		.main-navigation .menu-item a,
		/*.main-navigation .sub-menu a:hover,*/
		button, input ,input:focus {
			color:<?php echo esc_attr ( get_theme_mod( 'sprax_text_color', '#b2df82' ) ); ?>;
		}

		/* Borders */
		.site-header,
		.wp-block-pullquote,
		.wp-block-quote:not(.is-style-large), 
		.wp-block-quote:not(.is-style-large),
		input:focus,
		input, button, textarea, select
		.site-footer,
		.site-footer {
			border-color:<?php echo esc_attr ( get_theme_mod( 'sprax_text_color', '#b2df82' ) ); ?>;
		}

		.entry .entry-title,
		.entry .entry-title a:hover {
			color: <?php echo esc_attr ( get_theme_mod( 'sprax_background_color', '#060c08' ) ); ?>;
		}
	</style>
	<?php
}
add_action( 'wp_head', 'sprax_customize_css');
