<?php
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}
$ay_adlari = array(
	1  => tilfy__( 'Ocak' ),
	2  => tilfy__( 'Şubat' ),
	3  => tilfy__( 'Mart' ),
	4  => tilfy__( 'Nisan' ),
	5  => tilfy__( 'Mayıs' ),
	6  => tilfy__( 'Haziran' ),
	7  => tilfy__( 'Temmuz' ),
	8  => tilfy__( 'Ağustos' ),
	9  => tilfy__( 'Eylül' ),
	10 => tilfy__( 'Ekim' ),
	11 => tilfy__( 'Kasım' ),
	12 => tilfy__( 'Aralık' ),
);
$gun_adlari = array(
	tilfy__( 'Pzt' ),
	tilfy__( 'Sal' ),
	tilfy__( 'Çar' ),
	tilfy__( 'Per' ),
	tilfy__( 'Cum' ),
	tilfy__( 'Cmt' ),
	tilfy__( 'Paz' ),
);
$bugun      = current_time( 'Y-m-d' );
$simdi_saat = current_time( 'H:i' );
$ilk_gun    = sprintf( '%04d-%02d-01', $yil, $ay );
$gun_sayisi = (int) gmdate( 't', strtotime( $ilk_gun . ' UTC' ) );
$hafta_dt   = new DateTime( $ilk_gun, wp_timezone() );
$hafta_gunu = (int) $hafta_dt->format( 'N' );
$onceki_ay  = $ay === 1 ? 12 : $ay - 1;
$onceki_yil = $ay === 1 ? $yil - 1 : $yil;
$sonraki_ay = $ay === 12 ? 1 : $ay + 1;
$sonraki_yil = $ay === 12 ? $yil + 1 : $yil;
$takvim_url = function( $y, $m ) {
	return add_query_arg(
		array(
			'page' => 'tilfy-takvim',
			'yil'  => (int) $y,
			'ay'   => (int) $m,
		),
		admin_url( 'admin.php' )
	);
};
$gunlere = array();
foreach ( (array) $ogeler as $oge ) {
	if ( empty( $oge->zamanlama ) ) {
		continue;
	}
	$gun = substr( (string) $oge->zamanlama, 0, 10 );
	if ( ! isset( $gunlere[ $gun ] ) ) {
		$gunlere[ $gun ] = array();
	}
	$gunlere[ $gun ][] = $oge;
}
$durum_kisa = array(
	'zamanlandi'      => tilfy__( 'Zamanlandı' ),
	'beklemede'       => tilfy__( 'Bekliyor' ),
	'yukleniyor'      => tilfy__( 'Yükleniyor' ),
	'yuklendi'        => tilfy__( 'Yayında' ),
	'hata'            => tilfy__( 'Hata' ),
	'manuel_bekliyor' => tilfy__( 'Manuel' ),
	'sirada'          => tilfy__( 'Sırada' ),
);
$takvim_gun_veri = array();
foreach ( $gunlere as $tarih_key => $liste ) {
	$takvim_gun_veri[ $tarih_key ] = array();
	foreach ( $liste as $oge ) {
		$baslik = $oge->baslik ?: wp_trim_words( wp_strip_all_tags( $oge->aciklama ?? '' ), 6, '…' );
		if ( $baslik === '' ) {
			$baslik = '#' . (int) $oge->icerik_id;
		}
		$durum_yazi = function_exists( 'tilfy_paylasim_durum_etiket' )
			? tilfy_paylasim_durum_etiket( $oge->durum, $oge->zamanlama )
			: ( $durum_kisa[ $oge->durum ] ?? $oge->durum );
		$saat_yazi  = $oge->durum === 'sirada' ? tilfy__( 'Sırada' ) : mysql2date( 'H:i', $oge->zamanlama );
		$takvim_gun_veri[ $tarih_key ][] = array(
			'id'            => (int) $oge->id,
			'icerik_id'     => (int) $oge->icerik_id,
			'saat'          => $saat_yazi,
			'platform'      => $oge->hedef_platform,
			'platform_yazi' => tilfy_platform_etiket( $oge->hedef_platform ),
			'baslik'        => $baslik,
			'durum'         => $oge->durum,
			'durum_yazi'    => $durum_yazi,
			'kaynak'        => sanitize_key( (string) ( $oge->kaynak ?? 'manuel' ) ),
			'zamanlama'     => mysql2date( 'Y-m-d\TH:i', $oge->zamanlama ),
			'sirada'        => $oge->durum === 'sirada',
		);
	}
}
?>
<div class="wrap tilfy-wrap">
	<header class="tilfy-header tilfy-takvim-header">
		<h1><?php echo esc_html( tilfy__( 'Takvim' ) ); ?></h1>
		<p class="tilfy-sub"><?php echo esc_html( tilfy__( 'Zamanlanmış paylaşımlar' ) ); ?></p>
	</header>

	<nav class="tilfy-takvim-nav" aria-label="<?php echo esc_attr( tilfy__( 'Ay seçimi' ) ); ?>">
		<a class="tilfy-btn tilfy-btn--ikincil tilfy-btn--kucuk" href="<?php echo esc_url( $takvim_url( $onceki_yil, $onceki_ay ) ); ?>">← <?php echo esc_html( $ay_adlari[ $onceki_ay ] ); ?></a>
		<strong class="tilfy-takvim-nav__baslik"><?php echo esc_html( $ay_adlari[ $ay ] . ' ' . $yil ); ?></strong>
		<a class="tilfy-btn tilfy-btn--ikincil tilfy-btn--kucuk" href="<?php echo esc_url( $takvim_url( $sonraki_yil, $sonraki_ay ) ); ?>"><?php echo esc_html( $ay_adlari[ $sonraki_ay ] ); ?> →</a>
		<a class="tilfy-btn tilfy-btn--birincil tilfy-btn--kucuk" href="<?php echo esc_url( $takvim_url( (int) current_time( 'Y' ), (int) current_time( 'n' ) ) ); ?>"><?php echo esc_html( tilfy__( 'Bugün' ) ); ?></a>
	</nav>

	<div class="tilfy-takvim-grid" role="grid" aria-label="<?php echo esc_attr( $ay_adlari[ $ay ] . ' ' . $yil ); ?>">
		<?php foreach ( $gun_adlari as $gun_adi ) : ?>
			<div class="tilfy-takvim-grid__baslik" role="columnheader"><?php echo esc_html( $gun_adi ); ?></div>
		<?php endforeach; ?>

		<?php for ( $bos = 1; $bos < $hafta_gunu; $bos++ ) : ?>
			<div class="tilfy-takvim-gun tilfy-takvim-gun--bos" aria-hidden="true"></div>
		<?php endfor; ?>

		<?php for ( $gun = 1; $gun <= $gun_sayisi; $gun++ ) :
			$tarih       = sprintf( '%04d-%02d-%02d', $yil, $ay, $gun );
			$bugun_mu    = $tarih === $bugun;
			$gelecek_mu  = $tarih >= $bugun;
			$gun_ogeleri = $gunlere[ $tarih ] ?? array();
			$adet        = count( $gun_ogeleri );
			$sinif       = 'tilfy-takvim-gun';
			if ( $bugun_mu ) {
				$sinif .= ' tilfy-takvim-gun--bugun';
			}
			if ( $adet > 0 ) {
				$sinif .= ' tilfy-takvim-gun--dolu tilfy-takvim-gun--tiklanabilir';
			} elseif ( $gelecek_mu ) {
				$sinif .= ' tilfy-takvim-gun--tiklanabilir';
			} else {
				$sinif .= ' tilfy-takvim-gun--gecmis';
			}
			$tiklanabilir = $adet > 0 || $gelecek_mu;
			$zaman_input = $tarih . 'T' . $simdi_saat;
			$etiket      = $adet > 0
				? sprintf( tilfy__( '%d. gün - %d paylaşım' ), $gun, $adet )
				: ( $gelecek_mu ? sprintf( tilfy__( '%d. gün - içerik zamanla' ), $gun ) : sprintf( tilfy__( '%d. gün' ), $gun ) );
			?>
			<div
				class="<?php echo esc_attr( $sinif ); ?>"
				role="gridcell"
				data-tarih="<?php echo esc_attr( $tarih ); ?>"
				data-zamanlama="<?php echo esc_attr( $zaman_input ); ?>"
				data-adet="<?php echo (int) $adet; ?>"
				aria-label="<?php echo esc_attr( $etiket ); ?>"
				<?php echo $tiklanabilir ? ' tabindex="0"' : ''; ?>
			>
				<span class="tilfy-takvim-gun__numara"><?php echo (int) $gun; ?></span>
				<?php if ( $adet > 0 ) : ?>
					<span class="tilfy-takvim-gun__badge"><?php echo (int) $adet; ?> <?php echo esc_html( tilfy__( 'paylaşım' ) ); ?></span>
				<?php endif; ?>
			</div>
		<?php endfor; ?>
	</div>

	<script type="application/json" id="tilfy-takvim-gun-veri"><?php echo wp_json_encode( $takvim_gun_veri ); ?></script>

	<div class="tilfy-takvim-modal" id="tilfy-takvim-gun-modal" hidden>
		<div class="tilfy-takvim-modal__panel" role="dialog" aria-labelledby="tilfy-takvim-gun-baslik">
			<h3 id="tilfy-takvim-gun-baslik"></h3>
			<p class="tilfy-takvim-modal__meta"><?php echo esc_html( tilfy__( 'Studyo’da içerik hazırlayıp bu güne zamanlayabilirsiniz.' ) ); ?></p>
			<div class="tilfy-takvim-modal__aksiyon">
				<a class="tilfy-btn tilfy-btn--birincil" id="tilfy-takvim-gun-studyosu" href="#"><?php echo esc_html( tilfy__( 'İçerik zamanla' ) ); ?></a>
				<button type="button" class="tilfy-btn tilfy-btn--ikincil" id="tilfy-takvim-gun-kapat"><?php echo esc_html( tilfy__( 'Kapat' ) ); ?></button>
			</div>
		</div>
	</div>

	<div class="tilfy-takvim-modal tilfy-takvim-modal--genis" id="tilfy-takvim-gun-toplu-modal" hidden>
		<div class="tilfy-takvim-modal__panel tilfy-takvim-modal__panel--genis" role="dialog" aria-labelledby="tilfy-takvim-gun-toplu-baslik">
			<div class="tilfy-takvim-gun-toplu__ust">
				<h3 id="tilfy-takvim-gun-toplu-baslik"></h3>
				<div class="tilfy-takvim-gun-toplu__arac">
					<label class="tilfy-alan tilfy-alan--inline">
						<span><?php echo esc_html( tilfy__( 'İlk tarih/saat' ) ); ?></span>
						<input type="datetime-local" id="tilfy-takvim-gun-toplu-zaman" />
					</label>
					<label class="tilfy-alan tilfy-alan--inline">
						<span><?php echo esc_html( tilfy__( 'Günde kaç video' ) ); ?></span>
						<input type="number" id="tilfy-takvim-gun-toplu-gunluk" class="tilfy-filtre-kontrol" min="1" max="50" step="1" value="1" />
					</label>
					<label class="tilfy-alan tilfy-alan--inline">
						<span><?php echo esc_html( tilfy__( 'Ara (dk)' ) ); ?></span>
						<input type="number" id="tilfy-takvim-gun-toplu-arasi" class="tilfy-filtre-kontrol" min="0" max="1440" step="1" value="80" />
					</label>
					<button type="button" class="tilfy-btn tilfy-btn--yesil tilfy-btn--kucuk" id="tilfy-takvim-gun-toplu-gonder"><?php echo esc_html( tilfy__( 'Şimdi gönder' ) ); ?></button>
					<button type="button" class="tilfy-btn tilfy-btn--birincil tilfy-btn--kucuk" id="tilfy-takvim-gun-toplu-zamanla"><?php echo esc_html( tilfy__( 'Seçilenleri zamanla' ) ); ?></button>
					<button type="button" class="tilfy-btn tilfy-btn--ghost tilfy-btn--kucuk" id="tilfy-takvim-gun-toplu-sil"><?php echo esc_html( tilfy__( 'Seçilenleri sil' ) ); ?></button>
					<a class="tilfy-btn tilfy-btn--ikincil tilfy-btn--kucuk" id="tilfy-takvim-gun-toplu-studyosu" href="#"><?php echo esc_html( tilfy__( 'İçerik ekle' ) ); ?></a>
					<button type="button" class="tilfy-btn tilfy-btn--ikincil tilfy-btn--kucuk" id="tilfy-takvim-gun-toplu-kapat"><?php echo esc_html( tilfy__( 'Kapat' ) ); ?></button>
				</div>
				<p class="tilfy-meta tilfy-takvim-gun-toplu__aciklama"><?php echo esc_html( tilfy__( 'Ara &gt; 0 ve günde 1: sıralı kuyruk. Günde birden fazla: günlere yayılır. Ara 0: aynı saatte.' ) ); ?></p>
				<div class="tilfy-studyosu-zaman-bilgi tilfy-takvim-gun-toplu__yayilim" id="tilfy-takvim-gun-toplu-yayilim" hidden></div>
			</div>
			<div class="tilfy-tablo-wrap tilfy-takvim-gun-toplu__tablo-wrap">
				<table class="tilfy-tablo tilfy-takvim-gun-toplu__tablo">
					<thead>
						<tr>
							<th class="tilfy-takvim-gun-toplu__sec"><input type="checkbox" id="tilfy-takvim-gun-toplu-tumunu-sec" aria-label="<?php echo esc_attr( tilfy__( 'Tümünü seç' ) ); ?>" /></th>
							<th><?php echo esc_html( tilfy__( 'Saat' ) ); ?></th>
							<th><?php echo esc_html( tilfy__( 'Platform' ) ); ?></th>
							<th><?php echo esc_html( tilfy__( 'Başlık' ) ); ?></th>
							<th><?php echo esc_html( tilfy__( 'Durum' ) ); ?></th>
							<th></th>
						</tr>
					</thead>
					<tbody id="tilfy-takvim-gun-toplu-govde"></tbody>
				</table>
			</div>
		</div>
	</div>

	<div class="tilfy-takvim-modal" id="tilfy-takvim-modal" hidden>
		<div class="tilfy-takvim-modal__panel" role="dialog" aria-labelledby="tilfy-takvim-modal-baslik">
			<h3 id="tilfy-takvim-modal-baslik"></h3>
			<p class="tilfy-takvim-modal__meta" id="tilfy-takvim-modal-meta"></p>
			<label class="tilfy-alan tilfy-alan--tam">
				<span><?php echo esc_html( tilfy__( 'Yeni tarih ve saat' ) ); ?></span>
				<input type="datetime-local" id="tilfy-takvim-modal-zaman" />
			</label>
			<div class="tilfy-takvim-modal__aksiyon">
				<button type="button" class="tilfy-btn tilfy-btn--yesil" id="tilfy-takvim-modal-gonder"><?php echo esc_html( tilfy__( 'Şimdi gönder' ) ); ?></button>
				<button type="button" class="tilfy-btn tilfy-btn--birincil" id="tilfy-takvim-modal-kaydet"><?php echo esc_html( tilfy__( 'Kaydet' ) ); ?></button>
				<button type="button" class="tilfy-btn tilfy-btn--ghost" id="tilfy-takvim-modal-sil"><?php echo esc_html( tilfy__( 'Sil' ) ); ?></button>
				<button type="button" class="tilfy-btn tilfy-btn--ikincil" id="tilfy-takvim-modal-kapat"><?php echo esc_html( tilfy__( 'Kapat' ) ); ?></button>
			</div>
		</div>
	</div>
</div>
