<?php

use ExtendThemes\DemoImportIntegration\DemoImportIntegration;

if ( ! defined( 'ABSPATH' ) ) {
	die( 'Silence is golden' );
}

// run only in wp admin
if ( ! is_admin() ) {
	return;
}


if ( ! defined( 'MESMERIZE_DEMOS_IMPORTS_INTEGRATION_PATH' ) ) {
	define( 'MESMERIZE_DEMOS_IMPORTS_INTEGRATION_PATH', dirname( __FILE__ ) . '/' );
}

if ( ! defined( 'MESMERIZE_DEMOS_IMPORTS_INTEGRATION_URL' ) ) {
	define( 'MESMERIZE_DEMOS_IMPORTS_INTEGRATION_URL', plugin_dir_url( __FILE__ ) );
}

require_once MESMERIZE_DEMOS_IMPORTS_INTEGRATION_PATH . '/inc/DemoImportIntegration.php';
require_once MESMERIZE_DEMOS_IMPORTS_INTEGRATION_PATH . '/inc/ContentHooks.php';

DemoImportIntegration::run();

DemoImportIntegration::isOCDIInactive( 'mesmerize_add_ocdi_tgma_options' );

function mesmerize_add_ocdi_tgma_options() {
	add_filter(
		'mesmerize_tgmpa_plugins',
		function ( $plugins ) {
			$plugins[] = array(
				'name'     => 'One Click Demo Import',
				'slug'     => 'one-click-demo-import',
				'required' => false,
			);

			return $plugins;
		}
	);

	add_filter(
		'mesmerize_skip_tgma_plugin_from_notices',
		function ( $value, $slug ) {
			if ( $slug === 'one-click-demo-import' ) {
				$value = true;
			}

			return $value;
		},
		10,
		2
	);

}

function mesmerize_get_customizer_demo_import_content() {
	ob_start();
	require MESMERIZE_DEMOS_IMPORTS_INTEGRATION_PATH . '/views/customizer-popup.php';

	return ob_get_clean();
}


add_filter(
	'cloudpress\customizer\feature_popups',
	function ( $popups ) {

		$popups[] = array(
			'title'    => 'Import a demo site',
			'id'       => 'demo_import',
			'content'  => mesmerize_get_customizer_demo_import_content(),
			'autoload' => true,
			'data'     => array(
				'class' => 'ocdie-tbWindow',
			),
			'assets'   => array(
				//            'style' => "",
										'script' => MESMERIZE_DEMOS_IMPORTS_INTEGRATION_URL . '/assets/demo-import-customizer.js',
			),
		);

		$theme_mods = get_theme_mods();
		foreach ( $theme_mods as $key => $value ) {
			if ( strpos( $key, 'header' ) !== false ) {
				update_option( 'feature_popup_demo_import_disabled', 1, 'no' );
				break;
			}
		}

		return $popups;
	}
);


add_action(
	'customize_register',
	function ( $wp_customize ) {

		/** @var WP_Customize_Manager $wp_customize */

		$wp_customize->add_setting(
			'extendthemes_start_from_demo_site_setting',
			array(
				'default' => '',
			)
		);

		$wp_customize->add_control(
			'extendthemes_start_from_demo_site_control',
			array(
				'section'  => 'extendthemes_start_from_demo_site',
				'settings' => 'extendthemes_start_from_demo_site_setting',
			)
		);

	}
);

function mesmerize_load_demo_theme_partial() {
	mesmerize_load_theme_partial( 'demo-imports' );
}

add_action(
	'admin_menu',
	function () {
		$title = apply_filters( 'mesmerize_demos_page_name', __( 'Mesmerize Demos', 'mesmerize-companion' ) );
		add_theme_page(
			$title,
			$title,
			'activate_plugins',
			'mesmerize-demos',
			'mesmerize_load_demo_theme_partial'
		);
	},
	11
);


add_action(
	'admin_head',
	function () {
		?>
	<style type="text/css">
		#adminmenu .wp-not-current-submenu li > a[href*="page=mesmerize-demos"]:before,
		#adminmenu .wp-has-current-submenu ul > li > a[href*="page=mesmerize-demos"]:before {
			width: 1em;
			height: 1em;
			font-size: 14px;
			font-family: dashicons;
			text-decoration: inherit;
			font-weight: normal;
			font-style: normal;
			vertical-align: top;
			text-align: center;
			content: "\f547";
			margin-right: 4px;
		}
        body.block-editor-page .block-editor-inserter__block-patterns-tabs-container .block-editor-inserter__category-panel .block-editor-block-patterns-list__item{
            height: auto;
        }
	</style>
		<?php
	}
);
