<?php
/**
 * Post Options
 *
 * @package design_studio
 */

$wp_customize->add_section(
	'design_studio_post_options',
	array(
		'title' => esc_html__( 'Post Options', 'design-studio' ),
		'panel' => 'design_studio_theme_options',
	)
);

// ---------------------------------------- PAGINATION ----------------------------------------------------

// Add Separator Custom Control
$wp_customize->add_setting( 'design_studio_pagination_separator', array(
	'sanitize_callback' => 'sanitize_text_field',
) );

$wp_customize->add_control( new Design_Studio_Separator_Custom_Control( $wp_customize, 'design_studio_pagination_separator', array(
	'label' => __( 'Enable / Disable Pagination Section', 'design-studio' ),
	'section' => 'design_studio_post_options',
	'settings' => 'design_studio_pagination_separator',
) ) );

// Pagination - Enable Pagination.
$wp_customize->add_setting(
	'design_studio_enable_pagination',
	array(
		'default'           => true,
		'sanitize_callback' => 'design_studio_sanitize_switch',
	)
);

$wp_customize->add_control(
	new Design_Studio_Toggle_Switch_Custom_Control(
		$wp_customize,
		'design_studio_enable_pagination',
		array(
			'label'    => esc_html__( 'Enable Pagination', 'design-studio' ),
			'section'  => 'design_studio_post_options',
			'settings' => 'design_studio_enable_pagination',
			'type'     => 'checkbox',
		)
	)
);

// Pagination - Pagination Type.
$wp_customize->add_setting(
	'design_studio_pagination_type',
	array(
		'default'           => 'default',
		'sanitize_callback' => 'design_studio_sanitize_select',
	)
);

$wp_customize->add_control(
	'design_studio_pagination_type',
	array(
		'label'           => esc_html__( 'Pagination Type', 'design-studio' ),
		'section'         => 'design_studio_post_options',
		'settings'        => 'design_studio_pagination_type',
		'active_callback' => 'design_studio_is_pagination_enabled',
		'type'            => 'select',
		'choices'         => array(
			'default' => __( 'Default (Older/Newer)', 'design-studio' ),
			'numeric' => __( 'Numeric', 'design-studio' ),
		),
	)
);

// Post Options - Add Post Date Icon
$wp_customize->add_setting(
    'design_studio_post_date_icon',
    array(
        'default' => 'far fa-clock', 
        'sanitize_callback' => 'sanitize_text_field',
        'capability' => 'edit_theme_options',
    )
);

$wp_customize->add_control(new Design_Studio_Change_Icon_Control(
    $wp_customize, 
    'design_studio_post_date_icon',
    array(
        'label'    => __('Add Date Icon','design-studio'),
        'section'  => 'design_studio_post_options',
        'iconset'  => 'fa',
    )
));

// Post Options - Show / Hide Date.
$wp_customize->add_setting(
	'design_studio_post_hide_date',
	array(
		'default'           => true,
		'sanitize_callback' => 'design_studio_sanitize_switch',
	)
);

$wp_customize->add_control(
	new Design_Studio_Toggle_Switch_Custom_Control(
		$wp_customize,
		'design_studio_post_hide_date',
		array(
			'label'   => esc_html__( 'Show / Hide Date', 'design-studio' ),
			'section' => 'design_studio_post_options',
		)
	)
);

// Post Options - Add Post Author Icon
$wp_customize->add_setting(
    'design_studio_post_author_icon',
    array(
        'default' => 'fas fa-user', 
        'sanitize_callback' => 'sanitize_text_field',
        'capability' => 'edit_theme_options',
    )
);

$wp_customize->add_control(new Design_Studio_Change_Icon_Control(
    $wp_customize, 
    'design_studio_post_author_icon',
    array(
        'label'    => __('Add Author Icon','design-studio'),
        'section'  => 'design_studio_post_options',
        'iconset'  => 'fa',
    )
));

// Post Options - Show / Hide Author.
$wp_customize->add_setting(
	'design_studio_post_hide_author',
	array(
		'default'           => true,
		'sanitize_callback' => 'design_studio_sanitize_switch',
	)
);

$wp_customize->add_control(
	new Design_Studio_Toggle_Switch_Custom_Control(
		$wp_customize,
		'design_studio_post_hide_author',
		array(
			'label'   => esc_html__( 'Show / Hide Author', 'design-studio' ),
			'section' => 'design_studio_post_options',
		)
	)
);

// Post Options - Add Post Comments Icon
$wp_customize->add_setting(
    'design_studio_post_comments_icon',
    array(
        'default' => 'fas fa-comments', 
        'sanitize_callback' => 'sanitize_text_field',
        'capability' => 'edit_theme_options',
    )
);

$wp_customize->add_control(new Design_Studio_Change_Icon_Control(
    $wp_customize, 
    'design_studio_post_comments_icon',
    array(
        'label'    => __('Add Comments Icon','design-studio'),
        'section'  => 'design_studio_post_options',
        'iconset'  => 'fa',
    )
));

// Post Options - Show / Hide Comments.
$wp_customize->add_setting(
	'design_studio_post_hide_comments',
	array(
		'default'           => true,
		'sanitize_callback' => 'design_studio_sanitize_switch',
	)
);

$wp_customize->add_control(
	new Design_Studio_Toggle_Switch_Custom_Control(
		$wp_customize,
		'design_studio_post_hide_comments',
		array(
			'label'   => esc_html__( 'Show / Hide Comments', 'design-studio' ),
			'section' => 'design_studio_post_options',
		)
	)
);

// Post Options - Add Post Time Icon
$wp_customize->add_setting(
    'design_studio_post_time_icon',
    array(
        'default' => 'fas fa-clock', 
        'sanitize_callback' => 'sanitize_text_field',
        'capability' => 'edit_theme_options',
    )
);

$wp_customize->add_control(new Design_Studio_Change_Icon_Control(
    $wp_customize, 
    'design_studio_post_time_icon',
    array(
        'label'    => __('Add Time Icon','design-studio'),
        'section'  => 'design_studio_post_options',
        'iconset'  => 'fa',
    )
));

// Post Options - Show / Hide Time.
$wp_customize->add_setting(
	'design_studio_post_hide_time',
	array(
		'default'           => true,
		'sanitize_callback' => 'design_studio_sanitize_switch',
	)
);

$wp_customize->add_control(
	new Design_Studio_Toggle_Switch_Custom_Control(
		$wp_customize,
		'design_studio_post_hide_time',
		array(
			'label'   => esc_html__( 'Show / Hide Time', 'design-studio' ),
			'section' => 'design_studio_post_options',
		)
	)
);

// Post Options - Show / Hide Category.
$wp_customize->add_setting(
	'design_studio_post_hide_category',
	array(
		'default'           => true,
		'sanitize_callback' => 'design_studio_sanitize_switch',
	)
);

$wp_customize->add_control(
	new Design_Studio_Toggle_Switch_Custom_Control(
		$wp_customize,
		'design_studio_post_hide_category',
		array(
			'label'   => esc_html__( 'Show / Hide Category', 'design-studio' ),
			'section' => 'design_studio_post_options',
		)
	)
);

// Post Options - Show / Hide Feature Image.
$wp_customize->add_setting(
	'design_studio_post_hide_feature_image',
	array(
		'default'           => true,
		'sanitize_callback' => 'design_studio_sanitize_switch',
	)
);

$wp_customize->add_control(
	new Design_Studio_Toggle_Switch_Custom_Control(
		$wp_customize,
		'design_studio_post_hide_feature_image',
		array(
			'label'   => esc_html__( 'Show / Hide Featured Image', 'design-studio' ),
			'section' => 'design_studio_post_options',
		)
	)
);

// Post Options - Show / Hide Post Heading.
$wp_customize->add_setting(
	'design_studio_post_hide_post_heading',
	array(
		'default'           => true,
		'sanitize_callback' => 'design_studio_sanitize_switch',
	)
);

$wp_customize->add_control(
	new Design_Studio_Toggle_Switch_Custom_Control(
		$wp_customize,
		'design_studio_post_hide_post_heading',
		array(
			'label'   => esc_html__( 'Show / Hide Post Heading', 'design-studio' ),
			'section' => 'design_studio_post_options',
		)
	)
);

// Post Options - Show / Hide Post Content.
$wp_customize->add_setting(
	'design_studio_post_hide_post_content',
	array(
		'default'           => true,
		'sanitize_callback' => 'design_studio_sanitize_switch',
	)
);

$wp_customize->add_control(
	new Design_Studio_Toggle_Switch_Custom_Control(
		$wp_customize,
		'design_studio_post_hide_post_content',
		array(
			'label'   => esc_html__( 'Show / Hide Post Content', 'design-studio' ),
			'section' => 'design_studio_post_options',
		)
	)
);

// ---------------------------------------- Post layout ----------------------------------------------------

// Add Separator Custom Control
$wp_customize->add_setting( 'design_studio_archive_layuout_separator', array(
	'sanitize_callback' => 'sanitize_text_field',
) );

$wp_customize->add_control( new Design_Studio_Separator_Custom_Control( $wp_customize, 'design_studio_archive_layuout_separator', array(
	'label' => __( 'Archive/Blogs Layout Setting', 'design-studio' ),
	'section' => 'design_studio_post_options',
	'settings' => 'design_studio_archive_layuout_separator',
)));


// Archive Layout - Column Layout.
$wp_customize->add_setting(
	'design_studio_archive_column_layout',
	array(
		'default'           => 'column-1',
		'sanitize_callback' => 'design_studio_sanitize_select',
	)
);

$wp_customize->add_control(
	'design_studio_archive_column_layout',
	array(
		'label'   => esc_html__( 'Select Posts Layout', 'design-studio' ),
		'section' => 'design_studio_post_options',
		'type'    => 'select',
		'choices' => array(
			'column-1' => __( 'Column 1', 'design-studio' ),
			'column-2' => __( 'Column 2', 'design-studio' ),
			'column-3' => __( 'Column 3', 'design-studio' ),
			'column-4' => __( 'Column 4', 'design-studio' ),
		),
	)
);

$wp_customize->add_setting('design_studio_blog_layout_option_setting',array(
	'default' => 'Left',
	'sanitize_callback' => 'design_studio_sanitize_choices'
  ));
  $wp_customize->add_control(new Design_Studio_Image_Radio_Control($wp_customize, 'design_studio_blog_layout_option_setting', array(
	'type' => 'select',
	'label' => __('Blog Content Alignment','design-studio'),
	'section' => 'design_studio_post_options',
	'choices' => array(
		'Left' => esc_url(get_template_directory_uri()).'/resource/img/layout-2.png',
		'Default' => esc_url(get_template_directory_uri()).'/resource/img/layout-1.png',
		'Right' => esc_url(get_template_directory_uri()).'/resource/img/layout-3.png',
))));


// ---------------------------------------- Read More ----------------------------------------------------

// Add Separator Custom Control
$wp_customize->add_setting( 'design_studio_readmore_separators', array(
	'sanitize_callback' => 'sanitize_text_field',
) );

$wp_customize->add_control( new Design_Studio_Separator_Custom_Control( $wp_customize, 'design_studio_readmore_separators', array(
	'label' => __( 'Read More Button Settings', 'design-studio' ),
	'section' => 'design_studio_post_options',
	'settings' => 'design_studio_readmore_separators',
)));


// Post Options - Show / Hide Read More Button.
$wp_customize->add_setting(
	'design_studio_post_readmore_button',
	array(
		'default'           => true,
		'sanitize_callback' => 'design_studio_sanitize_switch',
	)
);

$wp_customize->add_control(
	new Design_Studio_Toggle_Switch_Custom_Control(
		$wp_customize,
		'design_studio_post_readmore_button',
		array(
			'label'   => esc_html__( 'Show / Hide Read More Button', 'design-studio' ),
			'section' => 'design_studio_post_options',
		)
	)
);

$wp_customize->add_setting(
    'design_studio_readmore_btn_icon',
    array(
        'default' => 'fas fa-chevron-right', // Set default icon here
        'sanitize_callback' => 'sanitize_text_field',
        'capability' => 'edit_theme_options',
    )
);

$wp_customize->add_control(new Design_Studio_Change_Icon_Control(
    $wp_customize, 
    'design_studio_readmore_btn_icon',
    array(
        'label'    => __('Read More Icon','design-studio'),
        'section'  => 'design_studio_post_options',
        'iconset'  => 'fa',
    )
));

$wp_customize->add_setting(
	'design_studio_readmore_button_text',
	array(
		'default'           => 'Read More',
		'sanitize_callback' => 'sanitize_text_field',
	)
);

$wp_customize->add_control(
	'design_studio_readmore_button_text',
	array(
		'label'           => esc_html__( 'Read More Button Text', 'design-studio' ),
		'section'         => 'design_studio_post_options',
		'settings'        => 'design_studio_readmore_button_text',
		'type'            => 'text',
	)
);

// Featured Image Dimension
$wp_customize->add_setting(
	'design_studio_blog_post_featured_image_dimension',
	array(
		'default' => 'default',
		'sanitize_callback' => 'design_studio_sanitize_choices'
	)
);

$wp_customize->add_control(
	'design_studio_blog_post_featured_image_dimension', 
	array(
		'type' => 'select',
		'label' => __('Featured Image Dimension','design-studio'),
		'section' => 'design_studio_post_options',
		'choices' => array(
			'default' => __('Default','design-studio'),
			'custom' => __('Custom Image Size','design-studio'),
		),
		'description' => __('Note: If you select "Custom Image Size", you can set a custom width and height up to 950px.', 'design-studio')
	)
);
 
// Featured Image Custom Width
$wp_customize->add_setting(
	'design_studio_blog_post_featured_image_custom_width',
	array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	)
);

$wp_customize->add_control(
	'design_studio_blog_post_featured_image_custom_width',
	array(
		'label'	=> __('Featured Image Custom Width','design-studio'),
		'section'=> 'design_studio_post_options',
		'type'=> 'text',
		'input_attrs' => array(
			'placeholder' => __( '300', 'design-studio' ),
		),
		'active_callback' => 'design_studio_blog_post_featured_image_dimension'
	)
);

// Featured Image Custom Height
$wp_customize->add_setting(
	'design_studio_blog_post_featured_image_custom_height',
	array(
		'default'=> '',
		'sanitize_callback'	=> 'sanitize_text_field'
	)
);

$wp_customize->add_control(
	'design_studio_blog_post_featured_image_custom_height',
	array(
		'label'	=> __('Featured Image Custom Height','design-studio'),
		'section'=> 'design_studio_post_options',
		'type'=> 'text',
		'input_attrs' => array(
			'placeholder' => __( '300', 'design-studio' ),
		),
		'active_callback' => 'design_studio_blog_post_featured_image_dimension'
	)
);

// Featured Image Border Radius
$wp_customize->add_setting( 
	'design_studio_featured_image_border_radius', 
	array(
		'default'           => 10,
		'transport'         => 'refresh',
		'sanitize_callback' => 'design_studio_sanitize_range_value',
	) 
);

$wp_customize->add_control( 
	'design_studio_featured_image_border_radius', 
	array(
		'label'       => esc_html__( 'Featured Image Border Radius', 'design-studio' ),
		'section'     => 'design_studio_post_options',
		'type'        => 'range',
		'input_attrs' => array(
			'step' => 1,
			'min'  => 0,
			'max'  => 150,
		),
	) 
);