<?php
/**
 * Titan Notice Handler
 */

defined( 'ABSPATH' ) || exit;

define('FREELANCE_PORTFOLIO_SUPPORT',__('https://wordpress.org/support/theme/freelance-portfolio/','freelance-portfolio'));
define('FREELANCE_PORTFOLIO_REVIEW',__('https://wordpress.org/support/theme/freelance-portfolio/reviews/#new-post','freelance-portfolio'));
define('FREELANCE_PORTFOLIO_BUY_NOW',__('https://www.titanthemes.net/products/freelancer-wordpress-theme','freelance-portfolio'));
define('FREELANCE_PORTFOLIO_DOC_URL',__('https://preview.titanthemes.net/documentation/freelance-portfolio-lite/','freelance-portfolio'));
define('FREELANCE_PORTFOLIO_LIVE_DEMO',__('https://preview.titanthemes.net/freelance-portfolio/','freelance-portfolio'));
define('FREELANCE_PORTFOLIO_BUNDLE',__('https://www.titanthemes.net/products/wordpress-theme-bundle','freelance-portfolio'));

/**
 * Admin Hook
 */
function freelance_portfolio_admin_menu_page() {
    $freelance_portfolio_theme = wp_get_theme( get_template() );

    add_theme_page(
        $freelance_portfolio_theme->display( 'Name' ),
        $freelance_portfolio_theme->display( 'Name' ),
        'manage_options',
        'freelance-portfolio',
        'freelance_portfolio_do_admin_page'
    );
}
add_action( 'admin_menu', 'freelance_portfolio_admin_menu_page' );

/**
 * Enqueue getting started styles and scripts
 */
function titan_widgets_backend_enqueue() {
    wp_enqueue_style(
        'titan-getting-started',
        get_template_directory_uri() . '/about-theme/about-theme.css'
    );

    // Enqueue your admin notice JS
    wp_enqueue_script(
        'titan-admin-notice',
        get_template_directory_uri() . '/about-theme/admin-notice-script.js',
        array('jquery'), // dependencies
        '1.0',
        true
    );

    // Pass PHP data to JS
    wp_localize_script(
        'titan-admin-notice',
        'freelance_portfolio',
        array(
            'ajax_url' => admin_url('admin-ajax.php'),
            'nonce'    => wp_create_nonce('freelance_portfolio_nonce'),
        )
    );
}
add_action( 'admin_enqueue_scripts', 'titan_widgets_backend_enqueue' );


/**
 * Class Titan_Notice_Handler
 */
class Titan_Notice_Handler {

    public static $nonce;

    /**
     * Empty Constructor
     */
    public function __construct() {
        // Activation notice
        add_action( 'switch_theme', array( $this, 'flush_dismiss_status' ) );
        add_action( 'admin_init', array( $this, 'getting_started_notice_dismissed' ) );
        add_action( 'admin_notices', array( $this, 'titan_theme_info_welcome_admin_notice' ), 3 );
        add_action( 'wp_ajax_freelance_portfolio_dismissable_notice', array( $this, 'ajax_dismiss_notice' ) );
        add_action( 'wp_ajax_titan_getting_started', array( $this, 'titan_getting_started' ) );
    }

    /**
     * Display an admin notice linking to the about page
     */
    public function titan_theme_info_welcome_admin_notice() {
        $current_screen = get_current_screen();
        $freelance_portfolio_theme = wp_get_theme();

        // Check if the user has dismissed the notice or if we are on the specified screen
        if ( is_admin() && ! get_user_meta( get_current_user_id(), 'gs_notice_dismissed' ) && $current_screen->base !== 'appearance_page_freelance-portfolio' ) {
            echo '<div class="updated notice notice-success is-dismissible notice-get-started-class admin-notice" data-notice="getting_started_notice">';
            echo '<div class="admin-notice-content">';
            echo '<p><strong>' . sprintf( esc_html__( 'Welcome! Thank you for choosing %1$s.', 'freelance-portfolio' ), esc_html( $freelance_portfolio_theme->get( 'Name' ) ) ) . '</strong></p>';
            echo '<p class="plugin-notice">' . esc_html__( 'Thank you for choosing this theme. Use the Get Started guide to quickly set up and personalize your website.', 'freelance-portfolio' ) . '</p>';
            echo '<div class="titan-buttons">';
            echo '<p><a href="' . esc_url( admin_url( 'themes.php?page=freelance-portfolio' ) ) . '" class="titan-install-plugins button button-primary">' . sprintf( esc_html__( 'Get started with %s', 'freelance-portfolio' ), esc_html( $freelance_portfolio_theme->get( 'Name' ) ) ) . '</a></p>';
            echo '<p><a href="' . esc_url( FREELANCE_PORTFOLIO_BUY_NOW ) . '" class="button button-secondary" target="_blank">' . esc_html__( 'GO FOR PREMIUM', 'freelance-portfolio' ) . '</a></p>';
            echo '<p><a href="' . esc_url( FREELANCE_PORTFOLIO_BUNDLE ) . '" class="button button-bundle" target="_blank">' . esc_html__( 'GET BUNDLE', 'freelance-portfolio' ) . '</a></p>';
            echo '</div>';
            echo '</div>';
            echo '<div class="admin-notice-image">';
            echo '<img class="notice_img" width="100%" src="' . esc_url( get_template_directory_uri() . '/assets/images/notice.png' ) . '">';
            echo '</div>';
            echo '<a href="#" class="getting-started-notice-dismiss">Dismiss</a>';
            echo '</div>';
        }
    }

    /**
     * Register dismissal of the getting started notification.
     * Acts on the dismiss link.
     * If clicked, the admin notice disappears and will no longer be visible to this user.
     */
    public function getting_started_notice_dismissed() {
        if ( isset( $_GET['gs-notice-dismissed'] ) ) {
            add_user_meta( get_current_user_id(), 'gs_notice_dismissed', 'true' );
        }
    }

    /**
     * Deletes the getting started notice's dismiss status upon theme switch.
     */
    public function flush_dismiss_status() {
        delete_user_meta( get_current_user_id(), 'gs_notice_dismissed' );
    }

    /**
     * AJAX handler for dismissing the notice
     */
    public function ajax_dismiss_notice() {
        if ( isset( $_POST['type'] ) && $_POST['type'] === 'getting_started_notice' ) {
            add_user_meta( get_current_user_id(), 'gs_notice_dismissed', 'true' );
        }
        wp_die();
    }

}

new Titan_Notice_Handler();


/**
 * Render admin page.
 *
 * @since 1.0.0
 */
function freelance_portfolio_do_admin_page() { 
    $freelance_portfolio_theme = wp_get_theme(); ?>
    <div class="freelance-portfolio-themeinfo-page--wrapper">
        <div class="free&pro">
            <div id="freelance-portfolio-admin-about-page-1">
                <div class="theme-detail">
                   <div class="freelance-portfolio-admin-card-header-1">
                    <div class="freelance-portfolio-header-left">
                        <h2>
                            <?php echo esc_html( $freelance_portfolio_theme->Name ); ?> <span><?php echo esc_html($freelance_portfolio_theme['Version']);?></span>
                        </h2>
                        <p>
                            <?php
                            echo wp_kses_post( apply_filters( 'titan_theme_description', esc_html( $freelance_portfolio_theme->get( 'Description' ) ) ) );
                        ?>
                        </p>
                    </div>
                    <div class="freelance-portfolio-header-right">
                        <div class="freelance-portfolio-pro-button">
                            <a href="<?php echo esc_url( FREELANCE_PORTFOLIO_BUY_NOW ); ?>" class="freelance-portfolio-button button-primary" target="_blank" rel="noreferrer">
                                <?php esc_html_e( 'UPGRADE TO PREMIUM', 'freelance-portfolio' ); ?>
                            </a>
                        </div>
                    </div>
                </div>   
                </div>   
                <div class="freelance-portfolio-features">
                    <div class="freelance-portfolio-features-box">
                        <h3><?php esc_html_e( 'PREMIUM DEMONSTRATION', 'freelance-portfolio' ); ?></h3>
                        <p><?php esc_html_e( 'Effortlessly create and customize your website by arranging text, images, and other elements using the Gutenberg editor, making web design easy and accessible for all skill levels.', 'freelance-portfolio' ); ?></p>
                        <a href="<?php echo esc_url( FREELANCE_PORTFOLIO_LIVE_DEMO ); ?>" class="freelance-portfolio-button button-secondary-1" target="_blank" rel="noreferrer">
                                <?php esc_html_e( 'DEMONSTRATION', 'freelance-portfolio' ); ?>
                            </a>
                    </div>
                    <div class="freelance-portfolio-features-box">
                        <h3><?php esc_html_e( 'REVIEWS', 'freelance-portfolio' ); ?></h3>
                        <p><?php esc_html_e( 'We would be happy to hear your thoughts and value your evaluation.', 'freelance-portfolio' ); ?></p>
                        <a href="<?php echo esc_url( FREELANCE_PORTFOLIO_REVIEW ); ?>" class="freelance-portfolio-button button-secondary-1" target="_blank" rel="noreferrer">
                                <?php esc_html_e( 'REVIEWS', 'freelance-portfolio' ); ?>
                            </a>
                    </div>
                    <div class="freelance-portfolio-features-box">
                        <h3><?php esc_html_e( '24/7 SUPPORT', 'freelance-portfolio' ); ?></h3>
                        <p><?php esc_html_e( 'Please do not hesitate to contact us at support if you need help installing our lite theme. We are prepared to assist you!', 'freelance-portfolio' ); ?></p>
                        <a href="<?php echo esc_url( FREELANCE_PORTFOLIO_SUPPORT ); ?>" class="freelance-portfolio-button button-secondary-1" target="_blank" rel="noreferrer">
                            <?php esc_html_e( 'SUPPORT', 'freelance-portfolio' ); ?>
                        </a>
                    </div>
                    <div class="freelance-portfolio-features-box">
                        <h3><?php esc_html_e( 'THEME INSTRUCTION', 'freelance-portfolio' ); ?></h3>
                        <p><?php esc_html_e( 'If you need assistance configuring and setting up the theme, our tutorial is available. A fast and simple method for setting up the theme.', 'freelance-portfolio' ); ?></p>
                        <a href="<?php echo esc_url( FREELANCE_PORTFOLIO_DOC_URL ); ?>" class="freelance-portfolio-button button-secondary-1" target="_blank" rel="noreferrer">
                                <?php esc_html_e( 'DOCUMENTATION', 'freelance-portfolio' ); ?>
                            </a>
                    </div> 
                </div>   
            </div>
            <div id="freelance-portfolio-admin-about-page-2">
                <div class="freelance-portfolio-pro-button bundle">
                    <div class="bundle-content">
                        <h3 class="bundle-head"><?php esc_html_e( 'Get All Themes In Single Pack', 'freelance-portfolio' ); ?></h3>
                        <p class="bundle-para"><?php esc_html_e( 'From customization to optimization, this bundle gives you the flexibility to create stunning websites.', 'freelance-portfolio' ); ?></p>
                        <a href="<?php echo esc_url( FREELANCE_PORTFOLIO_BUNDLE ); ?>" class="freelance-portfolio-button bundle" target="_blank" rel="noreferrer">
                            <?php esc_html_e( 'BUY THEME BUNDLE', 'freelance-portfolio' ); ?>
                        </a>
                    </div>
                    <div class="bundle-image">
                        <img class="img_bundle" width="100%" src="<?php echo esc_url( get_template_directory_uri() . '/assets/images/bundle.png' ); ?>" alt="<?php esc_attr_e('logo', 'freelance-portfolio'); ?>">
                    </div>
                </div> 
                <div class="theme-detail">
                   <div class="freelance-portfolio-admin-card-header-1">
                        <div class="freelance-portfolio-header-left-pro"> 
                            <h2><?php esc_html_e( 'The premium version of this theme will be available for you to enhance or unlock our premium features.', 'freelance-portfolio' ); ?></h2>
                        </div>
                        <div class="freelance-portfolio-header-right-2">
                            <div class="freelance-portfolio-pro-button">
                                <a href="<?php echo esc_url( FREELANCE_PORTFOLIO_BUY_NOW ); ?>" class="freelance-portfolio-button button-primary-1 buy-now" target="_blank" rel="noreferrer">
                                    <?php esc_html_e( 'GO TO PREMIUM', 'freelance-portfolio' ); ?>
                                </a>
                            </div>
                            <div class="freelance-portfolio-pro-button">
                                <a href="<?php echo esc_url( FREELANCE_PORTFOLIO_LIVE_DEMO ); ?>" class="freelance-portfolio-button button-primary-1 pro-demo" target="_blank" rel="noreferrer">
                                    <?php esc_html_e( 'PREMIUM DEMO', 'freelance-portfolio' ); ?>
                                </a>
                            </div> 
                        </div>
                    </div>
                    <div class="freelance-portfolio-admin-card-header-2">
                        <img class="img_responsive" style="width: 100%;" src="<?php echo esc_url( $freelance_portfolio_theme->get_screenshot() ); ?>" />
                    </div> 
                </div>    
            </div>
        </div>
    </div>
<?php } ?>