<?php
if (!defined('ABSPATH')) {
	exit;
}

/**
 * Inline «סמן כבוצע» form for an opportunity card.
 *
 * @param array<string,mixed> $item
 */
if (!function_exists('icomm_sm_opp_mark_form')) {
	function icomm_sm_opp_mark_form(array $item, string $action_fallback = ''): void {
		$q = (string) ($item['query'] ?? '');
		if ($q === '') {
			return;
		}
		$action = (string) ($item['action'] ?? $action_fallback);
		?>
		<form method="post" action="<?php echo esc_url(admin_url('admin-post.php')); ?>" style="display:inline-block;margin:0 6px 0 0;">
			<?php wp_nonce_field('icomm_sm_opp_mark_done'); ?>
			<input type="hidden" name="action" value="icomm_sm_opp_mark_done" />
			<input type="hidden" name="opp_query" value="<?php echo esc_attr($q); ?>" />
			<input type="hidden" name="opp_action" value="<?php echo esc_attr($action); ?>" />
			<input type="hidden" name="opp_action_label" value="<?php echo esc_attr((string) ($item['action_label'] ?? '')); ?>" />
			<input type="hidden" name="opp_impressions" value="<?php echo esc_attr((string) (int) ($item['impressions'] ?? 0)); ?>" />
			<input type="hidden" name="opp_clicks" value="<?php echo esc_attr((string) (int) ($item['clicks'] ?? 0)); ?>" />
			<input type="hidden" name="opp_ctr" value="<?php echo esc_attr((string) (float) ($item['ctr'] ?? 0)); ?>" />
			<input type="hidden" name="opp_position" value="<?php echo esc_attr((string) (float) ($item['position'] ?? 0)); ?>" />
			<input type="hidden" name="opp_post_id" value="<?php echo esc_attr((string) (int) ($item['post_id'] ?? 0)); ?>" />
			<input type="hidden" name="opp_edit_url" value="<?php echo esc_attr((string) ($item['edit_url'] ?? '')); ?>" />
			<input type="hidden" name="opp_view_url" value="<?php echo esc_attr((string) ($item['view_url'] ?? '')); ?>" />
			<?php submit_button(__('סמן כבוצע', 'icomm-metrix'), 'secondary', 'icomm_sm_opp_mark', false); ?>
		</form>
		<?php
	}
}

/**
 * Render one opportunity / niche card.
 *
 * @param array<string,mixed> $item
 */
if (!function_exists('icomm_sm_opp_render_card')) {
	function icomm_sm_opp_render_card(array $item, string $key): void {
		$q = (string) ($item['query'] ?? '');
		if ($q === '') {
			return;
		}
		?>
		<div class="icomm-sm-opp-card icomm-sm-opp-<?php echo esc_attr($key); ?>">
			<div class="icomm-sm-opp-head">
				<strong class="icomm-sm-opp-query" dir="auto"><?php echo esc_html($q); ?></strong>
				<span class="icomm-sm-opp-badge"><?php echo esc_html((string) ($item['action_label'] ?? '')); ?></span>
			</div>
			<p class="icomm-sm-opp-metrics description"><?php echo esc_html((string) ($item['metrics'] ?? '')); ?></p>
			<p class="icomm-sm-opp-guidance"><?php echo esc_html((string) ($item['guidance'] ?? '')); ?></p>

			<?php if (!empty($item['gsc_page_url']) && ((string) ($item['match_source'] ?? '')) === 'gsc') : ?>
				<p class="description">
					<?php esc_html_e('נחיתה בגוגל:', 'icomm-metrix'); ?>
					<a href="<?php echo esc_url((string) $item['gsc_page_url']); ?>" target="_blank" rel="noopener noreferrer" dir="ltr"><?php echo esc_html((string) $item['gsc_page_url']); ?></a>
				</p>
			<?php endif; ?>

			<?php if (!empty($item['edit_url']) && !empty($item['post_title'])) : ?>
				<p class="icomm-sm-opp-page">
					<?php esc_html_e('עמוד:', 'icomm-metrix'); ?>
					<a href="<?php echo esc_url((string) $item['edit_url']); ?>"><strong><?php echo esc_html((string) $item['post_title']); ?></strong></a>
					<?php if (!empty($item['view_url'])) : ?>
						· <a href="<?php echo esc_url((string) $item['view_url']); ?>" target="_blank" rel="noopener noreferrer"><?php esc_html_e('צפייה', 'icomm-metrix'); ?></a>
					<?php endif; ?>
				</p>
				<p class="icomm-sm-opp-actions">
					<a class="button button-primary" href="<?php echo esc_url((string) $item['edit_url']); ?>"><?php esc_html_e('פתח לעריכה', 'icomm-metrix'); ?></a>
					<?php icomm_sm_opp_mark_form($item, $key); ?>
				</p>
			<?php elseif (!empty($item['content_plan'])) : ?>
				<?php if (!empty($item['view_url']) && empty($item['edit_url'])) : ?>
					<p>
						<a class="button" href="<?php echo esc_url((string) $item['view_url']); ?>" target="_blank" rel="noopener noreferrer"><?php esc_html_e('פתח כתובת נחיתה', 'icomm-metrix'); ?></a>
					</p>
				<?php endif; ?>
				<details>
					<summary><?php esc_html_e('תוכנית תוכן מומלצת (לחץ לפתיחה)', 'icomm-metrix'); ?></summary>
					<textarea readonly rows="12" class="large-text" style="margin-top:8px;direction:rtl;text-align:right;"><?php echo esc_textarea((string) $item['content_plan']); ?></textarea>
					<p class="description" style="margin-top:6px;"><?php esc_html_e('העתיקו את המבנה לעמוד חדש והתאימו לתוכן ולשפה של העסק.', 'icomm-metrix'); ?></p>
				</details>
				<p class="icomm-sm-opp-actions" style="margin-top:10px;">
					<a class="button" href="<?php echo esc_url(admin_url('post-new.php?post_type=page')); ?>"><?php esc_html_e('צור עמוד חדש', 'icomm-metrix'); ?></a>
					<?php icomm_sm_opp_mark_form($item, $key); ?>
				</p>
			<?php else : ?>
				<p class="icomm-sm-opp-actions">
					<?php icomm_sm_opp_mark_form($item, $key); ?>
				</p>
			<?php endif; ?>
		</div>
		<?php
	}
}

$can = IComm_SM_Features::can_use('opportunities') || IComm_SM_Features::can_use('recommendations');
$s = IComm_SM_Settings::get();
$gsc_connected = !empty($s['gsc_connected']);
$gsc_property = trim((string) ($s['gsc_property'] ?? ''));
$gsc_ready = $gsc_connected && $gsc_property !== '';
$last_sync = (int) ($s['gsc_last_sync_at'] ?? 0);
$query_rows = $can ? IComm_SM_DB::queries_row_count() : 0;

$board = $can ? IComm_SM_Recommendations::opportunity_board() : [
	'summary' => ['improve' => 0, 'adapt' => 0, 'build' => 0, 'total' => 0],
	'improve' => [],
	'adapt' => [],
	'build' => [],
	'coverage' => [],
];
$sum = (array) ($board['summary'] ?? []);
$total = (int) ($sum['total'] ?? 0);
$coverage = (array) ($board['coverage'] ?? []);
$page_rows = $can ? IComm_SM_DB::pages_row_count() : 0;
$tracked = $can ? IComm_SM_Recommendations::tracked_opportunity_progress() : [];
$niche = $can ? IComm_SM_Niche_Research::last_result() : null;
$niche_topic_default = trim((string) ($s['last_niche_topic'] ?? ''));
if ($niche_topic_default === '' && is_array($niche)) {
	$niche_topic_default = (string) ($niche['topic'] ?? '');
}

$sync_url = wp_nonce_url(
	add_query_arg(['action' => 'icomm_sm_sync_now'], admin_url('admin-post.php')),
	'icomm_sm_sync_now'
);
$connections_url = admin_url('admin.php?page=icomm-metrix-connections');
$dashboard_url = admin_url('admin.php?page=icomm-metrix');

$sections = [
	'improve' => [
		'title' => __('1) שפרו עמוד קיים', 'icomm-metrix'),
		'hint' => __('יש עמוד באתר שכבר מדבר על הנושא + ביקוש גבוה, אבל CTR או מיקום חלשים. לחצו «פתח לעריכה» ושפרו כותרת, תיאור ופתיח.', 'icomm-metrix'),
		'items' => (array) ($board['improve'] ?? []),
	],
	'adapt' => [
		'title' => __('2) התאימו את ההצעה', 'icomm-metrix'),
		'hint' => __('יש עמוד קרוב לנושא, אבל לא בשפת הביקוש המדויקת. התאימו כותרת H1, פסקת פתיחה והצעת ערך לשאילתה.', 'icomm-metrix'),
		'items' => (array) ($board['adapt'] ?? []),
	],
	'build' => [
		'title' => __('3) בנו עמוד חדש', 'icomm-metrix'),
		'hint' => __('יש ביקוש בגוגל ואין עמוד מתאים באתר. פתחו את תוכנית התוכן, העתיקו לעמוד חדש, והתאימו לתוכן העסק.', 'icomm-metrix'),
		'items' => (array) ($board['build'] ?? []),
	],
];

// Empty-state diagnosis
$empty_reason = '';
$empty_next = '';
$empty_btn_url = $connections_url;
$empty_btn_label = __('לחיבורים', 'icomm-metrix');
if ($can) {
	if (!$gsc_connected) {
		$empty_reason = __('עדיין לא מחוברים ל־Google Search Console.', 'icomm-metrix');
		$empty_next = __('עברו ל«חיבורים» → חברו GSC → בחרו את נכס האתר → חזרו לכאן אחרי סנכרון.', 'icomm-metrix');
		$empty_btn_label = __('חברו Search Console', 'icomm-metrix');
	} elseif ($gsc_property === '') {
		$empty_reason = __('GSC מחובר, אבל עדיין לא נבחר נכס (Property) של האתר.', 'icomm-metrix');
		$empty_next = __('ב«חיבורים» בחרו את הדומיין/כתובת האתר מרשימת הנכסים ושמרו.', 'icomm-metrix');
		$empty_btn_label = __('בחרו נכס בחיבורים', 'icomm-metrix');
	} elseif ($last_sync <= 0 || $query_rows <= 0) {
		$empty_reason = __('אין עדיין נתוני שאילתות מגוגל במערכת.', 'icomm-metrix');
		$empty_next = __('לחצו «סנכרן עכשיו». אחרי שהדשבורד מציג שאילתות, חזרו לכאן. אם האתר חדש בגוגל, ייתכן שעדיין אין מספיק חשיפות.', 'icomm-metrix');
		$empty_btn_url = $sync_url;
		$empty_btn_label = __('סנכרן עכשיו', 'icomm-metrix');
	} elseif ($total === 0) {
		$empty_reason = __('יש נתוני GSC, אבל אין כרגע הזדמנויות חדות (לפי הספים: הרבה חשיפות + CTR נמוך / מיקום 8-20 / עלייה).', 'icomm-metrix');
		$empty_next = __('בדקו את הדשבורד, אם יש שאילתות, המתינו לצבירת נתונים או סנכרנו שוב. כשתופיע הזדמנות תראו כאן המלצה ברורה מה לעשות. אפשר גם לחקור תחום חופשי בסעיף «מחקר תחום».', 'icomm-metrix');
		$empty_btn_url = $dashboard_url;
		$empty_btn_label = __('לדשבורד', 'icomm-metrix');
	}
}
?>
<div class="wrap icomm-sm-wrap" dir="rtl" lang="he">
	<h1><?php esc_html_e('icomm metrix - הזדמנויות SEO', 'icomm-metrix'); ?> <span>v<?php echo esc_html(ICOMM_SM_VERSION); ?></span> <?php echo IComm_SM_Features::pro_badge_html(); ?></h1>

	<?php if (!empty($_GET['opp_marked']) && (string) $_GET['opp_marked'] === '1') : ?>
		<div class="notice notice-success is-dismissible" dir="rtl" lang="he" style="direction:rtl;text-align:right;"><p><?php esc_html_e('סומן כבוצע. ההזדמנות עברה למעקב לפני/אחרי (סעיף 5).', 'icomm-metrix'); ?></p></div>
	<?php elseif (isset($_GET['opp_marked']) && (string) $_GET['opp_marked'] === '0') : ?>
		<div class="notice notice-error is-dismissible" dir="rtl" lang="he" style="direction:rtl;text-align:right;"><p><?php esc_html_e('לא ניתן לסמן את ההזדמנות.', 'icomm-metrix'); ?></p></div>
	<?php endif; ?>
	<?php if (!empty($_GET['opp_unmarked']) && (string) $_GET['opp_unmarked'] === '1') : ?>
		<div class="notice notice-success is-dismissible" dir="rtl" lang="he" style="direction:rtl;text-align:right;"><p><?php esc_html_e('הוסר ממעקב. אם עדיין יש ביקוש חלש, השאילתה עשויה לחזור לרשימה אחרי רענון.', 'icomm-metrix'); ?></p></div>
	<?php endif; ?>
	<?php if (!empty($_GET['niche_ok']) && (string) $_GET['niche_ok'] === '1') : ?>
		<div class="notice notice-success is-dismissible" dir="rtl" lang="he" style="direction:rtl;text-align:right;"><p><?php esc_html_e('מחקר התחום הושלם. ראו המלצות ליצירה/שיפור עמודים בסעיף «מחקר תחום».', 'icomm-metrix'); ?></p></div>
	<?php endif; ?>
	<?php if (!empty($_GET['niche_err'])) : ?>
		<?php
		$err = sanitize_key((string) $_GET['niche_err']);
		$err_msg = __('לא ניתן להריץ מחקר תחום כרגע.', 'icomm-metrix');
		if ($err === 'empty' || $err === 'short') {
			$err_msg = __('כתבו תחום או נושא עסקי (לפחות 2 תווים).', 'icomm-metrix');
		} elseif ($err === 'rate') {
			$err_msg = __('המתינו כמה שניות לפני מחקר נוסף.', 'icomm-metrix');
		} elseif ($err === 'locked') {
			$err_msg = __('נדרש רישיון PRO או תקופת ניסיון.', 'icomm-metrix');
		}
		?>
		<div class="notice notice-error is-dismissible" dir="rtl" lang="he" style="direction:rtl;text-align:right;"><p><?php echo esc_html($err_msg); ?></p></div>
	<?php endif; ?>

	<?php echo IComm_SM_Features::locked_notice_html(__('הזדמנויות SEO / תוכן', 'icomm-metrix')); ?>

	<div class="icomm-sm-howto" style="max-width:920px;">
		<h2 style="margin-top:8px;"><?php esc_html_e('איך עובדים עם זה?', 'icomm-metrix'); ?></h2>
		<ol class="icomm-sm-howto-steps">
			<li>
				<strong><?php esc_html_e('חברו נתונים', 'icomm-metrix'); ?></strong>
				: <?php esc_html_e('חיבורים → Google Search Console → בחירת נכס האתר → סנכרון.', 'icomm-metrix'); ?>
				<a href="<?php echo esc_url($connections_url); ?>"><?php esc_html_e('פתח חיבורים', 'icomm-metrix'); ?></a>
			</li>
			<li>
				<strong><?php esc_html_e('חקרו תחום (גם אם עדיין אין באתר)', 'icomm-metrix'); ?></strong>
				: <?php esc_html_e('כתבו תחום עסקי חופשי. המערכת תציע מילות חיפוש רלוונטיות ואיזה עמוד להקים או לשפר.', 'icomm-metrix'); ?>
			</li>
			<li>
				<strong><?php esc_html_e('קבלו רשימת הזדמנויות מ־GSC', 'icomm-metrix'); ?></strong>
				: <?php esc_html_e('המערכת משווה ביקוש שכבר מופיע בגוגל למה שיש באתר, וממיינת לשלוש פעולות.', 'icomm-metrix'); ?>
			</li>
			<li>
				<strong><?php esc_html_e('בצעו פעולה אחת בכל פעם', 'icomm-metrix'); ?></strong>
				: <?php esc_html_e('פתחו עמוד לעריכה, או בנו עמוד חדש לפי תוכנית התוכן. אחרי התיקון לחצו «סמן כבוצע» כדי לעקוב לפני/אחרי.', 'icomm-metrix'); ?>
			</li>
		</ol>

		<div class="icomm-sm-howto-legend">
			<div><span class="icomm-sm-dot icomm-sm-dot-improve"></span> <strong><?php esc_html_e('לשפר', 'icomm-metrix'); ?></strong>: <?php esc_html_e('עמוד קיים שכבר מתאים לנושא', 'icomm-metrix'); ?></div>
			<div><span class="icomm-sm-dot icomm-sm-dot-adapt"></span> <strong><?php esc_html_e('להתאים', 'icomm-metrix'); ?></strong>: <?php esc_html_e('עמוד קרוב שצריך דיוק מסר', 'icomm-metrix'); ?></div>
			<div><span class="icomm-sm-dot icomm-sm-dot-build"></span> <strong><?php esc_html_e('לבנות חדש', 'icomm-metrix'); ?></strong>: <?php esc_html_e('ביקוש בלי עמוד מתאים באתר', 'icomm-metrix'); ?></div>
		</div>
	</div>

	<div class="<?php echo $can ? '' : 'icomm-sm-locked-preview'; ?>">
		<?php if (!$can) : ?>
			<p class="description"><?php esc_html_e('ב‑PRO: לוח הזדמנויות - שיפור עמודים, התאמת מסר, בניית עמודים חדשים, ומחקר תחום חופשי.', 'icomm-metrix'); ?></p>
		<?php else : ?>
			<div class="icomm-sm-status-bar" style="max-width:920px;">
				<span>
					<?php
					if (!$gsc_connected) {
						esc_html_e('סטטוס: GSC לא מחובר', 'icomm-metrix');
					} elseif ($gsc_property === '') {
						esc_html_e('סטטוס: חסר נכס GSC', 'icomm-metrix');
					} elseif ($last_sync <= 0) {
						esc_html_e('סטטוס: ממתין לסנכרון ראשון', 'icomm-metrix');
					} else {
						echo esc_html(sprintf(
							__('סטטוס: GSC מחובר · סנכרון אחרון %1$s · %2$d שאילתות · %3$d עמודים', 'icomm-metrix'),
							wp_date('d/m/Y H:i', $last_sync),
							$query_rows,
							$page_rows
						));
					}
					?>
				</span>
				<span class="icomm-sm-status-actions">
					<?php if ($gsc_ready) : ?>
						<a class="button button-primary icomm-sm-busy-link" data-icomm-sm-busy="sync" href="<?php echo esc_url($sync_url); ?>"><?php esc_html_e('סנכרן עכשיו', 'icomm-metrix'); ?></a>
					<?php endif; ?>
					<a class="button" href="<?php echo esc_url($connections_url); ?>"><?php esc_html_e('חיבורים', 'icomm-metrix'); ?></a>
				</span>
			</div>

			<div id="icomm-sm-niche" class="icomm-sm-niche-box" style="max-width:920px;margin:18px 0 8px;padding:16px 18px;background:#fff;border:1px solid #c3c4c7;border-right:4px solid #2271b1;box-sizing:border-box;">
				<h2 style="margin:0 0 8px;font-size:1.15em;"><?php esc_html_e('0) מחקר תחום', 'icomm-metrix'); ?></h2>
				<p class="description" style="margin:0 0 12px;">
					<?php esc_html_e('כתבו תחום או נושא עסקי גם אם הוא עדיין לא מופיע במדויק באתר. המערכת תאתר מילות חיפוש רלוונטיות (מ־GSC + השלמות חיפוש) ותציע איזה עמוד להקים או לשפר.', 'icomm-metrix'); ?>
				</p>
				<form id="icomm_sm_niche_form" method="post" action="<?php echo esc_url(admin_url('admin-post.php')); ?>" data-icomm-sm-busy="niche" data-icomm-sm-ajax="1" data-icomm-sm-ajax-action="icomm_sm_niche_research" style="display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;">
					<?php wp_nonce_field('icomm_sm_niche_research'); ?>
					<input type="hidden" name="action" value="icomm_sm_niche_research" />
					<p style="margin:0;flex:1 1 280px;">
						<label for="icomm_sm_niche_topic" style="display:block;font-weight:600;margin-bottom:4px;"><?php esc_html_e('תחום / נושא', 'icomm-metrix'); ?></label>
						<input type="text" class="regular-text" style="width:100%;max-width:100%;" name="niche_topic" id="icomm_sm_niche_topic" value="<?php echo esc_attr($niche_topic_default); ?>" placeholder="<?php echo esc_attr__('לדוגמה: ייעוץ משכנתאות לעולים', 'icomm-metrix'); ?>" dir="auto" maxlength="120" required />
					</p>
					<p style="margin:0;">
						<?php submit_button(__('חקור תחום', 'icomm-metrix'), 'primary', 'icomm_sm_niche_submit', false); ?>
					</p>
				</form>
				<p id="icomm_sm_niche_busy_note" class="description" style="margin:8px 0 0;">
					<?php esc_html_e('בזמן הסריקה יוצג חיווי התקדמות. זה עשוי להימשך כ־15-60 שניות.', 'icomm-metrix'); ?>
				</p>

				<?php if (is_array($niche) && !empty($niche['summary'])) : ?>
					<?php
					$ns = (array) $niche['summary'];
					$niche_sections = [
						'improve' => [
							'title' => __('לשפר לפי התחום', 'icomm-metrix'),
							'items' => (array) ($niche['improve'] ?? []),
						],
						'adapt' => [
							'title' => __('להתאים לפי התחום', 'icomm-metrix'),
							'items' => (array) ($niche['adapt'] ?? []),
						],
						'build' => [
							'title' => __('להקים עמוד חדש לפי התחום', 'icomm-metrix'),
							'items' => (array) ($niche['build'] ?? []),
						],
					];
					?>
					<p style="margin:14px 0 8px;">
						<strong><?php echo esc_html(sprintf(__('תוצאות ל־«%s»', 'icomm-metrix'), (string) ($niche['topic'] ?? ''))); ?></strong>
						<span class="description">
							<?php
							echo esc_html(sprintf(
								__('(%1$d הצעות · %2$d מביקוש באתר · %3$d מרעיונות חיפוש)', 'icomm-metrix'),
								(int) ($ns['total'] ?? 0),
								(int) ($ns['from_gsc'] ?? 0),
								(int) ($ns['from_ideas'] ?? 0)
							));
							?>
						</span>
					</p>
					<?php
					$niche_rank_url = add_query_arg(
						[
							'page' => 'icomm-metrix-keywords',
							'topic' => (string) ($niche['topic'] ?? ''),
						],
						admin_url('admin.php')
					);
					?>
					<p style="margin:0 0 12px;">
						<a href="<?php echo esc_url($niche_rank_url); ?>"><strong><?php esc_html_e('צפו בדירוגים בגוגל לתחום זה', 'icomm-metrix'); ?></strong></a>
						<span class="description" style="margin-right:8px;"><?php esc_html_e('(מילת חיפוש, עמוד באתר, מקום בתוצאות)', 'icomm-metrix'); ?></span>
					</p>
					<?php if ((int) ($ns['total'] ?? 0) === 0) : ?>
						<p class="description"><?php esc_html_e('לא נמצאו הצעות חזקות לתחום הזה. נסו ניסוח קצר יותר או סנכרנו GSC קודם.', 'icomm-metrix'); ?></p>
					<?php else : ?>
						<?php foreach ($niche_sections as $nkey => $nsec) : ?>
							<?php
							$nitems = (array) ($nsec['items'] ?? []);
							if ($nitems === []) {
								continue;
							}
							?>
							<h3 style="margin:16px 0 8px;font-size:1em;"><?php echo esc_html((string) $nsec['title']); ?></h3>
							<div class="icomm-sm-opp-list">
								<?php foreach ($nitems as $nitem) : ?>
									<?php
									if (!is_array($nitem)) {
										continue;
									}
									icomm_sm_opp_render_card($nitem, (string) $nkey);
									?>
								<?php endforeach; ?>
							</div>
						<?php endforeach; ?>
					<?php endif; ?>
				<?php endif; ?>
			</div>

			<div class="icomm-sm-cards" style="max-width:920px;">
				<div class="icomm-sm-card">
					<div class="icomm-sm-card-label"><?php esc_html_e('לשפר', 'icomm-metrix'); ?></div>
					<div class="icomm-sm-card-value"><?php echo esc_html((string) (int) ($sum['improve'] ?? 0)); ?></div>
				</div>
				<div class="icomm-sm-card">
					<div class="icomm-sm-card-label"><?php esc_html_e('להתאים', 'icomm-metrix'); ?></div>
					<div class="icomm-sm-card-value"><?php echo esc_html((string) (int) ($sum['adapt'] ?? 0)); ?></div>
				</div>
				<div class="icomm-sm-card">
					<div class="icomm-sm-card-label"><?php esc_html_e('לבנות חדש', 'icomm-metrix'); ?></div>
					<div class="icomm-sm-card-value"><?php echo esc_html((string) (int) ($sum['build'] ?? 0)); ?></div>
				</div>
				<div class="icomm-sm-card">
					<div class="icomm-sm-card-label"><?php esc_html_e('סה״כ', 'icomm-metrix'); ?></div>
					<div class="icomm-sm-card-value"><?php echo esc_html((string) $total); ?></div>
				</div>
			</div>

			<?php if ($total === 0) : ?>
				<div class="notice notice-info inline icomm-sm-empty-guide" style="max-width:920px;padding:12px 14px;">
					<p style="margin:0 0 8px;"><strong><?php echo esc_html($empty_reason); ?></strong></p>
					<p style="margin:0 0 10px;"><?php echo esc_html($empty_next); ?></p>
					<p style="margin:0;">
						<a class="button button-primary<?php echo $empty_btn_url === $sync_url ? ' icomm-sm-busy-link' : ''; ?>"<?php echo $empty_btn_url === $sync_url ? ' data-icomm-sm-busy="sync"' : ''; ?> href="<?php echo esc_url($empty_btn_url); ?>"><?php echo esc_html($empty_btn_label); ?></a>
						<?php if ($gsc_ready && $empty_btn_url !== $sync_url) : ?>
							<a class="button icomm-sm-busy-link" data-icomm-sm-busy="sync" href="<?php echo esc_url($sync_url); ?>" style="margin-right:8px;"><?php esc_html_e('סנכרן עכשיו', 'icomm-metrix'); ?></a>
						<?php endif; ?>
					</p>
				</div>
			<?php else : ?>
				<p class="description" style="max-width:920px;">
					<?php esc_html_e('להלן הזדמנויות מביקוש שכבר מופיע ב־GSC של האתר. מחקר תחום (למעלה) עובד גם בלי ביקוש קיים.', 'icomm-metrix'); ?>
				</p>
			<?php endif; ?>

			<?php foreach ($sections as $key => $sec) : ?>
				<?php
				$items = (array) ($sec['items'] ?? []);
				if ($items === [] && $total === 0) {
					continue;
				}
				?>
				<h2 style="margin-top:28px;"><?php echo esc_html((string) $sec['title']); ?></h2>
				<p class="description"><?php echo esc_html((string) $sec['hint']); ?></p>

				<?php if ($items === []) : ?>
					<p class="description"><?php esc_html_e('אין פריטים בקטגוריה זו כרגע.', 'icomm-metrix'); ?></p>
				<?php else : ?>
					<div class="icomm-sm-opp-list" style="max-width:920px;">
						<?php foreach ($items as $item) : ?>
							<?php
							if (!is_array($item)) {
								continue;
							}
							icomm_sm_opp_render_card($item, (string) $key);
							?>
						<?php endforeach; ?>
					</div>
				<?php endif; ?>
			<?php endforeach; ?>

			<?php if ($tracked !== []) : ?>
				<h2 style="margin-top:36px;"><?php esc_html_e('5) במעקב אחרי תיקון', 'icomm-metrix'); ?></h2>
				<p class="description" style="max-width:920px;">
					<?php esc_html_e('צילום מדדים בזמן הסימון מול המצב הנוכחי אחרי סנכרון. שיפור אמיתי ב־CTR/מיקום מופיע בדרך כלל אחרי שבוע־שבועיים ב־GSC.', 'icomm-metrix'); ?>
				</p>
				<div class="icomm-sm-opp-list" style="max-width:920px;">
					<?php foreach ($tracked as $tr) : ?>
						<?php
						if (!is_array($tr)) {
							continue;
						}
						$st = (string) ($tr['status'] ?? '');
						$before = (array) ($tr['before'] ?? []);
						$current = isset($tr['current']) && is_array($tr['current']) ? (array) $tr['current'] : null;
						$delta = isset($tr['delta']) && is_array($tr['delta']) ? (array) $tr['delta'] : null;
						?>
						<div class="icomm-sm-opp-card icomm-sm-opp-tracked icomm-sm-opp-status-<?php echo esc_attr($st); ?>">
							<div class="icomm-sm-opp-head">
								<strong class="icomm-sm-opp-query" dir="auto"><?php echo esc_html((string) ($tr['query'] ?? '')); ?></strong>
								<span class="icomm-sm-opp-badge"><?php echo esc_html((string) ($tr['status_label'] ?? '')); ?></span>
							</div>
							<p class="description" style="margin:0 0 8px;">
								<?php
								$marked_at = (int) ($tr['marked_at'] ?? 0);
								echo esc_html(sprintf(
									__('סומן כבוצע: %1$s · פעולה: %2$s', 'icomm-metrix'),
									$marked_at > 0 ? wp_date('d/m/Y H:i', $marked_at) : '-',
									(string) ($tr['action_label'] ?? ($tr['action'] ?? ''))
								));
								?>
							</p>
							<table class="icomm-sm-track-table widefat striped">
								<thead>
									<tr>
										<th><?php esc_html_e('מדד', 'icomm-metrix'); ?></th>
										<th><?php esc_html_e('בסימון', 'icomm-metrix'); ?></th>
										<th><?php esc_html_e('עכשיו', 'icomm-metrix'); ?></th>
										<th><?php esc_html_e('שינוי', 'icomm-metrix'); ?></th>
									</tr>
								</thead>
								<tbody>
									<tr>
										<td><?php esc_html_e('CTR', 'icomm-metrix'); ?></td>
										<td><?php echo esc_html((string) round(((float) ($before['ctr'] ?? 0)) * 100, 1)); ?>%</td>
										<td><?php echo $current ? esc_html((string) round(((float) ($current['ctr'] ?? 0)) * 100, 1)) . '%' : '-'; ?></td>
										<td>
											<?php
											if ($delta) {
												$v = (float) ($delta['ctr_pp'] ?? 0);
												$cls = $v > 0.05 ? 'icomm-sm-delta-up' : ($v < -0.05 ? 'icomm-sm-delta-down' : '');
												echo '<span class="' . esc_attr($cls) . '">' . esc_html(sprintf('%+.2f pp', $v)) . '</span>';
											} else {
												echo '-';
											}
											?>
										</td>
									</tr>
									<tr>
										<td><?php esc_html_e('מיקום', 'icomm-metrix'); ?></td>
										<td><?php echo esc_html((string) round((float) ($before['position'] ?? 0), 1)); ?></td>
										<td><?php echo $current ? esc_html((string) round((float) ($current['position'] ?? 0), 1)) : '-'; ?></td>
										<td>
											<?php
											if ($delta) {
												$v = (float) ($delta['position'] ?? 0);
												// Lower position is better in GSC.
												$cls = $v < -0.1 ? 'icomm-sm-delta-up' : ($v > 0.1 ? 'icomm-sm-delta-down' : '');
												echo '<span class="' . esc_attr($cls) . '">' . esc_html(sprintf('%+.1f', $v)) . '</span>';
											} else {
												echo '-';
											}
											?>
										</td>
									</tr>
									<tr>
										<td><?php esc_html_e('חשיפות', 'icomm-metrix'); ?></td>
										<td><?php echo esc_html((string) (int) ($before['impressions'] ?? 0)); ?></td>
										<td><?php echo $current ? esc_html((string) (int) ($current['impressions'] ?? 0)) : '-'; ?></td>
										<td>
											<?php
											if ($delta) {
												$v = (int) ($delta['impressions'] ?? 0);
												echo esc_html(sprintf('%+d', $v));
											} else {
												echo '-';
											}
											?>
										</td>
									</tr>
									<tr>
										<td><?php esc_html_e('קליקים', 'icomm-metrix'); ?></td>
										<td><?php echo esc_html((string) (int) ($before['clicks'] ?? 0)); ?></td>
										<td><?php echo $current ? esc_html((string) (int) ($current['clicks'] ?? 0)) : '-'; ?></td>
										<td>
											<?php
											if ($delta) {
												$v = (int) ($delta['clicks'] ?? 0);
												$cls = $v > 0 ? 'icomm-sm-delta-up' : ($v < 0 ? 'icomm-sm-delta-down' : '');
												echo '<span class="' . esc_attr($cls) . '">' . esc_html(sprintf('%+d', $v)) . '</span>';
											} else {
												echo '-';
											}
											?>
										</td>
									</tr>
								</tbody>
							</table>
							<p class="icomm-sm-opp-actions" style="margin-top:10px;">
								<?php if (!empty($tr['edit_url'])) : ?>
									<a class="button" href="<?php echo esc_url((string) $tr['edit_url']); ?>"><?php esc_html_e('פתח לעריכה', 'icomm-metrix'); ?></a>
								<?php endif; ?>
								<form method="post" action="<?php echo esc_url(admin_url('admin-post.php')); ?>" style="display:inline;">
									<?php wp_nonce_field('icomm_sm_opp_unmark_done'); ?>
									<input type="hidden" name="action" value="icomm_sm_opp_unmark_done" />
									<input type="hidden" name="opp_query" value="<?php echo esc_attr((string) ($tr['query'] ?? '')); ?>" />
									<?php submit_button(__('הסר ממעקב', 'icomm-metrix'), 'secondary', 'icomm_sm_opp_unmark', false); ?>
								</form>
							</p>
						</div>
					<?php endforeach; ?>
				</div>
			<?php endif; ?>

			<?php
			$pub_gap = (array) ($coverage['published_no_gsc'] ?? []);
			$gsc_gap = (array) ($coverage['gsc_no_wp'] ?? []);
			$cov_ready = $page_rows > 0 || $pub_gap !== [] || $gsc_gap !== [];
			?>
			<?php if ($cov_ready) : ?>
				<h2 style="margin-top:36px;"><?php esc_html_e('4) פער כיסוי (אתר מול GSC)', 'icomm-metrix'); ?></h2>
				<p class="description" style="max-width:920px;">
					<?php
					echo esc_html(sprintf(
						__('התאמה: %1$d · עמודים מפורסמים: %2$d · עמודי GSC: %3$d · בלי חשיפות בגוגל: %4$d · ב־GSC בלי עמוד WP: %5$d', 'icomm-metrix'),
						(int) ($coverage['matched'] ?? 0),
						(int) ($coverage['published_total'] ?? 0),
						(int) ($coverage['gsc_total'] ?? 0),
						(int) ($coverage['published_no_gsc_total'] ?? count($pub_gap)),
						(int) ($coverage['gsc_no_wp_total'] ?? count($gsc_gap))
					));
					?>
				</p>

				<?php if ($pub_gap !== []) : ?>
					<h3><?php esc_html_e('מפורסם באתר בלי חשיפות בחיפוש', 'icomm-metrix'); ?></h3>
					<p class="description"><?php esc_html_e('עמודים שקיימים אבל כמעט לא מופיעים בנתוני GSC. שקלו קידום פנימי, אינדוקס, או מיקוד מילות מפתח.', 'icomm-metrix'); ?></p>
					<ul class="icomm-sm-opp-list" style="max-width:920px;">
						<?php foreach (array_slice($pub_gap, 0, 12) as $row) : ?>
							<?php if (!is_array($row)) { continue; } ?>
							<li class="icomm-sm-opp-card" style="list-style:none;">
								<strong><?php echo esc_html((string) ($row['title'] ?? '')); ?></strong>
								<?php if (!empty($row['post_id'])) : ?>
									· <a href="<?php echo esc_url(admin_url('post.php?action=edit&post=' . (int) $row['post_id'])); ?>"><?php esc_html_e('עריכה', 'icomm-metrix'); ?></a>
								<?php endif; ?>
								<?php if (!empty($row['url'])) : ?>
									· <a href="<?php echo esc_url((string) $row['url']); ?>" target="_blank" rel="noopener noreferrer"><?php esc_html_e('צפייה', 'icomm-metrix'); ?></a>
								<?php endif; ?>
							</li>
						<?php endforeach; ?>
					</ul>
				<?php endif; ?>

				<?php if ($gsc_gap !== []) : ?>
					<h3><?php esc_html_e('מופיע ב־GSC בלי עמוד WordPress תואם', 'icomm-metrix'); ?></h3>
					<p class="description"><?php esc_html_e('כתובות שמקבלות חשיפות בגוגל אבל לא ממופות לפוסט/עמוד פעיל. בדקו הפניות או שחזרו תוכן.', 'icomm-metrix'); ?></p>
					<ul class="icomm-sm-opp-list" style="max-width:920px;">
						<?php foreach (array_slice($gsc_gap, 0, 12) as $row) : ?>
							<?php if (!is_array($row)) { continue; } ?>
							<li class="icomm-sm-opp-card" style="list-style:none;">
								<a href="<?php echo esc_url((string) ($row['page_url'] ?? '')); ?>" target="_blank" rel="noopener noreferrer" dir="ltr"><?php echo esc_html((string) ($row['page_url'] ?? '')); ?></a>
								<span class="description">
									· <?php echo esc_html(sprintf(
										__('חשיפות %1$d · קליקים %2$d · מיקום %3$.1f', 'icomm-metrix'),
										(int) ($row['impressions'] ?? 0),
										(int) ($row['clicks'] ?? 0),
										(float) ($row['position'] ?? 0)
									)); ?>
								</span>
							</li>
						<?php endforeach; ?>
					</ul>
				<?php endif; ?>

				<?php if ($page_rows <= 0) : ?>
					<div class="notice notice-info inline" style="max-width:920px;padding:10px 12px;">
						<p style="margin:0;">
							<?php esc_html_e('עדיין אין נתוני עמודים מ־GSC. לחצו «סנכרן עכשיו» אחרי העלאת License Server 1.5.20 כדי למלא את פער הכיסוי.', 'icomm-metrix'); ?>
						</p>
					</div>
				<?php endif; ?>
			<?php endif; ?>
		<?php endif; ?>
	</div>
</div>
