<?php
/**
 * PC Gaming functions and definitions
 *
 * @link https://developer.wordpress.org/themes/basics/theme-functions/
 *
 * @package PC Gaming
 */



if ( ! function_exists( 'pc_gaming_support' ) ) :
	function pc_gaming_support() {

		load_theme_textdomain( 'pc-gaming', get_template_directory() . '/languages' );
		
		add_theme_support( 'html5', array(
			'comment-form',
			'comment-list',
			'gallery',
			'caption',
		) );

		add_theme_support( 'custom-background', apply_filters( 'pc_gaming_custom_background', array(
            'default-color' => 'fafafa',
            'default-image' => '',
        )));
		
		add_theme_support( 'wp-block-styles' );

		add_editor_style( 'style.css' );

		define('PC_GAMING_BUY_NOW',__('https://www.themescarts.com/products/solar-wordpress-theme/','pc-gaming'));
		define('PC_GAMING_FOOTER_BUY_NOW',__('https://www.themescarts.com/products/pc-gaming/','pc-gaming'));

	}
endif;
add_action( 'after_setup_theme', 'pc_gaming_support' );


if ( ! function_exists( 'pc_gaming_setup' ) ) :
	function pc_gaming_setup() {

		load_theme_textdomain( 'pc-gaming', get_template_directory() . '/languages' );
		
		add_theme_support( 'automatic-feed-links' );
		add_theme_support( 'align-wide' );
		add_theme_support( 'woocommerce' );
		add_theme_support( 'wp-block-styles' );
		add_theme_support(
			'custom-logo',
			array(
				'height'      => 192,
				'width'       => 192,
				'flex-width'  => true,
				'flex-height' => true,
			)
		);
		add_theme_support( 'block-nav-menus' );
		add_theme_support( 'experimental-link-color' );
		register_nav_menus(
			array(
				'primary' => __( 'Primary Navigation', 'pc-gaming' ),
			)
		);
	}
endif;
add_action( 'after_setup_theme', 'pc_gaming_setup' );

/**
 * Enqueue scripts and styles.
 */
function pc_gaming_scripts() {
	$min  = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

	$theme_version = wp_get_theme()->get( 'Version' );

	$deps = array( 'dashicons' );
	global $wp_styles;
	if ( in_array( 'wc-blocks-vendors-style', $wp_styles->queue ) ) {
		$deps[] = 'wc-blocks-vendors-style';
	}

	wp_enqueue_style( 'pc-gaming-style', get_stylesheet_uri(), $deps, date( 'Ymd-Gis', filemtime( get_theme_file_path( 'style.css' ) ) ) );

	$pc_gaming_enable_animations = get_option( 'pc_gaming_enable_animations', true );

    if ( $pc_gaming_enable_animations ) {
        //animation
		wp_enqueue_script( 'animate-js', get_theme_file_uri( '/js/animate.js' ), array( 'jquery' ), true );

		wp_enqueue_style( 'animate-css', get_template_directory_uri().'/css/animate.css' );
    }

	wp_style_add_data('pc-gaming', 'rtl', 'replace');

	wp_enqueue_script('pc-gaming-main-script', get_template_directory_uri() . '/js/script.js', array('jquery'), PC_GAMING_VERSION, true);

		//font-awesome
	wp_enqueue_style( 'fontawesome', get_template_directory_uri() . '/css/font-awesome/css/all.css', array(), '5.15.3' );

}
add_action( 'wp_enqueue_scripts', 'pc_gaming_scripts' );

/**
 * Enqueue admin scripts and styles.
 */
function pc_gaming_admin_scripts() {
	$min  = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';

	$theme_version = wp_get_theme()->get( 'Version' );

	$deps = array();

	wp_enqueue_style( 'pc-gaming-admin-style', get_stylesheet_directory_uri() . '/css/admin-style.css', $deps, date( 'Ymd-Gis', filemtime( get_theme_file_path( 'style.css' ) ) ) );

	wp_enqueue_style(
		'pc-gaming-admin-css',
		get_template_directory_uri() . '/notice-getstart/theme-info.css',
		[],
		wp_get_theme()->get( 'Version' )
	);

	// Enqueue JS
	wp_enqueue_script(
		'pc-gaming-admin-js',
		get_template_directory_uri() . '/notice-getstart/theme-info.js',
		[],
		wp_get_theme()->get( 'Version' ),
		true // Load in footer
	);

}
add_action( 'admin_enqueue_scripts', 'pc_gaming_admin_scripts' );

/**
 * Load core file.
 */
require_once get_template_directory() . '/core/init.php';

/**
 * TGM
 */
require_once get_template_directory() . '/core/tgm/tgm.php';



/** 
 * Customizer
 */
require get_template_directory() . '/core/section-pro/customizer.php';

/** 
 * Animation
 */

require get_template_directory() . '/animation-setting.php';


/**
 * Current theme path.
 * Current theme url.
 * Current theme version.
 * Current theme name.
 * Current theme option name.
 */
define( 'PC_GAMING_PATH', trailingslashit( get_template_directory() ) );
define( 'PC_GAMING_URL', trailingslashit( get_template_directory_uri() ) );
define( 'PC_GAMING_VERSION', '1.0.0' );
define( 'PC_GAMING_THEME_NAME', 'pc-gaming' );
define( 'PC_GAMING_OPTION_NAME', 'pc-gaming' );

/**
 * The core theme class that is used to define internationalization,
 * admin-specific hooks, and public-facing site hooks.
 */
require PC_GAMING_PATH . 'notice-getstart/main.php';


/**
 * Begins execution of the theme.
 *
 * @since    1.0.0
 */
function pc_gaming_run() {
	new Pc_Gaming();
}
pc_gaming_run();

