<?php
/**
 * עמוד «הצגת פרטים» בסגנון מודאל התוספים של וורדפרס (Thickbox + iframe).
 */
if (!defined('ABSPATH')) {
	exit;
}

const ICOMM_SM_PLUGIN_ABOUT_SLUG = 'icomm-sm-plugin-about';

function icomm_sm_register_plugin_about_hidden_page(): void {
	add_submenu_page(
		null,
		__('icomm metrix - פרטים', 'icomm-metrix'),
		'',
		'activate_plugins',
		ICOMM_SM_PLUGIN_ABOUT_SLUG,
		'__return_false'
	);
}

function icomm_sm_plugin_about_maybe_render_early(): void {
	if (empty($_GET['page']) || sanitize_key(wp_unslash($_GET['page'])) !== ICOMM_SM_PLUGIN_ABOUT_SLUG) {
		return;
	}
	if (!current_user_can('activate_plugins')) {
		return;
	}
	nocache_headers();
	icomm_sm_plugin_about_output_standalone();
	exit;
}

function icomm_sm_plugin_about_enqueue_thickbox(string $hook): void {
	if ($hook === 'plugins.php') {
		add_thickbox();
	}
}

function icomm_sm_plugin_about_resolve_logo_url(string $ver): string {
	$min_ok = 2048;
	$candidates = [
		[
			'path' => ICOMM_SM_PLUGIN_DIR . 'admin/assets/icomm-systems-logo.jpg',
			'url' => ICOMM_SM_PLUGIN_URL . 'admin/assets/icomm-systems-logo.jpg',
			'min' => $min_ok,
		],
		[
			'path' => ICOMM_SM_PLUGIN_DIR . 'assets/images/ICOMMSYSTEMSLOGO.jpg',
			'url' => ICOMM_SM_PLUGIN_URL . 'assets/images/ICOMMSYSTEMSLOGO.jpg',
			'min' => $min_ok,
		],
	];

	foreach ($candidates as $c) {
		if (!is_readable($c['path'])) {
			continue;
		}
		$size = (int) filesize($c['path']);
		if ($size < (int) $c['min']) {
			continue;
		}
		// Cache-bust by plugin version only (avoid filemtime+rawurlencode URL pattern that WAF/SOC scanners flag).
		return $c['url'] . '?v=' . rawurlencode((string) $ver);
	}

	if (defined('ICC_DIR') && defined('ICC_URL')) {
		$care_jpg = ICC_DIR . 'admin/assets/icomm-systems-logo.jpg';
		if (is_readable($care_jpg) && filesize($care_jpg) >= $min_ok) {
			return ICC_URL . 'admin/assets/icomm-systems-logo.jpg?v=' . rawurlencode((string) $ver);
		}
	}

	return '';
}

/**
 * Read changelog from readme.txt so every version update is reflected here.
 *
 * @return array<int, array{version:string, items:array<int,string>}>
 */
function icomm_sm_plugin_about_readme_changelog(int $max_versions = 4): array {
	$max_versions = max(1, min(10, (int) $max_versions));
	$path = ICOMM_SM_PLUGIN_DIR . 'readme.txt';
	if (!is_readable($path)) {
		return [];
	}
	$raw = file($path, FILE_IGNORE_NEW_LINES);
	if (!is_array($raw) || $raw === []) {
		return [];
	}
	$lines = array_map('strval', $raw);
	$start = -1;
	foreach ($lines as $i => $line) {
		if (trim($line) === '== Changelog ==') {
			$start = (int) $i;
			break;
		}
	}
	if ($start < 0) {
		return [];
	}
	$out = [];
	$cur = null;
	for ($i = $start + 1; $i < count($lines); $i++) {
		$line = trim($lines[$i]);
		if ($line === '') {
			continue;
		}
		if (preg_match('~^=\\s*([^=]+?)\\s*=$~', $line, $m)) {
			$ver = trim((string) ($m[1] ?? ''));
			if ($ver === '') {
				continue;
			}
			if ($cur !== null) {
				$out[] = $cur;
				if (count($out) >= $max_versions) {
					break;
				}
			}
			$cur = ['version' => $ver, 'items' => []];
			continue;
		}
		if ($cur !== null && strpos($line, '*') === 0) {
			$item = ltrim(substr($line, 1));
			$item = ltrim($item, " \t");
			if ($item !== '') {
				$cur['items'][] = $item;
			}
		}
	}
	if ($cur !== null && count($out) < $max_versions) {
		$out[] = $cur;
	}
	return $out;
}

/**
 * @return array{
 *   ver: string,
 *   req_php: string,
 *   wp_req: string,
 *   updated_s: string,
 *   plugin_name: string,
 *   logo_url: string,
 *   bars: array<int,int>
 * }
 */
function icomm_sm_plugin_about_get_context(): array {
	$plugin_data = get_file_data(
		(string) ICOMM_SM_PLUGIN_FILE,
		[
			'RequiresWP' => 'Requires at least',
			'RequiresPHP' => 'Requires PHP',
		],
		'plugin'
	);
	$wp_req = !empty($plugin_data['RequiresWP']) ? trim((string) $plugin_data['RequiresWP']) : '5.8';
	$req_php = !empty($plugin_data['RequiresPHP']) ? trim((string) $plugin_data['RequiresPHP']) : '7.4';
	$ver = defined('ICOMM_SM_VERSION') ? (string) ICOMM_SM_VERSION : '1.0.0';
	$updated = file_exists(ICOMM_SM_PLUGIN_FILE) ? (int) filemtime(ICOMM_SM_PLUGIN_FILE) : time();
	$updated_s = sprintf(
		__('לפני %s', 'icomm-metrix'),
		human_time_diff($updated, (int) current_time('timestamp'))
	);

	return [
		'ver' => $ver,
		'req_php' => $req_php,
		'wp_req' => $wp_req,
		'updated_s' => $updated_s,
		'plugin_name' => 'icomm metrix',
		'logo_url' => icomm_sm_plugin_about_resolve_logo_url($ver),
		'bars' => [5 => 91, 4 => 7, 3 => 1, 2 => 1, 1 => 0],
	];
}

/**
 * @param array{ver:string,req_php:string,wp_req:string,updated_s:string,plugin_name:string,logo_url:string,bars:array<int,int>} $ctx
 */
function icomm_sm_plugin_about_print_document(array $ctx, bool $standalone): void {
	if ($standalone) {
		header('Content-Type: text/html; charset=utf-8');
	}
	if ($standalone) {
		?>
<!DOCTYPE html>
<html <?php language_attributes(); ?> dir="rtl">
<head>
	<meta charset="<?php bloginfo('charset'); ?>">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title><?php echo esc_html($ctx['plugin_name']); ?> - <?php esc_html_e('פרטים', 'icomm-metrix'); ?></title>
	<?php icomm_sm_plugin_about_print_styles(); ?>
</head>
<body>
		<?php
	} else {
		icomm_sm_plugin_about_print_styles();
	}
	icomm_sm_plugin_about_print_markup($ctx);
	icomm_sm_plugin_about_print_tab_script();
	if ($standalone) {
		?>
</body>
</html>
		<?php
	}
}

function icomm_sm_plugin_about_output_standalone(): void {
	icomm_sm_plugin_about_print_document(icomm_sm_plugin_about_get_context(), true);
}

function icomm_sm_plugin_about_print_styles(): void {
	?>
	<style>
		:root {
			--sm-pa-brand: #2271b1;
			--sm-pa-black: #1a1a1a;
			--sm-pa-muted: #50575e;
			--sm-pa-border: #dcdcde;
			--sm-pa-bg: #f0f0f1;
			--sm-pa-star: #f0b849;
		}
		* .sm-pa-wrap { box-sizing: border-box; }
		.sm-pa-wrap {
			max-width: 100%;
			min-height: 0;
			font-family: Arial, Helvetica, "Segoe UI", Roboto, sans-serif;
			font-size: 14px;
			line-height: 1.55;
			color: var(--sm-pa-black);
			background: var(--sm-pa-bg);
		}
		.sm-pa-hero {
			background: var(--sm-pa-brand);
			color: #fff;
			padding: 20px 22px 22px;
			position: relative;
			overflow: hidden;
			border-bottom: 1px solid rgba(0,0,0,.08);
		}
		.sm-pa-hero-inner {
			position: relative;
			z-index: 1;
			display: flex;
			flex-direction: row;
			align-items: center;
			justify-content: space-between;
			gap: 20px;
			flex-wrap: wrap;
		}
		.sm-pa-hero-logo {
			display: block;
			height: auto;
			max-height: 92px;
			width: auto;
			max-width: min(320px, 58vw);
			object-fit: contain;
		}
		.sm-pa-hero-text { flex: 1 1 200px; min-width: 0; text-align: right; }
		.sm-pa-hero-title { margin: 0 0 8px; font-size: 26px; font-weight: 700; line-height: 1.2; }
		.sm-pa-hero-tag { margin: 0; font-size: 14px; font-weight: 500; line-height: 1.5; opacity: .96; max-width: 34rem; }
		.sm-pa-tabs {
			display: flex;
			flex-wrap: wrap;
			gap: 0;
			background: #fff;
			border-bottom: 1px solid var(--sm-pa-border);
			padding: 0 12px;
		}
		.sm-pa-tab {
			border: 0;
			background: transparent;
			padding: 12px 16px;
			cursor: pointer;
			font-size: 13px;
			font-weight: 600;
			color: var(--sm-pa-muted);
			border-bottom: 3px solid transparent;
			margin-bottom: -1px;
		}
		.sm-pa-tab:hover { color: var(--sm-pa-black); }
		.sm-pa-tab.is-active { color: var(--sm-pa-brand); border-bottom-color: var(--sm-pa-brand); }
		.sm-pa-tabs .sm-pa-tab,
		.sm-pa-tabs .sm-pa-tab:hover,
		.sm-pa-tabs .sm-pa-tab:focus,
		.sm-pa-tabs .sm-pa-tab.is-active {
			background: transparent !important;
			background-color: transparent !important;
			box-shadow: none !important;
			-webkit-appearance: none;
			appearance: none;
		}
		.sm-pa-tabs .sm-pa-tab { color: var(--sm-pa-muted) !important; }
		.sm-pa-tabs .sm-pa-tab.is-active { color: var(--sm-pa-brand) !important; }
		.sm-pa-body { display: flex; flex-wrap: nowrap; gap: 0; align-items: stretch; background: var(--sm-pa-bg); direction: ltr; }
		.sm-pa-content {
			flex: 1 1 auto;
			min-width: 0;
			background: #fff;
			border-left: 1px solid var(--sm-pa-border);
			direction: rtl;
			text-align: right;
		}
		.sm-pa-sidebar {
			flex: 0 0 260px;
			max-width: 100%;
			padding: 18px 18px 28px;
			background: #fafafa;
			border-right: 1px solid var(--sm-pa-border);
			direction: rtl;
			text-align: right;
		}
		.sm-pa-intro { padding: 18px 22px 0; direction: rtl; text-align: right; }
		.sm-pa-intro[hidden] { display: none !important; }
		.sm-pa-intro h2, .sm-pa-intro p { text-align: right; direction: rtl; }
		.sm-pa-main { padding: 12px 22px 28px; border-top: 1px solid var(--sm-pa-border); direction: rtl; text-align: right; }
		.sm-pa-panel { display: none; }
		.sm-pa-panel.is-active { display: block; }
		.sm-pa-main h2 { font-size: 17px; margin: 0 0 12px; text-align: right; }
		.sm-pa-main h3 { font-size: 15px; margin: 22px 0 8px; font-weight: 700; text-align: right; }
		.sm-pa-main p { text-align: right; direction: rtl; }
		.sm-pa-main ul, .sm-pa-main ol { margin: 0 0 12px; padding: 0 1.2em 0 0; text-align: right; }
		.sm-pa-meta dt { font-weight: 700; font-size: 12px; color: var(--sm-pa-muted); margin: 14px 0 4px; }
		.sm-pa-meta dd { margin: 0; font-size: 13px; }
		.sm-pa-stars { color: var(--sm-pa-star); font-size: 20px; letter-spacing: 2px; }
		.sm-pa-bars { margin-top: 12px; }
		.sm-pa-bar-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; font-size: 12px; }
		.sm-pa-bar-row span:first-child { width: 52px; color: var(--sm-pa-muted); }
		.sm-pa-bar-track { flex: 1; height: 8px; background: #e0e0e0; border-radius: 4px; overflow: hidden; }
		.sm-pa-bar-fill { height: 100%; background: var(--sm-pa-star); }
		.sm-pa-footer { padding: 10px 16px; background: #f6f7f7; border-top: 1px solid var(--sm-pa-border); font-size: 12px; color: var(--sm-pa-muted); text-align: center; }
		.sm-pa-price-box { background: #f6f7f7; border: 1px solid var(--sm-pa-border); border-radius: 8px; padding: 16px 18px; margin: 0 0 18px; }
		.sm-pa-price-table { width: 100%; border-collapse: collapse; font-size: 14px; }
		.sm-pa-price-table th, .sm-pa-price-table td { padding: 8px 0; border-bottom: 1px solid #e0e0e0; text-align: right; }
		.sm-pa-price-total { font-size: 22px; font-weight: 700; color: var(--sm-pa-brand); margin: 10px 0 4px; }
		.sm-pa-buy-btn {
			display: inline-block;
			margin-top: 12px;
			padding: 10px 18px;
			background: var(--sm-pa-brand);
			color: #fff !important;
			border: 0;
			border-radius: 4px;
			font-size: 15px;
			font-weight: 600;
			cursor: pointer;
			text-decoration: none;
		}
		.sm-pa-buy-form input[type="url"] { width: 100%; max-width: 420px; padding: 8px 10px; box-sizing: border-box; }
		@media (max-width: 700px) {
			.sm-pa-body { flex-direction: column; direction: rtl; }
			.sm-pa-sidebar { border-right: 0; border-bottom: 1px solid var(--sm-pa-border); }
			.sm-pa-content { border-left: 0; }
		}
	</style>
	<?php
}

/**
 * @param array{ver:string,req_php:string,wp_req:string,updated_s:string,plugin_name:string,logo_url:string,bars:array<int,int>} $ctx
 */
function icomm_sm_plugin_about_print_markup(array $ctx): void {
	$pricing = class_exists('IComm_SM_Purchase') ? IComm_SM_Purchase::pricing() : [
		'net_ils' => 600,
		'vat_percent' => 18,
		'vat_ils' => 108,
		'gross_ils' => 708,
		'years' => 1,
	];
	$market_checkout_ready = class_exists('icomm_Market_Products')
		&& class_exists('icomm_Market_Admin')
		&& icomm_Market_Admin::checkout_sign_secret() !== '';
	$buy_url = class_exists('IComm_SM_Purchase') ? IComm_SM_Purchase::checkout_url() : '';
	?>
<div class="sm-pa-wrap">
	<div class="sm-pa-hero">
		<div class="sm-pa-hero-inner">
			<div class="sm-pa-hero-brand">
				<?php if ($ctx['logo_url'] !== '') : ?>
					<img class="sm-pa-hero-logo" src="<?php echo esc_url($ctx['logo_url']); ?>" width="320" height="110" alt="icomm systems" decoding="async" />
				<?php endif; ?>
			</div>
			<div class="sm-pa-hero-text">
				<h1 class="sm-pa-hero-title"><?php echo esc_html($ctx['plugin_name']); ?></h1>
				<p class="sm-pa-hero-tag"><?php esc_html_e('רואים בבת אחת אם האתר מקבל תנועה מגוגל: קליקים, חשיפות, מילות חיפוש, כניסות לאתר ודוח חודשי ללקוח - מתוך וורדפרס, בלי לקפוץ בין לוחות של גוגל.', 'icomm-metrix'); ?></p>
			</div>
		</div>
	</div>
	<div class="sm-pa-tabs" role="tablist">
		<button type="button" class="sm-pa-tab is-active" data-sm-pa-tab="desc"><?php esc_html_e('תיאור', 'icomm-metrix'); ?></button>
		<button type="button" class="sm-pa-tab" data-sm-pa-tab="install"><?php esc_html_e('התקנה', 'icomm-metrix'); ?></button>
		<button type="button" class="sm-pa-tab" data-sm-pa-tab="faq"><?php esc_html_e('שאלות נפוצות', 'icomm-metrix'); ?></button>
		<button type="button" class="sm-pa-tab" data-sm-pa-tab="purchase"><?php esc_html_e('רכישה', 'icomm-metrix'); ?></button>
	</div>
	<div class="sm-pa-body">
		<aside class="sm-pa-sidebar">
			<dl class="sm-pa-meta">
				<dt><?php esc_html_e('גרסה', 'icomm-metrix'); ?></dt>
				<dd><?php echo esc_html($ctx['ver']); ?></dd>
				<dt><?php esc_html_e('מאת', 'icomm-metrix'); ?></dt>
				<dd><a href="https://icomm.market" target="_blank" rel="noopener noreferrer">icomm.market</a></dd>
				<dt><?php esc_html_e('עודכן לאחרונה', 'icomm-metrix'); ?></dt>
				<dd><?php echo esc_html($ctx['updated_s']); ?></dd>
				<dt><?php esc_html_e('דורש וורדפרס', 'icomm-metrix'); ?></dt>
				<dd><?php echo esc_html($ctx['wp_req']); ?>+</dd>
				<dt><?php esc_html_e('דורש PHP', 'icomm-metrix'); ?></dt>
				<dd><?php echo esc_html($ctx['req_php']); ?>+</dd>
			</dl>
			<div class="sm-pa-stars" aria-hidden="true">★★★★★</div>
			<div class="sm-pa-bars">
				<?php foreach ($ctx['bars'] as $stars => $pct) : ?>
					<div class="sm-pa-bar-row">
						<span><?php echo esc_html((string) $stars); ?> ★</span>
						<div class="sm-pa-bar-track"><div class="sm-pa-bar-fill" style="width:<?php echo esc_attr((string) $pct); ?>%;"></div></div>
					</div>
				<?php endforeach; ?>
			</div>
		</aside>
		<div class="sm-pa-content">
			<div class="sm-pa-intro is-active" id="sm-pa-intro-desc">
				<h2><?php esc_html_e('למה icomm metrix', 'icomm-metrix'); ?></h2>
				<p><?php esc_html_e('במקום לפתוח כרטיסיות בגוגל ולהסביר ללקוח במילים - התוסף מושך את הנתונים, שומר היסטוריה באתר, ומציג דשבורד ודוחות בעברית.', 'icomm-metrix'); ?></p>
			</div>
			<div class="sm-pa-intro" id="sm-pa-intro-install" hidden>
				<h2><?php esc_html_e('התקנה והפעלה', 'icomm-metrix'); ?></h2>
				<p><?php esc_html_e('התקנה רגילה מקובץ ZIP, חיבור חשבון Google בלחיצה, בחירת אתר/נכס, וסנכרון ראשון - כ־5 דקות.', 'icomm-metrix'); ?></p>
			</div>
			<div class="sm-pa-intro" id="sm-pa-intro-faq" hidden>
				<h2><?php esc_html_e('שאלות נפוצות', 'icomm-metrix'); ?></h2>
				<p><?php esc_html_e('תשובות על חיבור גוגל, מילות חיפוש, דוח ללקוח ורישיון PRO.', 'icomm-metrix'); ?></p>
			</div>
			<div class="sm-pa-intro" id="sm-pa-intro-purchase" hidden>
				<h2><?php esc_html_e('רכישת PRO', 'icomm-metrix'); ?></h2>
				<p><?php esc_html_e('גרסת בסיס חינמית · רישיון PRO לשנה לאתר אחד · GA4, דוח במייל והיסטוריה מלאה.', 'icomm-metrix'); ?></p>
			</div>
			<div class="sm-pa-main">
				<div class="sm-pa-panel is-active" id="sm-pa-panel-desc" role="tabpanel" dir="rtl">
					<h2><?php esc_html_e('מה התוסף עושה', 'icomm-metrix'); ?></h2>
					<p><?php esc_html_e('icomm metrix מחבר את האתר שלך לנתוני החיפוש של גוגל (GSC) ול-Google Analytics 4, מסנכרן אותם לתוך וורדפרס, ומציג דשבורד בעברית. אתה רואה במבט אחד: האם יש תנועה מגוגל, באילו מילים מוצאים את האתר, וכמה אנשים נכנסו בפועל.', 'icomm-metrix'); ?></p>

					<h3><?php esc_html_e('מה רואים בדשבורד - נתוני חיפוש (GSC)', 'icomm-metrix'); ?></h3>
					<ul>
						<li><?php esc_html_e('קליקים - כמה פעמים לחצו על התוצאה שלך בגוגל', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('חשיפות - כמה פעמים האתר הופיע בתוצאות החיפוש', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('מילות חיפוש מובילות - במה מחפשים כשמגיעים אליך', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('מיקום ממוצע - באיזה דירוג ממוצע מופיעות המילים', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('מגמת SEO חודשית (PRO) - גרף עד כ-16 חודשים, מודאל מפורט, ושליחה במייל HTML עם/בלי ניתוח', 'icomm-metrix'); ?></li>
					</ul>

					<h3><?php esc_html_e('מה מנתחים ב-Analytics 4 (PRO)', 'icomm-metrix'); ?></h3>
					<p><?php esc_html_e('נתוני החיפוש מראים פוטנציאל בגוגל; Analytics מראה מה קורה אחרי הכניסה. ב-PRO התוסף מושך מ-GA4:', 'icomm-metrix'); ?></p>
					<ul>
						<li><?php esc_html_e('כניסות לאתר (Sessions) - כמה ביקורים היו בתקופה', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('השוואה לצד נתוני החיפוש - האם הקליקים מגוגל מתורגמים לכניסות', 'icomm-metrix'); ?></li>
					</ul>

					<h3><?php esc_html_e('מילות חיפוש - מה עושים איתן', 'icomm-metrix'); ?></h3>
					<ul>
						<li><?php esc_html_e('טבלת דירוגים (PRO) - מילה, עמוד באתר, מיקום בגוגל, ושינוי מול החודש הקודם (עם סינון תחום)', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('המלצות פעולה (PRO) - הזדמנויות אמיתיות מתוך הנתונים: CTR נמוך עם הרבה חשיפות, “כמעט בטופ”, ושאילתות בעלייה - כולל הצעת עמוד לשיפור או תוכנית תוכן מפורטת כשאין עמוד מתאים', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('מעקב מילות (PRO) - מעקב לאורך זמן אחרי מילות מפתח שבחרתם', 'icomm-metrix'); ?></li>
					</ul>

					<h3><?php esc_html_e('איזה דוחות מקבלים', 'icomm-metrix'); ?></h3>
					<ul>
						<li><?php esc_html_e('דשבורד חי - סיכום יומי/שבועי בתוך האדמין', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('תצוגת דוח ללקוח - תצוגה מקדימה בעברית לפני שליחה', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('דוח חודשי במייל (PRO) - נשלח אוטומטית ללקוח: קליקים, חשיפות, כניסות ומילות מובילות', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('דוח להדפסה / שמירה כ-PDF - תצוגת Print נקייה מתוך וורדפרס', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('מיתוג סוכנות (PRO) - שם ולוגו על הדוח', 'icomm-metrix'); ?></li>
					</ul>

					<h3><?php esc_html_e('התראות וניטור (PRO)', 'icomm-metrix'); ?></h3>
					<ul>
						<li><?php esc_html_e('התראות חריגות במייל - ירידה חדה בביצועים לפי סף שתגדירו', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('בדיקת אינדוקס (GSC) + מעקב URL-ים חשובים - רק מהדומיין של האתר הנוכחי', 'icomm-metrix'); ?></li>
					</ul>

					<h3><?php esc_html_e('למי זה מתאים', 'icomm-metrix'); ?></h3>
					<ul>
						<li><?php esc_html_e('סוכנויות קידום - דוח חודשי ללקוח בלי לבנות ידנית מגוגל', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('בעלי אתרים - לדעת אם השקעה בקידום מניבה תנועה', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('פרילנסרים - מעקב אחר מילות שסיכמת עם הלקוח', 'icomm-metrix'); ?></li>
					</ul>

					<h3><?php esc_html_e('חינמי לעומת PRO', 'icomm-metrix'); ?></h3>
					<p><strong><?php esc_html_e('חינמי:', 'icomm-metrix'); ?></strong> <?php esc_html_e('חיבור GSC, דשבורד, 7 ימים היסטוריה, 5 מילות מובילות. ניסיון PRO ל-7 ימים.', 'icomm-metrix'); ?></p>
					<p><strong><?php esc_html_e('PRO:', 'icomm-metrix'); ?></strong> <?php esc_html_e('GA4, 90 יום היסטוריה, מגמת SEO חודשית עם המלצות, דוח במייל, מיתוג, התראות חריגות, בדיקת/מעקב אינדוקס, המלצות פעולה ותוכניות תוכן - הכל בעברית, בתוך וורדפרס.', 'icomm-metrix'); ?></p>

					<?php
					$news = icomm_sm_plugin_about_readme_changelog(4);
					if ($news !== []) :
						?>
						<h3><?php esc_html_e('מה חדש בגרסאות האחרונות', 'icomm-metrix'); ?></h3>
						<div style="background:#fff;border:1px solid #dcdcde;padding:12px 14px;border-radius:8px;">
							<?php foreach ($news as $v) : ?>
								<?php if (!is_array($v) || empty($v['version'])) { continue; } ?>
								<p style="margin:0 0 8px;"><strong><?php echo esc_html((string) $v['version']); ?></strong></p>
								<?php if (!empty($v['items']) && is_array($v['items'])) : ?>
									<ul style="margin:0 1.2em 12px 0;">
										<?php foreach ($v['items'] as $it) : ?>
											<li><?php echo esc_html((string) $it); ?></li>
										<?php endforeach; ?>
									</ul>
								<?php endif; ?>
							<?php endforeach; ?>
						</div>
					<?php endif; ?>
				</div>
				<div class="sm-pa-panel" id="sm-pa-panel-install" role="tabpanel" hidden dir="rtl">
					<h2><?php esc_html_e('התקנה והפעלה', 'icomm-metrix'); ?></h2>
					<ol>
						<li><?php esc_html_e('העלו את icomm-metrix.zip דרך תוספים → הוסף חדש → העלאת תוסף.', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('הפעילו את התוסף → icomm metrix → חיבורים.', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('לחצו «חבר נתוני חיפוש» והשלימו אימות Google.', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('בחרו אתר/נכס ולחצו «סנכרן עכשיו» בדשבורד.', 'icomm-metrix'); ?></li>
						<li><?php esc_html_e('PRO: הזינו מפתח רישיון בהגדרות או רכשו בלשונית רכישה.', 'icomm-metrix'); ?></li>
					</ol>
				</div>
				<div class="sm-pa-panel" id="sm-pa-panel-faq" role="tabpanel" hidden dir="rtl">
					<h2><?php esc_html_e('שאלות נפוצות', 'icomm-metrix'); ?></h2>
					<p><strong><?php esc_html_e('האם צריך מפתח API או הגדרות טכניות באתר?', 'icomm-metrix'); ?></strong><br><?php esc_html_e('לא. מחברים את חשבון Google בלחיצה דרך שרת icomm המאובטח. אין צורך בפרויקט ב-Google Cloud.', 'icomm-metrix'); ?></p>
					<p><strong><?php esc_html_e('מה ההבדל בין קליקים מגוגל לכניסות לאתר?', 'icomm-metrix'); ?></strong><br><?php esc_html_e('קליקים = לחיצה בתוצאות החיפוש (GSC). כניסות = ביקור בפועל באתר (GA4, PRO). שני המספרים יחד נותנים תמונה מלאה.', 'icomm-metrix'); ?></p>
					<p><strong><?php esc_html_e('איך עובד מעקב מילות?', 'icomm-metrix'); ?></strong><br><?php esc_html_e('ב-PRO רואים טבלת דירוגים מ־GSC (מילה, עמוד, מיקום, שינוי חודשי), אפשר לסנן לפי תחום, וגם להגדיר רשימת מעקב ידנית. בכל סנכרון הנתונים מתעדכנים מהחיפוש.', 'icomm-metrix'); ?></p>
					<p><strong><?php esc_html_e('מה כולל הדוח ללקוח?', 'icomm-metrix'); ?></strong><br><?php esc_html_e('סיכום תקופה: קליקים, חשיפות, כניסות (PRO), ורשימת מילות חיפוש מובילות - בעברית, במייל חודשי או בתצוגה מקדימה.', 'icomm-metrix'); ?></p>
					<p><strong><?php esc_html_e('מה כולל החינמי?', 'icomm-metrix'); ?></strong><br><?php esc_html_e('GSC, דשבורד, 7 ימים, 5 מילות. ניסיון PRO 7 ימים.', 'icomm-metrix'); ?></p>
				</div>
				<div class="sm-pa-panel" id="sm-pa-panel-purchase" role="tabpanel" hidden dir="rtl">
					<?php icomm_sm_plugin_about_print_purchase_panel($pricing, $market_checkout_ready, $buy_url); ?>
				</div>
			</div>
		</div>
	</div>
	<div class="sm-pa-footer"><a href="https://icomm.market" target="_blank" rel="noopener noreferrer">icomm systems</a></div>
</div>
	<?php
}

/**
 * @param array{net_ils?:int,vat_percent?:int,vat_ils?:int,gross_ils?:int,years?:int} $pricing
 */
function icomm_sm_plugin_about_print_purchase_panel(array $pricing, bool $market_checkout_ready, string $buy_url): void {
	$net = (int) ($pricing['net_ils'] ?? 600);
	$vat_pct = (int) ($pricing['vat_percent'] ?? 18);
	$vat_ils = (int) ($pricing['vat_ils'] ?? 108);
	$gross = (int) ($pricing['gross_ils'] ?? 708);
	$years = max(1, (int) ($pricing['years'] ?? 1));
	?>
	<div class="sm-pa-price-box">
		<h3 style="margin:0 0 10px;"><?php esc_html_e('icomm metrix PRO', 'icomm-metrix'); ?></h3>
		<table class="sm-pa-price-table">
			<tbody>
				<tr>
					<th scope="row"><?php echo esc_html(sprintf(__('מחיר ל-%d שנה', 'icomm-metrix'), $years)); ?></th>
					<td><?php echo esc_html(sprintf('%d ₪', $net)); ?></td>
				</tr>
				<tr>
					<th scope="row"><?php echo esc_html(sprintf(__('מע״מ (%d%%)', 'icomm-metrix'), $vat_pct)); ?></th>
					<td><?php echo esc_html(sprintf('%d ₪', $vat_ils)); ?></td>
				</tr>
				<tr>
					<th scope="row"><?php esc_html_e('סה״כ לתשלום', 'icomm-metrix'); ?></th>
					<td><?php echo esc_html(sprintf('%d ₪', $gross)); ?></td>
				</tr>
			</tbody>
		</table>
		<p class="sm-pa-price-total"><?php echo esc_html(sprintf('%d ₪', $gross)); ?></p>
	</div>
	<h3><?php esc_html_e('מה כולל PRO?', 'icomm-metrix'); ?></h3>
	<ul>
		<li><?php esc_html_e('Google Analytics 4 - כניסות לאתר בדשבורד ובדוח', 'icomm-metrix'); ?></li>
		<li><?php esc_html_e('היסטוריה 90 יום · עד 50 מילות חיפוש · מעקב 10 מילות', 'icomm-metrix'); ?></li>
		<li><?php esc_html_e('דוח חודשי במייל ללקוח + מיתוג סוכנות', 'icomm-metrix'); ?></li>
		<li><?php esc_html_e('סנכרון אוטומטי · רישיון לשנה · אתר אחד', 'icomm-metrix'); ?></li>
	</ul>
	<?php if ($market_checkout_ready) : ?>
		<div class="sm-pa-buy-form">
			<form method="post" action="<?php echo esc_url(admin_url('admin-post.php')); ?>">
				<?php wp_nonce_field('icomm_market_purchase_from_details'); ?>
				<input type="hidden" name="action" value="icomm_market_purchase_from_details" />
				<input type="hidden" name="plugin" value="icomm-metrix" />
				<p class="description"><?php esc_html_e('הזינו את הדומיין שעליו יופעל הרישיון (example.co.il) - גם עם או בלי https://', 'icomm-metrix'); ?></p>
				<p>
					<label for="sm-pa-site-url"><?php esc_html_e('כתובת האתר', 'icomm-metrix'); ?></label>
					<input type="text" id="sm-pa-site-url" name="site_url" required placeholder="example.co.il" dir="ltr" inputmode="url" autocomplete="url" />
				</p>
				<button type="submit" class="sm-pa-buy-btn"><?php echo esc_html(sprintf(__('המשך לתשלום - %d ₪', 'icomm-metrix'), $gross)); ?></button>
			</form>
		</div>
	<?php elseif ($buy_url !== '') : ?>
		<p><a class="sm-pa-buy-btn" href="<?php echo esc_url($buy_url); ?>" target="_blank" rel="noopener noreferrer"><?php echo esc_html(sprintf(__('רכישה - %d ₪ + מע״מ', 'icomm-metrix'), $net)); ?></a></p>
	<?php else : ?>
		<p><a class="sm-pa-buy-btn" href="https://icomm.market/" target="_blank" rel="noopener noreferrer"><?php esc_html_e('פרטים ורכישה ב-icomm.market', 'icomm-metrix'); ?></a></p>
	<?php endif; ?>
	<?php
}

function icomm_sm_plugin_about_render_embed(): string {
	ob_start();
	echo '<div class="icomm-sm-pa-shortcode" dir="rtl" lang="he">';
	icomm_sm_plugin_about_print_document(icomm_sm_plugin_about_get_context(), false);
	echo '</div>';
	return (string) apply_filters('icomm_sm_plugin_about_shortcode_output', (string) ob_get_clean());
}

/** @param array<string,string>|string $atts */
function icomm_sm_plugin_about_shortcode($atts = []): string {
	if (!(bool) apply_filters('icomm_sm_plugin_about_shortcode_enabled', true)) {
		return '';
	}
	return icomm_sm_plugin_about_render_embed();
}

function icomm_sm_plugin_about_register_shortcode(): void {
	add_shortcode('icomm_metrix_details', 'icomm_sm_plugin_about_shortcode');
	add_shortcode('icomm_sm_details', 'icomm_sm_plugin_about_shortcode');
}

function icomm_sm_plugin_about_print_tab_script(): void {
	?>
<script>
(function(){
	document.querySelectorAll('.sm-pa-tab').forEach(function(tab){
		tab.addEventListener('click', function(){
			var id = tab.getAttribute('data-sm-pa-tab');
			document.querySelectorAll('.sm-pa-tab').forEach(function(t){ t.classList.remove('is-active'); });
			tab.classList.add('is-active');
			document.querySelectorAll('.sm-pa-panel').forEach(function(p){ p.classList.remove('is-active'); p.hidden = true; });
			var panel = document.getElementById('sm-pa-panel-' + id);
			if (panel) { panel.classList.add('is-active'); panel.hidden = false; }
			document.querySelectorAll('.sm-pa-intro').forEach(function(i){ i.hidden = true; });
			var intro = document.getElementById('sm-pa-intro-' + id);
			if (intro) { intro.hidden = false; }
		});
	});
})();
</script>
	<?php
}

add_action('admin_menu', 'icomm_sm_register_plugin_about_hidden_page', 5);
add_action('admin_init', 'icomm_sm_plugin_about_maybe_render_early', 0);
add_action('admin_enqueue_scripts', 'icomm_sm_plugin_about_enqueue_thickbox');
add_action('init', 'icomm_sm_plugin_about_register_shortcode');
