<?php
/**
 * Chat AVI (WordPress) : chaînes exposées au JS (typing indicator, etc.).
 *
 * @package Avision
 */

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

/**
 * Localisation des textes chat pour le bundle premium-dashboard (thème).
 */
class Avision_Chat {

	/**
	 * @return void
	 */
	public static function init() {
		// Après twentytwentyfive_enqueue_agency_dashboard_assets (priorité 2000) qui enfile premium-dashboard-v4.
		add_action( 'wp_enqueue_scripts', array( __CLASS__, 'localize_chat_strings' ), 2105 );
	}

	/**
	 * Injecte window.avision_chat_params.i18n.typing (fr / en / es) sur le handle premium-dashboard-v4.
	 * Aligné sur la langue cockpit côté JS (currentLang / avisionPremium.lang), sans forcer de www.
	 *
	 * @return void
	 */
	public static function localize_chat_strings() {
		if ( ! function_exists( 'wp_script_is' ) || ! function_exists( 'wp_localize_script' ) ) {
			return;
		}
		if ( ! wp_script_is( 'premium-dashboard-v4', 'enqueued' ) ) {
			return;
		}
		// Carte par langue cockpit (fr / en / es) : l’anglais et l’espagnol sont figés pour éviter toute confusion avec la locale WordPress du site.
		$params = array(
			'i18n' => array(
				'typing' => apply_filters(
					'avision_chat_typing_i18n',
					array(
						'fr' => __( 'Avi écrit…', 'avision-dashboard' ),
						'en' => 'Avi is writing…',
						'es' => 'Avi está escribiendo…',
					)
				),
			),
		);
		wp_localize_script( 'premium-dashboard-v4', 'avision_chat_params', $params );
	}
}
