<?php
namespace Pay4All\Pro\Admin;

use Pay4All\Pro\License\AdminPage as LicensePage;

if ( ! defined( 'ABSPATH' ) ) { exit; }

/**
 * Adds a « Essayer Pay4All Shop » submenu under the Pay4All PRO top-level
 * menu when the free `pay4all-form` plugin is not installed.
 *
 * The submenu lands on a marketing page describing what the free plugin
 * brings and how it complements a WooCommerce store. Only registered
 * from `Plugin::boot()` in the standalone / WooCommerce-only branches ;
 * on a site that already runs pay4all-form, the class is never touched.
 */
final class PromoteShop {

	public const SLUG = 'pay4all-pro-try-shop';

	public static function register() : void {
		// Priority 21 fires just after the License AdminPage (which
		// registers the top-level Pay4All PRO menu at priority 20).
		add_action( 'admin_menu', [ self::class, 'add_submenu' ], 21 );
	}

	public static function add_submenu() : void {
		// Double-check at menu-registration time — the boot dispatch
		// already skips this class in form_mode, but a merchant may
		// activate pay4all-form after boot.
		if ( class_exists( '\\Pay4All\\Form\\Plugin' ) ) { return; }
		if ( ! current_user_can( 'manage_options' ) ) { return; }

		$label = '<span style="color:#ffba00;">'
			. esc_html__( 'Essayer Pay4All Shop', 'pay4all-pro' )
			. '</span>';

		add_submenu_page(
			LicensePage::SLUG_TOP,
			esc_html__( 'Essayer Pay4All Shop', 'pay4all-pro' ),
			$label,
			'manage_options',
			self::SLUG,
			[ self::class, 'render' ]
		);
	}

	public static function render() : void {
		if ( ! current_user_can( 'manage_options' ) ) { return; }
		$lang     = self::current_locale();
		$saas_url = add_query_arg( 'lang', $lang, 'https://pay4all.net/p/pay4all-shop' );
		$install  = self_admin_url( 'plugin-install.php?s=pay4all+shop&tab=search&type=term' );
		?>
		<div class="wrap">
			<h1 style="display:flex;align-items:center;gap:12px;">
				<?php esc_html_e( 'Découvrez Pay4All Shop', 'pay4all-pro' ); ?>
				<span style="display:inline-block;background:#e8ddff;color:#4b1cb4;font-weight:700;font-size:12px;padding:2px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.02em;">
					<?php esc_html_e( 'Gratuit', 'pay4all-pro' ); ?>
				</span>
			</h1>

			<div style="max-width:820px;background:#faf7ff;border-left:4px solid #7531E3;padding:16px 20px;margin:16px 0 24px;border-radius:2px;">
				<p style="margin:0 0 6px;font-size:14px;">
					<strong><?php esc_html_e( 'Pay4All Shop est le plugin gratuit qui alimente Pay4All Pro.', 'pay4all-pro' ); ?></strong>
				</p>
				<p style="margin:0;color:#3c434a;">
					<?php esc_html_e( 'Construisez des formulaires de commande en glisser-déposer, encaissez avec TWINT / carte / virement, et cohabitez sans conflit avec votre boutique WooCommerce.', 'pay4all-pro' ); ?>
				</p>
			</div>

			<h2><?php esc_html_e( 'Pourquoi installer Pay4All Shop', 'pay4all-pro' ); ?></h2>

			<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;max-width:1100px;margin-top:16px;">
				<section style="background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:16px 20px;">
					<h3 style="margin-top:0;"><?php esc_html_e( 'Constructeur de formulaires', 'pay4all-pro' ); ?></h3>
					<p style="color:#555;margin:0;">
						<?php esc_html_e( 'Créez vos formulaires de commande en glisser-déposer. Champs personnalisés, sections multi-étapes, validations — pas une ligne de code.', 'pay4all-pro' ); ?>
					</p>
				</section>

				<section style="background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:16px 20px;">
					<h3 style="margin-top:0;"><?php esc_html_e( 'Catalogue produit', 'pay4all-pro' ); ?></h3>
					<p style="color:#555;margin:0;">
						<?php esc_html_e( 'Photos, descriptions, prix, stock, options — un catalogue complet intégré au formulaire. Idéal pour événements, restauration, vin, épicerie.', 'pay4all-pro' ); ?>
					</p>
				</section>

				<section style="background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:16px 20px;">
					<h3 style="margin-top:0;"><?php esc_html_e( 'Paiements TWINT + carte + manuel', 'pay4all-pro' ); ?></h3>
					<p style="color:#555;margin:0;">
						<?php esc_html_e( 'Add-ons gratuits Pay4All TWINT et Pay4All Stripe pour encaisser en direct. Ou paiement manuel (retrait, livraison, virement) sans configuration.', 'pay4all-pro' ); ?>
					</p>
				</section>

				<section style="background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:16px 20px;">
					<h3 style="margin-top:0;"><?php esc_html_e( 'Cohabite avec WooCommerce', 'pay4all-pro' ); ?></h3>
					<p style="color:#555;margin:0;">
						<?php esc_html_e( 'Aucun conflit avec WooCommerce. Utilisez WooCommerce pour votre boutique principale et Pay4All Shop pour les commandes ponctuelles (billetterie, précommandes, catering).', 'pay4all-pro' ); ?>
					</p>
				</section>

				<section style="background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:16px 20px;">
					<h3 style="margin-top:0;"><?php esc_html_e( 'Pay4All Pro se branche dessus', 'pay4all-pro' ); ?></h3>
					<p style="color:#555;margin:0;">
						<?php esc_html_e( 'Toutes les fonctions premium que vous avez déjà (catégories, marques, filtres, tickets QR, panier abandonné, couleurs, multilingue) s\'activent automatiquement dès que Pay4All Shop est installé.', 'pay4all-pro' ); ?>
					</p>
				</section>

				<section style="background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:16px 20px;">
					<h3 style="margin-top:0;"><?php esc_html_e( '100 % open source, hébergé sur WordPress.org', 'pay4all-pro' ); ?></h3>
					<p style="color:#555;margin:0;">
						<?php esc_html_e( 'GPL, gratuit à vie, distribué depuis WordPress.org avec les mises à jour automatiques natives. Pas de clé de licence pour la version gratuite.', 'pay4all-pro' ); ?>
					</p>
				</section>
			</div>

			<p style="margin-top:32px;display:flex;gap:12px;flex-wrap:wrap;">
				<a class="button button-primary button-hero" href="<?php echo esc_url( $install ); ?>">
					<?php esc_html_e( 'Installer depuis WordPress', 'pay4all-pro' ); ?>
				</a>
				<a class="button button-hero" href="<?php echo esc_url( $saas_url ); ?>" target="_blank" rel="noopener">
					<?php esc_html_e( 'En savoir plus sur Pay4All.net', 'pay4all-pro' ); ?> ↗
				</a>
			</p>

			<p class="description" style="margin-top:16px;color:#555;max-width:820px;">
				<?php esc_html_e( 'Pay4All Shop est un plugin gratuit et open source. Une fois activé, vos fonctions Pay4All Pro se débloquent automatiquement — aucune configuration supplémentaire nécessaire.', 'pay4all-pro' ); ?>
			</p>
		</div>
		<?php
	}

	/**
	 * Two-letter locale segment restricted to the Pay4All-supported set,
	 * with a French fallback — matches the pattern used by the addons /
	 * go-pro pages of pay4all-form.
	 */
	private static function current_locale() : string {
		$lang = strtolower( substr( (string) determine_locale(), 0, 2 ) );
		return in_array( $lang, [ 'fr', 'de', 'it', 'en' ], true ) ? $lang : 'fr';
	}
}
