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

if ( ! defined( 'MACHINERY_RENTAL_VERSION' ) ) {
	// Replace the version number of the theme on each release.
	define( 'MACHINERY_RENTAL_VERSION', wp_get_theme()->get( 'Version' ) );
}

if ( ! function_exists( 'machinery_rental_setup' ) ) :
	/**
	 * Sets up theme defaults and registers support for various WordPress features.
	 *
	 * Note that this function is hooked into the after_setup_theme hook, which
	 * runs before the init hook. The init hook is too late for some features, such
	 * as indicating support for post thumbnails.
	 */
	function machinery_rental_setup() {

		load_theme_textdomain( 'machinery-rental', get_template_directory() . '/languages' );

		// Add default posts and comments RSS feed links to head.
		add_theme_support( 'automatic-feed-links' );

		add_theme_support( 'align-wide' );

		add_theme_support( 'woocommerce' );

		// Add support for block styles.
		add_theme_support( 'wp-block-styles' );

		// Enqueue editor styles.
		add_editor_style( 'style.css' );

		// Add support for core custom logo.
		add_theme_support(
			'custom-logo',
			array(
				'height'      => 192,
				'width'       => 192,
				'flex-width'  => true,
				'flex-height' => true,
			)
		);

		// Experimental support for adding blocks inside nav menus
		add_theme_support( 'block-nav-menus' );

		// Add support for experimental link color control.
		add_theme_support( 'experimental-link-color' );

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

function machinery_rental_scripts() {
    wp_enqueue_style('machinery-rental-style', get_stylesheet_uri(), array() );
    wp_enqueue_script('jquery-wow', get_template_directory_uri() . '/js/wow.js', array('jquery'), MACHINERY_RENTAL_VERSION );
    wp_enqueue_style('animate-css', get_template_directory_uri() . '/css/animate.css', array(), MACHINERY_RENTAL_VERSION );

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

    // Custom scripts should depend 
    wp_enqueue_script(
        'machinery-rental-custom-scripts', 
        get_template_directory_uri() . '/js/custom.js', 
        array('jquery',), 
        MACHINERY_RENTAL_VERSION, // Consistent versioning
        true 
    );
    
    wp_style_add_data( 'machinery-rental-style', 'rtl', 'replace' );
}
add_action( 'wp_enqueue_scripts', 'machinery_rental_scripts' );

/**
 * Enqueue block editor style
 */
function machinery_rental_block_editor_styles() {

	wp_enqueue_style( 'machinery-rental-block-patterns-style-editor', get_theme_file_uri( '/css/block-editor.css' ), false, '1.0', 'all' );
}
add_action( 'enqueue_block_editor_assets', 'machinery_rental_block_editor_styles' );


function machinery_rental_init_setup() {

	// Add block patterns
	require get_template_directory() . '/inc/block-patterns.php';

	require_once get_theme_file_path( '/inc/customizer.php' );

	/**
     * Demo Import
     */
    require get_parent_theme_file_path( '/inc/get-started/demo-import-settings.php' );

    if ( ! defined( 'MACHINERY_RENTAL_FREE_THEME_URL' ) ) {
        define( 'MACHINERY_RENTAL_FREE_THEME_URL', 'https://www.seothemesexpert.com/products/machinery-rental' );
    }
    if ( ! defined( 'MACHINERY_RENTAL_PRO_THEME_URL' ) ) {
        define( 'MACHINERY_RENTAL_PRO_THEME_URL', 'https://www.seothemesexpert.com/products/machinery-rental-wordpress-theme' );
    }
    if ( ! defined( 'MACHINERY_RENTAL_FREE_DOC_URL' ) ) {
        define( 'MACHINERY_RENTAL_FREE_DOC_URL', 'https://demo.seothemesexpert.com/documentation/machinery-rental-free/' );
    }
    if ( ! defined( 'MACHINERY_RENTAL_DEMO_THEME_URL' ) ) {
        define( 'MACHINERY_RENTAL_DEMO_THEME_URL', 'https://demo.seothemesexpert.com/machinery-rental/' );
    }
    if ( ! defined( 'MACHINERY_RENTAL_RATE_THEME_URL' ) ) {
        define( 'MACHINERY_RENTAL_RATE_THEME_URL', 'https://wordpress.org/support/theme/machinery-rental/reviews/' );
    }
    if ( ! defined( 'MACHINERY_RENTAL_SUPPORT_THEME_URL' ) ) {
        define( 'MACHINERY_RENTAL_SUPPORT_THEME_URL', 'https://wordpress.org/support/theme/machinery-rental/' );
    }
    if ( ! defined( 'MACHINERY_RENTAL_THEME_BUNDLE_URL' ) ) {
        define( 'MACHINERY_RENTAL_THEME_BUNDLE_URL', 'https://www.seothemesexpert.com/products/wordpress-theme-bundle' );
    }
}
add_action( 'after_setup_theme', 'machinery_rental_init_setup' );


// Show Admin Notice
function machinery_rental_promo_notice() {
    if (get_option('machinery_rental_notice_dismissed')) {
        return;
    }

    if (isset($_GET['page']) && $_GET['page'] === 'machineryrental-wizard') {
        return;
    }

    $machinery_rental_theme = wp_get_theme();
    $machinery_rental_theme_title = $machinery_rental_theme->get( 'Name' );
    $machinery_rental_theme_version = $machinery_rental_theme->get( 'Version' );

    ?>
    <div class="notice machinery-rental-notice is-dismissible">
        <div>
            <h3>
                <span><?php echo esc_html( '(Version: ' . $machinery_rental_theme_version . ')' ); ?></span><br>
                <?php esc_html_e( 'Thank you for choosing,', 'machinery-rental'); ?>
                <?php echo esc_html( $machinery_rental_theme_title ); ?> <?php esc_html_e( '!!!', 'machinery-rental'); ?>
            </h3>
            <p><?php esc_html_e( 'Welcome! You can now easily start building your website using our beautiful and user-friendly themes. No need to worry about setup — with our one-click demo importer, your site can look just like the demo in minutes. All the tools and information you need to get started are right here!', 'machinery-rental'); ?></p>
            <a class="button button-primary machinery-rental-buy-now" href="<?php echo esc_url(admin_url('themes.php?page=machineryrental-wizard')); ?>" target="_blank">
                <?php esc_html_e( 'Get Started', 'machinery-rental') ?>
            </a>
            <a class="button button-primary machinery-rental-bundle-button" target="_blank" href="<?php echo esc_url( MACHINERY_RENTAL_THEME_BUNDLE_URL ); ?>">
                <?php echo esc_html__( 'Get All 60+ Themes @ $79', 'machinery-rental' ); ?>
            </a>
        </div>
        <div class="machinery-rental-image-wrap">
            <img src="<?php echo esc_url(get_stylesheet_directory_uri() . '/screenshot.png'); ?>">
        </div>
        <canvas id="machinery-rental-notice-confetti"></canvas>
    </div>
    <?php
}
add_action('admin_notices', 'machinery_rental_promo_notice');

add_action('wp_ajax_machinery_rental_dismiss_notice', 'machinery_rental_dismiss_notice');
function machinery_rental_dismiss_notice() {
    update_option('machinery_rental_notice_dismissed', true);
    wp_send_json_success();
}

add_action('after_switch_theme', 'machinery_rental_reset_notice_on_activation');
function machinery_rental_reset_notice_on_activation() {
    delete_option('machinery_rental_notice_dismissed');
}

function machinery_rental_enqueue_admin_assets() {
    wp_enqueue_script(
        'machinery-rental-confetti',
        get_template_directory_uri() . '/inc/get-started/assets/js/confetti/confetti.min.js',
        ['jquery'],
        null,
        true
    );

    wp_enqueue_script(
        'machinery-rental-notice-confetti-js',
        get_template_directory_uri() . '/inc/get-started/assets/js/plugin-update-notice.js',
        ['machinery-rental-confetti'],
        null,
        true
    );

    wp_enqueue_script(
        'machinery-rental-notice-dismiss',
        get_template_directory_uri() . '/inc/get-started/assets/js/notice-dismiss.js',
        ['jquery'],
        null,
        true
    );
}
add_action('admin_enqueue_scripts', 'machinery_rental_enqueue_admin_assets');