<?php
/**
 * Template: sezione "Sicurezza Biometrica Web, Data & Service" mostrata a
 * un amministratore che sta guardando il profilo di UN ALTRO utente.
 * Sola lettura per la registrazione (non si può registrare un'impronta al
 * posto di qualcun altro), ma con azioni di emergenza per non lasciare
 * mai l'utente bloccato fuori.
 *
 * Variabili disponibili: $user (WP_User), $credentials (array).
 *
 * @package SPIDy_WP
 */

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

$spidy_wp_method       = SPIDy_WP_User_Store::get_method( $user->ID );
$spidy_wp_phone        = SPIDy_WP_User_Store::get_phone( $user->ID );
$spidy_wp_is_2fa_on    = SPIDy_WP_User_Store::is_2fa_enabled( $user->ID );
$spidy_wp_method_label = array(
	SPIDy_WP_User_Store::METHOD_EMAIL     => __( 'Email', 'spidy-2fa-login' ),
	SPIDy_WP_User_Store::METHOD_SMS       => __( 'SMS (+ fallback email)', 'spidy-2fa-login' ),
	SPIDy_WP_User_Store::METHOD_BIOMETRIC => __( 'Biometrico', 'spidy-2fa-login' ),
);
?>
<h2><?php esc_html_e( 'Sicurezza Biometrica Web, Data & Service', 'spidy-2fa-login' ); ?></h2>
<p class="description">
	<?php esc_html_e( 'Solo l\'utente stesso può registrare un nuovo dispositivo (serve la sua impronta/Face ID). Da qui puoi vedere lo stato e intervenire in caso di emergenza.', 'spidy-2fa-login' ); ?>
</p>

<table class="form-table" id="spidy-wp-admin-status-table">
	<tr>
		<th><?php esc_html_e( '2FA attivo', 'spidy-2fa-login' ); ?></th>
		<td><?php echo $spidy_wp_is_2fa_on ? '✅ ' . esc_html__( 'Sì', 'spidy-2fa-login' ) : '— ' . esc_html__( 'No', 'spidy-2fa-login' ); ?></td>
	</tr>
	<tr>
		<th><?php esc_html_e( 'Metodo', 'spidy-2fa-login' ); ?></th>
		<td>
			<?php echo esc_html( $spidy_wp_method_label[ $spidy_wp_method ] ?? $spidy_wp_method ); ?>
			<?php if ( SPIDy_WP_User_Store::METHOD_BIOMETRIC === $spidy_wp_method ) : ?>
				<button type="button" class="button button-secondary" id="spidy-wp-admin-reset-button" style="margin-left:10px;">
					<?php esc_html_e( 'Sblocco emergenza: riporta su Email', 'spidy-2fa-login' ); ?>
				</button>
			<?php endif; ?>
		</td>
	</tr>
	<tr>
		<th><?php esc_html_e( 'Numero di telefono', 'spidy-2fa-login' ); ?></th>
		<td><?php echo $spidy_wp_phone ? esc_html( $spidy_wp_phone ) : '—'; ?></td>
	</tr>
	<tr>
		<th><?php esc_html_e( 'Dispositivi biometrici associati', 'spidy-2fa-login' ); ?></th>
		<td>
			<?php if ( empty( $credentials ) ) : ?>
				<p><em><?php esc_html_e( 'Nessun dispositivo associato.', 'spidy-2fa-login' ); ?></em></p>
			<?php else : ?>
				<ul id="spidy-wp-admin-devices-list" style="margin:0;">
					<?php foreach ( $credentials as $spidy_wp_credential ) : ?>
						<li data-credential-id="<?php echo esc_attr( $spidy_wp_credential['credential_id'] ); ?>">
							<strong><?php echo esc_html( $spidy_wp_credential['label'] ); ?></strong>
							—
							<span class="description">
								<?php
								printf(
									/* translators: %s: data di registrazione formattata */
									esc_html__( 'associato il %s', 'spidy-2fa-login' ),
									esc_html( date_i18n( get_option( 'date_format' ), $spidy_wp_credential['created_at'] ) )
								);
								?>
							</span>
							<button type="button" class="button-link spidy-wp-admin-remove-device" data-credential-id="<?php echo esc_attr( $spidy_wp_credential['credential_id'] ); ?>">
								<?php esc_html_e( 'Rimuovi (emergenza)', 'spidy-2fa-login' ); ?>
							</button>
						</li>
					<?php endforeach; ?>
				</ul>
			<?php endif; ?>
		</td>
	</tr>
</table>
<p id="spidy-wp-admin-status" style="margin-top:8px;"></p>
<p class="description">
	<?php
	printf(
		/* translators: %s: link alla pagina Gestione utenti del plugin */
		wp_kses( __( 'Per cambiare metodo o numero in modo permanente, usa <a href="%s">Gestione utenti</a>.', 'spidy-2fa-login' ), array( 'a' => array( 'href' => array() ) ) ),
		esc_url( admin_url( 'admin.php?page=' . SPIDy_WP_Admin_Menu::MENU_SLUG ) )
	);
	?>
</p>
