<?php
/**
 * Filtros combinados das listagens — busca pelo nome + status + bairro
 * (agrupado por região) + eixo, sempre enviando pra listagem geral
 * (/obras/): bairro e eixo são query vars de taxonomia, o WordPress
 * filtra sozinho; status e busca entram via mfm_listagem_query(). Com JS
 * (paginas.js) o form auto-envia na troca dos selects e omite campos
 * vazios; sem JS o botão "Filtrar" resolve (a busca envia no Enter).
 *
 * Nas rotas de taxonomia (/regiao/…, /area/…) o select correspondente já
 * vem pré-selecionado pelo termo da rota.
 */

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

$mfm_status_atual = mfm_status_filtro_atual();
$mfm_busca_atual  = mfm_busca_filtro_atual();
$mfm_bairro_atual = sanitize_title( (string) get_query_var( 'bairro' ) );
$mfm_regiao_atual = sanitize_title( (string) get_query_var( 'regiao' ) );
$mfm_eixo_atual   = sanitize_title( (string) get_query_var( 'eixo' ) );
$mfm_eixos        = mfm_eixos_fixos();
$mfm_filtrando    = $mfm_status_atual || $mfm_bairro_atual || $mfm_regiao_atual || $mfm_eixo_atual || '' !== $mfm_busca_atual;

$mfm_zonas_bairros = mfm_bairros_por_regiao();
?>

<form class="mfm-filtros" method="get" action="<?php echo esc_url( mfm_url_listagem() ); ?>" aria-label="Filtros das obras">
	<label class="mfm-filtro mfm-filtro--busca">
		<span>Buscar pelo nome</span>
		<input
			type="search"
			name="busca"
			value="<?php echo esc_attr( $mfm_busca_atual ); ?>"
			placeholder="Digite o nome da obra e aperte Enter…"
			maxlength="80"
			autocomplete="off"
		>
	</label>

	<label class="mfm-filtro">
		<span>Status</span>
		<select name="status">
			<option value="">Todos os status</option>
			<?php foreach ( mfm_status_rotulos() as $mfm_valor => $mfm_rotulo ) : ?>
				<option value="<?php echo esc_attr( $mfm_valor ); ?>"<?php selected( $mfm_status_atual, $mfm_valor ); ?>><?php echo esc_html( $mfm_rotulo ); ?></option>
			<?php endforeach; ?>
		</select>
	</label>

	<label class="mfm-filtro">
		<span>Bairro</span>
		<select name="bairro">
			<option value="">Todos os bairros</option>
			<?php foreach ( $mfm_zonas_bairros as $mfm_zona_nome => $mfm_bairros ) : ?>
				<optgroup label="<?php echo esc_attr( 'Região ' . $mfm_zona_nome ); ?>">
					<?php foreach ( $mfm_bairros as $mfm_bairro ) : ?>
						<option value="<?php echo esc_attr( $mfm_bairro->slug ); ?>"<?php selected( $mfm_bairro_atual, $mfm_bairro->slug ); ?>><?php echo esc_html( $mfm_bairro->name ); ?></option>
					<?php endforeach; ?>
				</optgroup>
			<?php endforeach; ?>
		</select>
	</label>

	<label class="mfm-filtro">
		<span>Área</span>
		<select name="eixo">
			<option value="">Todas as áreas</option>
			<?php foreach ( $mfm_eixos as $mfm_eixo ) : ?>
				<option value="<?php echo esc_attr( sanitize_title( $mfm_eixo ) ); ?>"<?php selected( $mfm_eixo_atual, sanitize_title( $mfm_eixo ) ); ?>><?php echo esc_html( $mfm_eixo ); ?></option>
			<?php endforeach; ?>
		</select>
	</label>

	<div class="mfm-filtros__acoes">
		<button class="mfm-filtros__aplicar" type="submit">Filtrar</button>
		<?php if ( $mfm_filtrando ) : ?>
			<a class="mfm-filtros__limpar" href="<?php echo esc_url( mfm_url_listagem() ); ?>">Limpar filtros</a>
		<?php endif; ?>
	</div>
</form>
