(function ($) {
	'use strict';

	function tilfyT(key, fallback) {
		var i18n = (window.tilfyAdmin && tilfyAdmin.i18n) ? tilfyAdmin.i18n : {};
		if (key && i18n[key]) {
			return i18n[key];
		}
		return fallback || key || '';
	}

	function tilfyFmt(key, fallback) {
		var s = tilfyT(key, fallback);
		var args = Array.prototype.slice.call(arguments, 2);
		for (var i = 0; i < args.length; i++) {
			s = s.replace('%d', String(args[i])).replace('%s', String(args[i]));
		}
		return s;
	}


	var PLATFORM_KEY = 'tilfy_secili_platformlar';
	var SEPET_KEY = 'tilfy_icerik_sepet';
	var canliOverlay = null;
	var canliTimer = null;
	var canliIds = [];
	var canliAktif = false;
	var AKTIVITE_LS = 'tilfy_arka_plan';
	var arkaPlanTimer = null;
	var arkaPlanDuraklat = false;
	var arkaPlanPanelAcik = false;
	var islemYoneticisiTimer = null;
	var islemSatirDetayCache = {};
	var islemAktifTickTimer = null;
	var islemAktifIlerleme = { id: 0, anahtar: '', baslangic: 0, baz: 0, islem: '', mod: '', deneme: 0 };
	var sonDuraklatKullaniciTs = 0;
	var kuyrukAdimCalisiyor = false;
	var kuyrukAdimTekrar = false;
	var kuyrukAdimSonIstek = null;

	function modGuncelle() {
		var ayri = $('input[name="paylasim_modu"]:checked').val() === 'ayri';
		$('.tilfy-mod-radio').removeClass('is-active');
		$('input[name="paylasim_modu"]:checked').closest('.tilfy-mod-radio').addClass('is-active');
		if (ayri) {
			studyoEditorAyriModaGec();
		} else {
			studyoEditorOrtakModaGec();
		}
		studyoEditorNavGuncelle();
	}

	var studyoAktifPlatform = '';
	var studyoSeciliPlatformlar = [];

	function studyoSeciliPlatformListesi() {
		var liste = [];
		$('.tilfy-platform-toggle:checked:not(:disabled)').each(function () {
			liste.push($(this).val());
		});
		return liste;
	}

	function studyoEditorAlanlari() {
		return {
			baslik: $('#tilfy-studyosu-baslik'),
			aciklama: $('#tilfy-studyosu-aciklama'),
			etiketler: $('#tilfy-studyosu-etiketler')
		};
	}

	function studyoPlatformDetayKaydet(platform) {
		if (!platform) {
			return;
		}
		var alan = studyoEditorAlanlari();
		var $detay = $('.tilfy-platform-detay[data-platform="' + platform + '"]');
		if (!$detay.length) {
			return;
		}
		$detay.find('.tilfy-platform-ozel-baslik').val(alan.baslik.val() || '');
		$detay.find('.tilfy-platform-ozel-aciklama').val(alan.aciklama.val() || '');
		$detay.find('.tilfy-platform-ozel-etiketler').val(alan.etiketler.val() || '');
	}

	function studyoPlatformDetayYukle(platform) {
		var alan = studyoEditorAlanlari();
		var $detay = $('.tilfy-platform-detay[data-platform="' + platform + '"]');
		if (!$detay.length) {
			return;
		}
		alan.baslik.val($detay.find('.tilfy-platform-ozel-baslik').val() || '');
		alan.aciklama.val($detay.find('.tilfy-platform-ozel-aciklama').val() || '');
		alan.etiketler.val($detay.find('.tilfy-platform-ozel-etiketler').val() || '');
	}

	function studyoEditorAyriModaGec() {
		var alan = studyoEditorAlanlari();
		var ortak = {
			baslik: alan.baslik.val() || '',
			aciklama: alan.aciklama.val() || '',
			etiketler: alan.etiketler.val() || ''
		};
		studyoSeciliPlatformlar = studyoSeciliPlatformListesi();
		studyoSeciliPlatformlar.forEach(function (pl) {
			var $detay = $('.tilfy-platform-detay[data-platform="' + pl + '"]');
			if (!$detay.find('.tilfy-platform-ozel-baslik').val()) {
				$detay.find('.tilfy-platform-ozel-baslik').val(ortak.baslik);
				$detay.find('.tilfy-platform-ozel-aciklama').val(ortak.aciklama);
				$detay.find('.tilfy-platform-ozel-etiketler').val(ortak.etiketler);
			}
		});
		alan.baslik.removeAttr('name');
		alan.aciklama.removeAttr('name');
		alan.etiketler.removeAttr('name');
		if (!studyoAktifPlatform || studyoSeciliPlatformlar.indexOf(studyoAktifPlatform) === -1) {
			studyoAktifPlatform = studyoSeciliPlatformlar[0] || '';
		}
		if (studyoAktifPlatform) {
			studyoPlatformDetayYukle(studyoAktifPlatform);
		}
		studyoEditorNavGuncelle();
	}

	function studyoEditorOrtakModaGec() {
		var alan = studyoEditorAlanlari();
		if (studyoAktifPlatform) {
			studyoPlatformDetayKaydet(studyoAktifPlatform);
		}
		alan.baslik.attr('name', 'baslik');
		alan.aciklama.attr('name', 'aciklama');
		alan.etiketler.attr('name', 'etiketler');
		studyoPlatformRenkGuncelle('');
		studyoPlatformChipAktifGuncelle();
	}

	function studyoEditorNavGuncelle() {
		studyoSeciliPlatformlar = studyoSeciliPlatformListesi();
		var ayri = $('input[name="paylasim_modu"]:checked').val() === 'ayri';
		var $nav = $('#tilfy-platform-editor-nav');
		if (!ayri || !studyoSeciliPlatformlar.length) {
			$nav.prop('hidden', true);
			studyoPlatformRenkGuncelle('');
			return;
		}
		if (studyoSeciliPlatformlar.indexOf(studyoAktifPlatform) === -1) {
			studyoAktifPlatform = studyoSeciliPlatformlar[0] || '';
			if (studyoAktifPlatform) {
				studyoPlatformDetayYukle(studyoAktifPlatform);
			}
		}
		$nav.prop('hidden', false);
		$('#tilfy-platform-editor-etiket').text(platformEtiket(studyoAktifPlatform));
		$nav.toggleClass('is-tek', studyoSeciliPlatformlar.length < 2);
		studyoPlatformRenkGuncelle(studyoAktifPlatform);
		studyoPlatformChipAktifGuncelle();
	}

	function studyoPlatformRenkGuncelle(platform) {
		var $icerik = $('#tilfy-studyosu-icerik');
		var $nav = $('#tilfy-platform-editor-nav');
		$icerik.add($nav).removeClass(function (i, sinif) {
			return (sinif.match(/(^|\s)tilfy-(studyosu-icerik--platform-|platform-editor-nav--)\S+/g) || []).join(' ');
		});
		var ayri = $('input[name="paylasim_modu"]:checked').val() === 'ayri';
		if (ayri && platform) {
			$icerik.addClass('tilfy-studyosu-icerik--platform-' + platform);
			$nav.addClass('tilfy-platform-editor-nav--platform-' + platform);
		}
	}

	function studyoPlatformChipAktifGuncelle() {
		var ayri = $('input[name="paylasim_modu"]:checked').val() === 'ayri';
		$('.tilfy-pl-kutu').each(function () {
			var $kutu = $(this);
			var pl = $kutu.data('platform');
			var secili = $kutu.find('.tilfy-platform-toggle').is(':checked');
			$kutu.toggleClass('is-editor-aktif', ayri && secili && pl === studyoAktifPlatform);
		});
	}

	function studyoEditorPlatformDegistir(yon) {
		studyoSeciliPlatformlar = studyoSeciliPlatformListesi();
		if (studyoSeciliPlatformlar.length < 2) {
			return;
		}
		studyoPlatformDetayKaydet(studyoAktifPlatform);
		var idx = studyoSeciliPlatformlar.indexOf(studyoAktifPlatform);
		if (idx === -1) {
			idx = 0;
		}
		idx += yon;
		if (idx < 0) {
			idx = studyoSeciliPlatformlar.length - 1;
		}
		if (idx >= studyoSeciliPlatformlar.length) {
			idx = 0;
		}
		studyoAktifPlatform = studyoSeciliPlatformlar[idx];
		studyoPlatformDetayYukle(studyoAktifPlatform);
		studyoEditorNavGuncelle();
	}

	function studyoZamanMetin(zaman) {
		if (!zaman) {
			return '';
		}
		var parca = zaman.split('T');
		if (parca.length !== 2) {
			return zaman;
		}
		var gun = parca[0].split('-');
		if (gun.length !== 3) {
			return zaman;
		}
		return gun[2] + '.' + gun[1] + '.' + gun[0] + ' ' + parca[1];
	}

	function studyoZamanBilgiGuncelle() {
		var zaman = $('#tilfy-studyosu-zamanlama').val() || '';
		var $bilgi = $('#tilfy-studyosu-zaman-bilgi');
		if (!zaman) {
			$bilgi.prop('hidden', true);
			return;
		}
		$('#tilfy-studyosu-zaman-metin').text(studyoZamanMetin(zaman));
		$bilgi.prop('hidden', false);
	}

	function studyoZamanGelecekMi(zaman) {
		if (!zaman) {
			return false;
		}
		var hedef = new Date(zaman);
		if (isNaN(hedef.getTime())) {
			return false;
		}
		return hedef.getTime() > Date.now();
	}

	function studyoZamanModalAc() {
		var mevcut = $('#tilfy-studyosu-zamanlama').val() || '';
		$('#tilfy-studyosu-zaman-input').val(mevcut);
		$('#tilfy-studyosu-zaman-modal').prop('hidden', false);
	}

	function studyoZamanModalKapat() {
		$('#tilfy-studyosu-zaman-modal').prop('hidden', true);
	}

	function platformAyarPopoverKapat() {
		$('.tilfy-platform-ayar-popover').prop('hidden', true);
		$('.tilfy-platform-ayar-btn').removeClass('is-open');
	}

	function platformlariKaydet() {
		var secim = [];
		$('.tilfy-platform-toggle:checked:not(:disabled)').each(function () {
			secim.push($(this).val());
		});
		try {
			localStorage.setItem(PLATFORM_KEY, JSON.stringify(secim));
		} catch (e) {
			/* ignore */
		}
	}

	function platformDetayGuncelle() {
		var adet = 0;
		$('.tilfy-pl-kutu').each(function () {
			var $kutu = $(this);
			var secili = $kutu.find('.tilfy-platform-toggle').is(':checked');
			$kutu.toggleClass('is-selected', secili);
			var ayarVar = String($kutu.data('ayar')) === '1';
			$kutu.find('.tilfy-platform-ayar-btn--kutu').prop('hidden', !secili || !ayarVar);
			if (secili) {
				adet += 1;
			}
		});
		$('#tilfy-platform-bos').prop('hidden', adet > 0);
		studyoEditorNavGuncelle();
	}

	function ayarAccordionToggle($btn) {
		var $kutu = $btn.closest('.tilfy-pl-kutu');
		var $popover = $kutu.find('.tilfy-platform-ayar-popover');
		var acik = !$popover.prop('hidden');
		platformAyarPopoverKapat();
		if (acik) {
			return;
		}
		$btn.addClass('is-open');
		$popover.prop('hidden', false);
		if ($kutu.data('platform') === 'youtube') {
			youtubeListeleriYukle();
			if (typeof youtubeTurKapakGuncelle === 'function') {
				youtubeTurKapakGuncelle();
			}
		}
	}

	function studyoUyariGizle() {
		$('#tilfy-studyosu-dogrulama').prop('hidden', true).empty().removeClass('is-hata is-bilgi is-yukleniyor');
	}

	function studyoUyariGoster(hatalar, tip) {
		var $kutu = $('#tilfy-studyosu-dogrulama');
		if (!hatalar || !hatalar.length) {
			$kutu.prop('hidden', true).empty().removeClass('is-hata is-bilgi is-yukleniyor');
			return;
		}
		var baslik = tilfyT('missing_info', 'Eksik bilgi');
		if (tip === 'yukleniyor') {
			baslik = tilfyT('sending', 'Gönderiliyor…');
		} else if (tip === 'bilgi') {
			baslik = tilfyT('duplicate_share', 'Yinelenen paylaşım');
		}
		var html = '<strong>' + baslik + '</strong><ul>';
		hatalar.forEach(function (satir) {
			html += '<li>' + satir + '</li>';
		});
		html += '</ul>';
		$kutu
			.removeClass('is-hata is-bilgi is-yukleniyor')
			.addClass(tip === 'yukleniyor' ? 'is-yukleniyor' : (tip === 'bilgi' ? 'is-bilgi' : 'is-hata'))
			.html(html)
			.prop('hidden', false);
		$('html, body').animate({ scrollTop: $kutu.offset().top - 80 }, 220);
	}

	function studyoWpMedyaModu() {
		var $panel = $('#tilfy-wp-medya-mod');
		if (!$panel.length || $panel.prop('hidden')) {
			return '';
		}
		if ($panel.attr('data-zorunlu-yukleyici') === '1') {
			return 'yukleyici';
		}
		var $secili = $panel.find('input[name="tilfy_wp_medya_mod"]:checked');
		return $secili.length ? String($secili.val() || 'yukleyici') : 'yukleyici';
	}

	function studyoDogrula($form) {
		var hatalar = [];
		var medyaId = parseInt($form.find('[name="medya_dosya_id"]').val(), 10) || 0;
		var onizlemeVar = $('#tilfy-medya-onizleme').children().length > 0;
		var wpAktif = $('#tilfy-wp-medya-mod').length && !$('#tilfy-wp-medya-mod').prop('hidden');
		if (wpAktif) {
			var wpMod = studyoWpMedyaModu();
			if (wpMod === 'yukleyici' && !medyaId) {
				hatalar.push(tilfyT('select_media_new_add', 'Yeni ekle: görsel veya video seçin.'));
			} else if (wpMod === 'kapak' && !onizlemeVar && !medyaId) {
				hatalar.push(tilfyT('no_featured_image', 'Öne çıkan görsel yok; Yeni ekle ile dosya seçin.'));
			} else if (!medyaId && !onizlemeVar) {
				hatalar.push(tilfyT('media_required', 'Paylaşım için medya gerekli.'));
			}
		} else if (!medyaId && !onizlemeVar) {
			hatalar.push(tilfyT('select_video_or_image', 'Video veya görsel seçin (zorunlu).'));
		}
		if (!$('.tilfy-platform-toggle:checked:not(:disabled)').length) {
			hatalar.push(tilfyT('select_at_least_one_platform', 'En az bir platform seçin.'));
		}
		return hatalar;
	}

	function youtubeListeleriYukle() {
		var $select = $('#tilfy-yt-playlist-select');
		if (!$select.length || $select.data('yuklendi') === 1) {
			return;
		}
		$select.data('yuklendi', 1);
		var $durum = $('#tilfy-yt-liste-durum');
		$durum.text(tilfyT('loading_playlists', 'Oynatma listeleri yükleniyor…'));
		ajaxIstek('tilfy_youtube_listeler', {}, 30000).done(function (res) {
			if (!res.success || !res.data) {
				$durum.text((res.data && res.data.mesaj) || tilfyT('playlists_fetch_failed', 'Listeler alınamadı.'));
				$select.data('yuklendi', 0);
				return;
			}
			var listeler = res.data.listeler || [];
			$select.find('option:not(:first)').remove();
			listeler.forEach(function (liste) {
				$select.append($('<option>', { value: liste.id, text: liste.baslik || liste.id }));
			});
			if (!listeler.length) {
				$durum.text(tilfyT('no_playlists_on_channel', 'Kanalda oynatma listesi bulunamadı.'));
			} else {
				$durum.text(tilfyFmt('playlists_loaded_fmt', '%d liste yüklendi.', listeler.length));
			}
		}).fail(function (xhr) {
			var mesaj = tilfyT('playlists_reconnect_youtube', 'Listeler alınamadı - Ayarlar’dan YouTube’u yeniden bağlayın.');
			if (xhr.responseJSON && xhr.responseJSON.data && xhr.responseJSON.data.mesaj) {
				mesaj = xhr.responseJSON.data.mesaj;
			}
			$durum.text(mesaj);
			$select.data('yuklendi', 0);
		});
	}

	function platformlariYukle() {
		var ham;
		try {
			ham = localStorage.getItem(PLATFORM_KEY);
		} catch (e) {
			return;
		}
		if (!ham) {
			return;
		}
		var liste;
		try {
			liste = JSON.parse(ham);
		} catch (e) {
			return;
		}
		if (!Array.isArray(liste)) {
			return;
		}
		$('.tilfy-platform-toggle').each(function () {
			var $input = $(this);
			if ($input.prop('disabled')) {
				$input.prop('checked', false);
				return;
			}
			if (liste.indexOf($input.val()) !== -1) {
				$input.prop('checked', true);
			}
		});
		platformDetayGuncelle();
		modGuncelle();
	}

	function platformEtiket(anahtar) {
		if (tilfyAdmin.platformlar && tilfyAdmin.platformlar[anahtar]) {
			return tilfyAdmin.platformlar[anahtar].etiket || anahtar;
		}
		return anahtar;
	}

	function ajaxIstek(action, data, timeout) {
		return $.ajax({
			url: tilfyAdmin.ajax,
			method: 'POST',
			timeout: timeout || 600000,
			data: $.extend({ action: action, nonce: tilfyAdmin.nonce }, data || {})
		});
	}

	var senkronAktif = false;
	var senkronTimer = null;
	var senkronPlatform = '';

	function senkronDurumKutu() {
		var $kutu = $('#tilfy-icerik-senkron-durum');
		if (!$kutu.length) {
			$kutu = $('<div id="tilfy-icerik-senkron-durum" class="tilfy-icerik-senkron-durum" role="status" aria-live="polite"></div>');
			$('.tilfy-icerik-senkron').first().after($kutu);
		}
		return $kutu;
	}

	function senkronDurumGuncelle(opts) {
		opts = opts || {};
		var $kutu = senkronDurumKutu();
		var tip = opts.tip || 'calisiyor';
		var baslik = opts.baslik || 'Senkron';
		var mesaj = opts.mesaj || '';
		var alt = opts.alt || '';
		$kutu
			.removeClass('tilfy-is-gizli is-calisiyor is-tamam is-hata')
			.addClass('is-' + tip)
			.html(
				'<strong>' + baslik + '</strong>' +
				'<span>' + mesaj + '</span>' +
				(alt ? '<small style="display:block;margin-top:6px;opacity:.85">' + alt + '</small>' : '')
			);
	}

	function senkronDurumGizle() {
		$('#tilfy-icerik-senkron-durum').addClass('tilfy-is-gizli');
	}

	function senkronBtnYukleniyor(platform, aktif) {
		var $btn = $('.tilfy-senkron-btn[data-platform="' + platform + '"]');
		if (!$btn.length) {
			return;
		}
		if (aktif) {
			var ham = $btn.data('ham-metin');
			if (!ham) {
				$btn.data('ham-metin', $btn.html());
			}
			$btn.addClass('is-loading').html('<span class="tilfy-senkron-btn__spinner"></span>Senkronize ediliyor…');
		} else {
			var eski = $btn.data('ham-metin');
			if (eski) {
				$btn.html(eski);
			}
			$btn.removeClass('is-loading');
		}
	}

	function senkronBtnleriSifirla() {
		$('.tilfy-senkron-btn').prop('disabled', false).each(function () {
			var $btn = $(this);
			var eski = $btn.data('ham-metin');
			if (eski) {
				$btn.html(eski);
			}
			$btn.removeClass('is-loading');
		});
	}

	function senkronIslemMetni(islem, platform) {
		var pl = platform ? platformEtiket(platform) + ' - ' : '';
		if (islem === 'icerik_cek') {
			return pl + tilfyT('fetching_from_api', 'API\'den içerikler çekiliyor…');
		}
		if (islem === 'istatistik_sync') {
			return pl + tilfyT('updating_stats', 'İstatistikler güncelleniyor…');
		}
		if (islem === 'tumu_senkron') {
			return tilfyT('syncing_all_platforms', 'Tüm platformlar senkronize ediliyor…');
		}
		return pl + tilfyT('sync_please_wait', 'Senkron devam ediyor, lütfen bekleyin…');
	}

	function senkronOverlayOlustur() {
		if ($('#tilfy-senkron-overlay').length) {
			return $('#tilfy-senkron-overlay');
		}
		$('body').append(
			'<div class="tilfy-senkron-overlay" id="tilfy-senkron-overlay" aria-live="polite">' +
				'<div class="tilfy-senkron-panel">' +
					'<div class="tilfy-senkron-panel__ust">' +
						'<h2 id="tilfy-senkron-baslik">' + tilfyT('syncing_content', 'İçerikler senkronize ediliyor') + '</h2>' +
						'<button type="button" class="tilfy-btn tilfy-btn--kucuk tilfy-btn--ghost" id="tilfy-senkron-kucult">' + tilfyT('minimize', 'Küçült') + '</button>' +
					'</div>' +
					'<div class="tilfy-senkron-spinner" aria-hidden="true"></div>' +
					'<p class="tilfy-senkron-durum" id="tilfy-senkron-durum">' + tilfyT('connecting', 'Bağlantı kuruluyor...') + '</p>' +
					'<p class="tilfy-senkron-alt" id="tilfy-senkron-alt"></p>' +
				'</div>' +
			'</div>'
		);
		return $('#tilfy-senkron-overlay');
	}

	function senkronOverlayGoster(baslik, durum) {
		var $el = senkronOverlayOlustur();
		if (baslik) {
			$('#tilfy-senkron-baslik').text(baslik);
		}
		if (durum) {
			$('#tilfy-senkron-durum').text(durum);
		}
		$('#tilfy-senkron-alt').text('');
		$el.addClass('is-active');
	}

	function senkronOverlayGizle() {
		$('#tilfy-senkron-overlay').removeClass('is-active');
	}

	function senkronBaslik(platform) {
		if (platform === 'tumu') {
			return 'Tüm platformlar senkronize ediliyor';
		}
		return platformEtiket(platform) + ' senkronize ediliyor';
	}

	function senkronDongu(bitisCb) {
		var adim = 0;
		function tur() {
			if (adim++ > 2000) {
				$('#tilfy-senkron-durum').text(tilfyT('sync_timeout', 'Zaman aşımı. Sayfayı yenileyip tekrar deneyin.'));
				senkronAktif = false;
				$('.tilfy-senkron-btn').prop('disabled', false);
				if (bitisCb) {
					bitisCb(false);
				}
				return;
			}
			kuyrukAdim(600000).done(function (res) {
				var d = res && res.success ? res.data : {};
				if (d.islem) {
					$('#tilfy-senkron-durum').text(senkronIslemMetni(d.islem));
				}
				var bekleyen = d.kuyruk_bekleyen || 0;
				if (bekleyen > 0) {
					$('#tilfy-senkron-alt').text('Kuyrukta ' + bekleyen + ' iş kaldı');
				}
				if (d.bos && bekleyen === 0 && !d.medya_bekle) {
					$('#tilfy-senkron-durum').text(tilfyT('sync_complete_reloading', 'Senkron tamamlandı. Liste yenileniyor...'));
					$('#tilfy-senkron-alt').text('');
					senkronAktif = false;
					setTimeout(function () {
						senkronOverlayGizle();
						window.location.reload();
					}, 700);
					if (bitisCb) {
						bitisCb(true);
					}
					return;
				}
				senkronTimer = setTimeout(tur, d.medya_bekle ? 1800 : 400);
			}).fail(function () {
				senkronTimer = setTimeout(tur, 1200);
			});
		}
		tur();
	}

	function senkronIlerlemeGuncelle(kuyrukVeri, veri) {
		var platform = (kuyrukVeri && kuyrukVeri.platform) || senkronPlatform || '';
		var islem = kuyrukVeri && kuyrukVeri.islem ? kuyrukVeri.islem : '';
		var bek = veri && veri.bekleyen ? veri.bekleyen : (kuyrukVeri && kuyrukVeri.kuyruk_bekleyen) || 0;
		var mesaj = senkronIslemMetni(islem, platform);
		if (kuyrukVeri && kuyrukVeri.kuyruk_durum === 'calisiyor') {
			mesaj = senkronIslemMetni(islem, platform);
		}
		var alt = bek > 0 ? ('Kuyrukta ' + bek + ' iş kaldı') : tilfyT('queue_processing', 'Kuyruk işleniyor…');
		if (veri && veri.isler && veri.isler.length) {
			var calisan = veri.isler.filter(function (i) { return i.durum === 'calisiyor'; })[0];
			if (calisan && calisan.etiket) {
				alt = calisan.etiket + (bek > 0 ? ' · kuyrukta ' + bek + ' iş' : '');
			}
		}
		senkronDurumGuncelle({
			tip: 'calisiyor',
			baslik: senkronBaslik(senkronPlatform || platform || 'tumu'),
			mesaj: mesaj,
			alt: alt
		});
		$('#tilfy-senkron-durum').text(mesaj);
		$('#tilfy-senkron-alt').text(alt);
	}

	function senkronBaslat(platform) {
		if (senkronAktif) {
			senkronDurumGuncelle({
				tip: 'calisiyor',
				baslik: tilfyT('sync_already_running', 'Senkron zaten çalışıyor'),
				mesaj: tilfyT('sync_wait_or_refresh', 'Mevcut senkron bitene kadar bekleyin veya sayfayı yenileyin.'),
				alt: ''
			});
			senkronOverlayGoster(senkronBaslik(senkronPlatform || platform), tilfyT('ongoing_sync', 'Devam eden senkron var…'));
			return;
		}
		var mod = ($('input[name="tilfy_senkron_mod"]:checked').val() || (tilfyAdmin.senkronModu || 'yeni'));
		if (mod !== 'tam') {
			mod = 'yeni';
		}
		senkronAktif = true;
		senkronPlatform = platform || '';
		$('.tilfy-senkron-btn').prop('disabled', true);
		senkronBtnYukleniyor(platform, true);
		senkronDurumGuncelle({
			tip: 'calisiyor',
			baslik: senkronBaslik(platform),
			mesaj: tilfyT('queue_preparing', 'Kuyruk hazırlanıyor…'),
			alt: mod === 'tam' ? tilfyT('full_scan', 'Tam tarama') : tilfyT('new_content', 'Yeni içerikler')
		});
		senkronOverlayGoster(senkronBaslik(platform), tilfyT('queue_preparing', 'Kuyruk hazırlanıyor…'));
		ajaxIstek('tilfy_senkron_baslat', { platform: platform, mod: mod }, 120000).done(function (res) {
			if (!res.success) {
				senkronAktif = false;
				senkronPlatform = '';
				senkronBtnleriSifirla();
				senkronOverlayGizle();
				var hata = (res.data && res.data.mesaj) || tilfyT('sync_start_failed', 'Senkron başlatılamadı.');
				senkronDurumGuncelle({ tip: 'hata', baslik: 'Senkron başlatılamadı', mesaj: hata, alt: '' });
				alert(hata);
				return;
			}
			var bek = res.data && res.data.kuyruk_bekleyen ? res.data.kuyruk_bekleyen : 0;
			senkronDurumGuncelle({
				tip: 'calisiyor',
				baslik: senkronBaslik(platform),
				mesaj: tilfyT('fetching_content', 'İçerikler çekiliyor…'),
				alt: bek > 0 ? ('Kuyrukta ' + bek + ' iş') : 'İlk adım başlatılıyor…'
			});
			$('#tilfy-senkron-durum').text(tilfyT('fetching_content_long', 'İçerikler çekiliyor, bu işlem birkaç dakika sürebilir.'));
			$('#tilfy-senkron-alt').text(bek > 0 ? ('Kuyrukta ' + bek + ' iş') : '');
			arkaPlanKaydet();
			kuyrukAdim().always(function () {
				arkaPlanMotorBaslat();
			});
		}).fail(function () {
			senkronAktif = false;
			senkronPlatform = '';
			senkronBtnleriSifirla();
			senkronOverlayGizle();
			senkronDurumGuncelle({
				tip: 'hata',
				baslik: tilfyT('connection_error', 'Bağlantı hatası'),
				mesaj: tilfyT('sync_connection_error', 'Senkron başlatılamadı. İnternet veya oturum süresini kontrol edin.'),
				alt: ''
			});
			alert('Senkron başlatılamadı. Bağlantınızı kontrol edin.');
		});
	}

	$(document).on('click', '.tilfy-senkron-btn', function (e) {
		e.preventDefault();
		senkronBaslat($(this).data('platform'));
	});

	function overlayOlustur() {
		if (canliOverlay) {
			return canliOverlay;
		}
		canliOverlay = $(
			'<div class="tilfy-canli-overlay" id="tilfy-canli-overlay" aria-live="polite">' +
				'<div class="tilfy-canli-panel">' +
					'<div class="tilfy-canli-panel__ust">' +
						'<h2>' + tilfyT('loading_shares', 'Paylaşımlar yükleniyor') + '</h2>' +
						'<button type="button" class="tilfy-btn tilfy-btn--kucuk tilfy-btn--ghost" id="tilfy-canli-kucult">' + tilfyT('minimize', 'Küçült') + '</button>' +
					'</div>' +
					'<p class="tilfy-canli-aciklama" id="tilfy-canli-aciklama">' + tilfyT('live_overlay_desc', 'Platformlara gönderim devam ediyor. Sayfa yenilenmeden ilerleme burada görünür.') + '</p>' +
					'<div class="tilfy-canli-yuzde"><span>' + tilfyT('overall_progress', 'Genel ilerleme') + '</span><strong id="tilfy-canli-yuzde">0%</strong></div>' +
					'<div class="tilfy-canli-bar"><div class="tilfy-canli-bar__dolgu" id="tilfy-canli-bar"></div></div>' +
					'<div class="tilfy-canli-liste" id="tilfy-canli-liste"></div>' +
					'<div class="tilfy-canli-alt" id="tilfy-canli-alt"></div>' +
				'</div>' +
			'</div>'
		);
		$('body').append(canliOverlay);
		return canliOverlay;
	}

	function overlayGoster() {
		var $overlay = overlayOlustur();
		requestAnimationFrame(function () {
			$overlay.addClass('is-active').removeClass('is-out');
		});
	}

	function overlayGizle() {
		if (!canliOverlay) {
			return;
		}
		canliOverlay.addClass('is-out').removeClass('is-active');
		setTimeout(function () {
			if (canliOverlay) {
				canliOverlay.removeClass('is-active is-out');
			}
		}, 380);
	}

	function overlayGuncelle(veri) {
		var yuzde = veri.genel_yuzde || 0;
		$('#tilfy-canli-yuzde').text(yuzde + '%');
		$('#tilfy-canli-bar').css('width', yuzde + '%');
		var $liste = $('#tilfy-canli-liste');
		$liste.empty();
		(veri.paylasimlar || []).forEach(function (p) {
			var sinif = 'tilfy-canli-oge tilfy-canli-oge--' + (p.hedef_platform || 'diger');
			if (p.durum === 'yuklendi' || p.durum === 'manuel_bekliyor') {
				sinif += ' is-bitti';
			} else if (p.durum === 'zamanlandi') {
				sinif += ' is-zamanlandi';
			} else if (p.durum === 'hata') {
				sinif += ' is-hata';
			} else if (p.durum === 'yukleniyor') {
				sinif += ' is-yukleniyor';
			} else if (p.durum === 'sirada') {
				sinif += ' is-sirada';
			} else if (p.durum === 'beklemede') {
				sinif += ' is-beklemede';
			}
			var durumYazi = p.durum_etiket || p.durum;
			if (p.hata_mesaji) {
				durumYazi = p.hata_mesaji;
			}
			$liste.append(
				'<div class="' + sinif + '">' +
					'<div class="tilfy-canli-oge__ad">' + platformEtiket(p.hedef_platform) + '</div>' +
					'<div class="tilfy-canli-oge__durum">' + durumYazi + ' · ' + (p.yuzde || 0) + '%</div>' +
					'<div class="tilfy-canli-oge__mini"><span style="width:' + (p.yuzde || 0) + '%"></span></div>' +
				'</div>'
			);
		});
		var alt = (veri.tamamlanan || 0) + ' / ' + (veri.toplam || 0) + ' tamamlandı';
		if (veri.kuyruk_bekleyen > 0) {
			alt += ' · kuyrukta ' + veri.kuyruk_bekleyen + ' iş';
		}
		$('#tilfy-canli-alt').text(alt);
		paylasimTabloGuncelle(veri.paylasimlar || []);
		if ($('#tilfy-paylasim-grid').length) {
			paylasimGridGuncelle(veri.paylasimlar || []);
		}
	}

	function paylasimGridGuncelle(liste) {
		if (!$('#tilfy-paylasim-grid').length || !liste.length) {
			return;
		}
		liste.forEach(function (p) {
			var $kart = $('#tilfy-paylasim-grid .tilfy-paylasim-kart[data-paylasim-id="' + p.id + '"]');
			if (!$kart.length) {
				return;
			}
			var durumSinif = 'tilfy-paylasim-kart--' + (p.durum || 'diger');
			if (p.durum === 'yuklendi' || p.durum === 'manuel_bekliyor') {
				durumSinif = 'tilfy-paylasim-kart--basari';
			} else if (p.durum === 'hata') {
				durumSinif = 'tilfy-paylasim-kart--hata';
			}
			$kart.attr('data-durum', p.durum);
			$kart.removeClass(function (i, c) {
				return (c.match(/(^|\s)tilfy-paylasim-kart--\S+/g) || []).join(' ');
			}).addClass(durumSinif);
			var durumYazi = p.durum_etiket || p.durum;
			$kart.find('.tilfy-paylasim-kart__durum-yazi').text(durumYazi);
		});
	}

	function paylasimTabloGuncelle(liste) {
		if (!$('#tilfy-paylasim-tbody').length || !liste.length) {
			return;
		}
		liste.forEach(function (p) {
			var $satir = $('#tilfy-paylasim-tbody tr[data-paylasim-id="' + p.id + '"]');
			if (!$satir.length) {
				return;
			}
			$satir.attr('data-durum', p.durum);
			$satir.find('.tilfy-durum').attr('class', 'tilfy-durum tilfy-durum--' + p.durum).text(p.durum_etiket || p.durum);
			var $hata = $satir.find('.tilfy-hata');
			if (p.hata_mesaji) {
				if ($hata.length) {
					$hata.text(p.hata_mesaji);
				} else {
					$satir.find('td').eq(3).append('<br /><small class="tilfy-hata">' + p.hata_mesaji + '</small>');
				}
			} else {
				$hata.remove();
			}
			if (p.hedef_url) {
				var $linkHucre = $satir.find('td').eq(4);
				if (!$linkHucre.find('a').length) {
					$linkHucre.html('<a class="tilfy-link" href="' + p.hedef_url + '" target="_blank" rel="noopener noreferrer">Aç</a>');
				}
			}
		});
	}

	function durumCek() {
		if (!canliIds.length) {
			return $.Deferred().resolve({ tamamlandi: true, genel_yuzde: 100, paylasimlar: [] }).promise();
		}
		return ajaxIstek('tilfy_paylasim_durum', { ids: canliIds.join(',') }, 60000).then(function (res) {
			return res.success ? res.data : { tamamlandi: false, genel_yuzde: 0, paylasimlar: [] };
		});
	}

	function tilfyMedyaIndiriyorMu(veri) {
		if (veri && veri.medya_indiriyor) {
			return true;
		}
		if (!veri || !veri.isler || !veri.isler.length) {
			return false;
		}
		for (var i = 0; i < veri.isler.length; i++) {
			if (veri.isler[i].islem === 'medya_indir' && veri.isler[i].durum === 'calisiyor') {
				return true;
			}
		}
		return false;
	}

	function kuyrukAdim(timeout) {
		return ajaxIstek('tilfy_kuyruk_adim', {}, timeout || 180000);
	}

	function kuyrukDiagAktifMi() {
		return $('#tilfy-islem-yoneticisi-sayfa').length > 0 || !!window.tilfyKuyrukDiag;
	}

	function kuyrukDiag(asama, ekstra) {
		if (!kuyrukDiagAktifMi()) {
			return;
		}
		var satir = {
			zaman: new Date().toISOString(),
			duraklatYerel: arkaPlanDuraklat,
			sonTikMs: sonDuraklatKullaniciTs ? Date.now() - sonDuraklatKullaniciTs : null,
			arkaPlanTimer: !!arkaPlanTimer,
			islemPoll: !!islemYoneticisiTimer
		};
		if (ekstra) {
			Object.keys(ekstra).forEach(function (anahtar) {
				satir[anahtar] = ekstra[anahtar];
			});
		}
		console.log('[Tilfy Kuyruk]', asama, satir);
	}

	function kuyrukDuraklatDurdur() {
		var vardi = !!arkaPlanTimer;
		if (arkaPlanTimer) {
			clearTimeout(arkaPlanTimer);
			arkaPlanTimer = null;
		}
		kuyrukDiag('motor_durdur', { timerVardi: vardi });
	}

	function duraklatSunucudanSenkron(veri) {
		if (!veri) {
			kuyrukDiag('sunucu_senkron_atla', { neden: 'veri_yok' });
			return;
		}
		if (Date.now() - sonDuraklatKullaniciTs < 5000) {
			kuyrukDiag('sunucu_senkron_atla', {
				neden: 'kullanici_tik_bekleme',
				sunucuDuraklat: !!veri.duraklatildi,
				yerelDuraklat: arkaPlanDuraklat
			});
			return;
		}
		var onceki = arkaPlanDuraklat;
		arkaPlanDuraklat = !!veri.duraklatildi;
		kuyrukDiag('sunucu_senkron', {
			onceki: onceki,
			yeni: arkaPlanDuraklat,
			bekleyen: veri.bekleyen || 0
		});
	}

	function islemYoneticisiKuyrukPatlat(kalan) {
		if (kalan <= 0 || arkaPlanDuraklat) {
			kuyrukDiag('patlat_durdur', { kalan: kalan, duraklat: arkaPlanDuraklat });
			return $.Deferred().resolve().promise();
		}
		kuyrukDiag('patlat_adim', { kalan: kalan });
		return kuyrukAdim().then(function (res) {
			var data = res && res.data ? res.data : null;
			kuyrukDiag('patlat_yanit', {
				kalan: kalan,
				success: !!(res && res.success),
				bos: data ? !!data.bos : null,
				islem: data ? (data.islem || '') : '',
				kuyruk_bekleyen: data ? (data.kuyruk_bekleyen || 0) : null,
				kuyruk_durum: data ? (data.kuyruk_durum || '') : '',
				kuyruk_hata: data ? (data.kuyruk_hata || '') : ''
			});
			if (arkaPlanDuraklat) {
				return res;
			}
			var devam = res && res.success && res.data && !res.data.bos && !res.data.duraklatildi;
			if (devam && kalan > 1) {
				return islemYoneticisiKuyrukPatlat(kalan - 1);
			}
			return res;
		}).fail(function (xhr, durum, hata) {
			kuyrukDiag('patlat_hata', { kalan: kalan, durum: durum, hata: hata || '' });
		});
	}

	function arkaPlanKuyrukTur(kalan) {
		if (kalan <= 0) {
			return;
		}
		kuyrukAdim(180000).always(function () {
			arkaPlanKuyrukTur(kalan - 1);
		});
	}

	function canliDongu(bitisCb) {
		var adim = 0;
		var maxAdim = 900;

		function tur() {
			if (adim++ > maxAdim) {
				$('#tilfy-canli-aciklama').text(tilfyT('live_timeout', 'Zaman aşımı. Paylaşımlar sayfasından kuyruğu kontrol edin.'));
				if (bitisCb) {
					bitisCb(false);
				}
				return;
			}
			kuyrukAdim(180000).always(function () {
				durumCek().done(function (veri) {
					overlayGuncelle(veri);
					if (veri.tamamlandi) {
						var arka = veri.kuyruk_arka || 0;
						if (arka > 0) {
							$('#tilfy-canli-aciklama').text(tilfyT('video_uploaded_background', 'Video yüklendi. Kapak ve playlist arka planda tamamlanıyor.'));
							arkaPlanKuyrukTur(Math.min(arka + 2, 6));
						} else {
							$('#tilfy-canli-aciklama').text(tilfyT('all_shares_complete', 'Tüm paylaşımlar tamamlandı.'));
						}
						setTimeout(function () {
							canliAktif = false;
							overlayGizle();
							if (bitisCb) {
								bitisCb(true);
							}
						}, arka > 0 ? 1200 : 900);
						return;
					}
					canliTimer = setTimeout(tur, 700);
				}).fail(function () {
					canliTimer = setTimeout(tur, 1500);
				});
			});
		}
		tur();
	}

	function canliBaslat(ids, aciklama) {
		if (canliAktif) {
			return;
		}
		canliAktif = true;
		canliIds = ids.slice();
		overlayGoster();
		if (aciklama) {
			$('#tilfy-canli-aciklama').text(aciklama);
		}
		durumCek().done(function (veri) {
			overlayGuncelle(veri);
			arkaPlanKaydet();
			arkaPlanMotorBaslat();
		});
	}

	function studyoVeriTopla($form, zamanla) {
		if ($('input[name="paylasim_modu"]:checked').val() === 'ayri' && studyoAktifPlatform) {
			studyoPlatformDetayKaydet(studyoAktifPlatform);
		}
		var veri = {
			icerik_id: parseInt($form.find('[name="icerik_id"]').val(), 10) || 0,
			medya_dosya_id: parseInt($form.find('[name="medya_dosya_id"]').val(), 10) || 0,
			baslik: $form.find('[name="baslik"]').val() || $('#tilfy-studyosu-baslik').val() || '',
			aciklama: $form.find('[name="aciklama"]').val() || $('#tilfy-studyosu-aciklama').val() || '',
			etiketler: $form.find('[name="etiketler"]').val() || $('#tilfy-studyosu-etiketler').val() || '',
			paylasim_modu: $form.find('[name="paylasim_modu"]:checked').val() || 'ortak',
			platformlar: [],
			platform_ozel: {},
			platform_ayar: {}
		};
		if (zamanla) {
			veri.zamanlama = $('#tilfy-studyosu-zamanlama').val() || '';
		}
		$form.find('.tilfy-platform-toggle:checked:not(:disabled)').each(function () {
			veri.platformlar.push($(this).val());
		});
		$form.find('.tilfy-platform-detay').each(function () {
			var $detay = $(this);
			var platform = $detay.data('platform');
			veri.platform_ozel[platform] = {
				baslik: $detay.find('.tilfy-platform-ozel-baslik').val() || '',
				aciklama: $detay.find('.tilfy-platform-ozel-aciklama').val() || '',
				etiketler: $detay.find('.tilfy-platform-ozel-etiketler').val() || ''
			};
		});
		youtubeKapakAlanTemizle();
		$('.tilfy-pl-kutu').each(function () {
			var $kutu = $(this);
			var platform = $kutu.data('platform');
			if (veri.platformlar.indexOf(platform) === -1) {
				return;
			}
			var ayar = {};
			$kutu.find('[name^="platform_ayar[' + platform + ']"]').each(function () {
				var $alan = $(this);
				var ad = ($alan.attr('name') || '').replace('platform_ayar[' + platform + '][', '').replace(']', '');
				if (!ad) {
					return;
				}
				ayar[ad] = $alan.val();
			});
			if (Object.keys(ayar).length) {
				veri.platform_ayar[platform] = ayar;
			}
		});
		return veri;
	}

	function takvimSayfasinaGit() {
		window.location.href = tilfyAdmin.takvimUrl;
	}

	function studyoPaylasimGonder(zamanla, zorla) {
		var $form = $('#tilfy-studyosu-form');
		var hatalar = studyoDogrula($form);
		if (zamanla) {
			var zaman = $('#tilfy-studyosu-zamanlama').val() || '';
			if (!zaman) {
				hatalar.push('Önce Saati düzenle ile tarih ve saat seçin.');
			} else if (!studyoZamanGelecekMi(zaman)) {
				hatalar.push(tilfyT('schedule_must_be_future', 'Zamanlama gelecekte bir tarih ve saat olmalı.'));
			}
		}
		if (hatalar.length) {
			studyoUyariGoster(hatalar, 'hata');
			if (hatalar[0].indexOf('Video') === 0 || hatalar[0].indexOf('Video') >= 0 || hatalar[0].indexOf('görsel') >= 0) {
				$('.tilfy-medya-alan').addClass('is-hata');
			}
			return;
		}
		studyoUyariGizle();
		$('.tilfy-medya-alan').removeClass('is-hata');
		var $btn = zamanla ? $('#tilfy-studyosu-zamanla') : $('#tilfy-studyosu-paylas');
		var btnMetin = $btn.data('metin') || $btn.text();
		$btn.data('metin', btnMetin);
		$btn.prop('disabled', true).text(zamanla ? tilfyT('scheduling', 'Zamanlanıyor…') : tilfyT('sharing', 'Paylaşılıyor…'));
		studyoUyariGoster([zamanla ? 'Paylaşım takvime ekleniyor…' : 'Paylaşım kuyruğa ekleniyor…'], 'yukleniyor');
		var veri = studyoVeriTopla($form, zamanla);
		if (zorla) {
			veri.yinelenen_zorla = true;
		}
		ajaxIstek('tilfy_paylasim_baslat', { veri: JSON.stringify(veri) }, 120000).done(function (res) {
			if (!res.success || !res.data) {
				studyoUyariGoster([(res.data && res.data.mesaj) || tilfyT('share_create_failed', 'Paylaşım oluşturulamadı.')], 'hata');
				$btn.prop('disabled', false).text(btnMetin);
				return;
			}
			var ids = res.data.paylasim_ids || [];
			if (!ids.length) {
				studyoUyariGoster([tilfyT('share_create_failed', 'Paylaşım oluşturulamadı.')], 'hata');
				$btn.prop('disabled', false).text(btnMetin);
				return;
			}
			var bilgi = yinelenenMesajlari(res.data);
			function devam() {
				studyoUyariGizle();
				$btn.prop('disabled', false).text(btnMetin);
				if (zamanla || res.data.zamanlandi) {
					takvimSayfasinaGit();
					return;
				}
				overlayGoster();
				$('#tilfy-canli-aciklama').text(tilfyT('redirecting_to_shares', 'Paylaşımlar sayfasına geçiliyor...'));
				setTimeout(function () {
					paylasimlarSayfasinaGit(ids);
				}, 450);
			}
			if (bilgi.length) {
				studyoUyariGoster(bilgi, 'bilgi');
				setTimeout(devam, 1200);
				return;
			}
			devam();
		}).fail(function (xhr) {
			var data = xhr.responseJSON && xhr.responseJSON.data;
			if (data && data.kod === 'yinelenen_engellendi') {
				var mesajlar = yinelenenMesajlari(data);
				if (yinelenenZorlaSor(mesajlar)) {
					studyoPaylasimGonder(zamanla, true);
					return;
				}
				studyoUyariGoster(mesajlar.length ? mesajlar : [data.mesaj || tilfyT('duplicate_blocked', 'Yinelenen paylaşım engellendi.')], 'hata');
				$btn.prop('disabled', false).text(btnMetin);
				return;
			}
			var mesaj = tilfyT('share_start_failed', 'Paylaşım başlatılamadı.');
			if (data && data.mesaj) {
				mesaj = data.mesaj;
			}
			studyoUyariGoster([mesaj], 'hata');
			$btn.prop('disabled', false).text(btnMetin);
		});
	}

	function paylasimlarSayfasinaGit(ids) {
		var url = tilfyAdmin.paylasimlarUrl + '&canli=1&ids=' + encodeURIComponent(ids.join(','));
		window.location.href = url;
	}

	function paylasimCanliKuyrukBaslat(ids, aciklama) {
		if (!ids || !ids.length) {
			return;
		}
		canliBaslat(ids, aciklama || tilfyT('shares_queued_on_page', 'Paylaşımlar kuyruğa alındı. Yükleme bu sayfada devam eder.'));
	}

	$('input[name="paylasim_modu"]').on('change', function () {
		modGuncelle();
	});

	$(document).on('change', '.tilfy-platform-toggle', function () {
		platformDetayGuncelle();
		platformlariKaydet();
		modGuncelle();
	});

	$(document).on('click', '.tilfy-studyosu .tilfy-pl-btn', function (e) {
		var $kutu = $(this).closest('.tilfy-pl-kutu');
		if ($kutu.hasClass('is-kopuk') || $kutu.data('hazir') === 0 || $kutu.data('hazir') === '0') {
			e.preventDefault();
			var url = $kutu.data('ayarUrl') || $kutu.attr('data-ayar-url');
			if (url) {
				window.location.href = url;
			}
			return false;
		}
	});

	$(document).on('click', '.tilfy-platform-ayar-btn--kutu', function (e) {
		e.preventDefault();
		e.stopPropagation();
		ayarAccordionToggle($(this));
	});

	$(document).on('click', function (e) {
		if (!$(e.target).closest('.tilfy-platform-ayar-btn--kutu, .tilfy-platform-ayar-popover').length) {
			platformAyarPopoverKapat();
		}
	});

	$('#tilfy-studyosu-form').on('submit', function (e) {
		e.preventDefault();
	});

	$(document).on('click', '#tilfy-studyosu-paylas', function (e) {
		e.preventDefault();
		studyoPaylasimGonder(false);
	});

	$(document).on('click', '#tilfy-studyosu-zamanla', function (e) {
		e.preventDefault();
		var zaman = $('#tilfy-studyosu-zamanlama').val() || '';
		if (!zaman) {
			studyoZamanModalAc();
			return;
		}
		studyoPaylasimGonder(true);
	});

	$(document).on('click', '#tilfy-studyosu-saati-duzenle', function (e) {
		e.preventDefault();
		studyoZamanModalAc();
	});

	$(document).on('click', '#tilfy-studyosu-zaman-kaydet', function () {
		var zaman = $('#tilfy-studyosu-zaman-input').val();
		if (!zaman) {
			window.alert(tilfyT('select_date_time', 'Tarih ve saat seçin.'));
			return;
		}
		if (!studyoZamanGelecekMi(zaman)) {
			window.alert(tilfyT('select_future_date_time', 'Gelecekte bir tarih ve saat seçin.'));
			return;
		}
		$('#tilfy-studyosu-zamanlama').val(zaman);
		studyoZamanBilgiGuncelle();
		studyoZamanModalKapat();
	});

	$(document).on('click', '#tilfy-studyosu-zaman-iptal', function () {
		studyoZamanModalKapat();
	});

	$(document).on('click', '#tilfy-studyosu-zaman-modal', function (e) {
		if (e.target === this) {
			studyoZamanModalKapat();
		}
	});

	$(document).on('click', '#tilfy-platform-editor-onceki', function (e) {
		e.preventDefault();
		studyoEditorPlatformDegistir(-1);
	});

	$(document).on('click', '#tilfy-platform-editor-sonraki', function (e) {
		e.preventDefault();
		studyoEditorPlatformDegistir(1);
	});

	function tilfyKapakSec(opts) {
		opts = opts || {};
		if (typeof wp === 'undefined' || !wp.media) {
			window.alert(tilfyT('media_library_failed', 'Media Library yüklenemedi.'));
			return;
		}
		var cerceve = wp.media({
			title: opts.title || tilfyT('select_cover_image', 'Kapak görseli seç'),
			button: { text: opts.button || 'Seç' },
			library: { type: 'image' },
			multiple: !!opts.multiple
		});
		cerceve.on('select', function () {
			var secim = cerceve.state().get('selection');
			if (opts.multiple) {
				var liste = secim.map(function (m) { return m.toJSON(); });
				if (typeof opts.onSelect === 'function') {
					opts.onSelect(liste);
				}
				return;
			}
			var dosya = secim.first().toJSON();
			if (typeof opts.onSelect === 'function') {
				opts.onSelect(dosya);
			}
		});
		cerceve.open();
	}

	function tilfyKapakHavuzIdsOku() {
		var ham = $('#tilfy-kapak-havuz-ids').val() || '[]';
		try {
			var arr = JSON.parse(ham);
			return Array.isArray(arr) ? arr.map(function (n) { return parseInt(n, 10) || 0; }).filter(Boolean) : [];
		} catch (e) {
			return [];
		}
	}

	function tilfyKapakHavuzIdsYaz(ids) {
		ids = Array.isArray(ids) ? ids : [];
		$('#tilfy-kapak-havuz-ids').val(JSON.stringify(ids));
	}

	function tilfyKapakHavuzListeYenile(ogeler) {
		var $liste = $('#tilfy-kapak-havuz-liste');
		if (!$liste.length) {
			return;
		}
		if (!ogeler || !ogeler.length) {
			$liste.html('<p class="tilfy-bos tilfy-kapak-havuz__bos">Henüz görsel yok.</p>');
			return;
		}
		var html = ogeler.map(function (o) {
			return '<figure class="tilfy-kapak-havuz__oge" data-id="' + o.id + '">' +
				'<img src="' + (o.thumb || o.url) + '" alt="" />' +
				'<button type="button" class="tilfy-kapak-havuz__sil" data-id="' + o.id + '" aria-label="Havuzdan çıkar">×</button>' +
				'</figure>';
		}).join('');
		$liste.html(html);
	}

	$('#tilfy-kapak-havuz-ekle').on('click', function (e) {
		e.preventDefault();
		tilfyKapakSec({
			multiple: true,
			title: tilfyT('add_to_cover_pool', 'Kapak havuzuna görsel ekle'),
			button: 'Havuza ekle',
			onSelect: function (liste) {
				var ids = tilfyKapakHavuzIdsOku();
				var ogeler = (tilfyAdmin.kapakHavuzu || []).slice();
				(liste || []).forEach(function (dosya) {
					if (!dosya || !dosya.id) {
						return;
					}
					if (ids.indexOf(dosya.id) === -1) {
						ids.push(dosya.id);
					}
					var thumb = (dosya.sizes && dosya.sizes.medium && dosya.sizes.medium.url) || dosya.url;
					var url = (dosya.sizes && dosya.sizes.large && dosya.sizes.large.url) || dosya.url;
					var varMi = ogeler.some(function (o) { return o.id === dosya.id; });
					if (!varMi) {
						ogeler.push({ id: dosya.id, thumb: thumb, url: url });
					}
				});
				tilfyKapakHavuzIdsYaz(ids);
				tilfyAdmin.kapakHavuzu = ogeler;
				tilfyKapakHavuzListeYenile(ogeler);
			}
		});
	});

	$(document).on('click', '.tilfy-kapak-havuz__sil', function (e) {
		e.preventDefault();
		var id = parseInt($(this).data('id'), 10) || 0;
		if (!id) {
			return;
		}
		var ids = tilfyKapakHavuzIdsOku().filter(function (n) { return n !== id; });
		tilfyKapakHavuzIdsYaz(ids);
		tilfyAdmin.kapakHavuzu = (tilfyAdmin.kapakHavuzu || []).filter(function (o) { return o.id !== id; });
		tilfyKapakHavuzListeYenile(tilfyAdmin.kapakHavuzu);
	});

	$('#tilfy-medya-sec').on('click', function (e) {
		e.preventDefault();
		var cerceve = wp.media({
			title: tilfyT('select_media', 'Medya seç'),
			button: { text: 'Seç' },
			library: { type: ['image', 'video'] },
			multiple: false
		});
		cerceve.on('select', function () {
			var dosya = cerceve.state().get('selection').first().toJSON();
			$('#tilfy-medya-dosya-id').val(dosya.id);
			var html = '';
			if (dosya.type === 'video') {
				html = '<video src="' + dosya.url + '" controls></video>';
			} else {
				html = '<img src="' + (dosya.sizes && dosya.sizes.medium ? dosya.sizes.medium.url : dosya.url) + '" alt="" />';
			}
			$('#tilfy-medya-onizleme').html(html);
			$('#tilfy-medya-onizleme').closest('.tilfy-medya-alan').removeClass('is-hata');
			studyoUyariGizle();
			if ($('#tilfy-wp-medya-mod').length && !$('#tilfy-wp-medya-mod').prop('hidden')) {
				var $grup = $('#tilfy-wp-medya-mod-grup');
				if (!$grup.prop('hidden')) {
					$grup.find('input[value="yukleyici"]').prop('checked', true);
				}
			}
			if (tilfyAdmin.yuklemeLimit && dosya.filesize && dosya.filesize > tilfyAdmin.yuklemeLimit) {
				studyoUyariGoster([tilfyFmt('upload_limit_exceeded', 'Dosya sunucu limitini (%s) aşıyor. Yükleme başarısız olabilir.', tilfyAdmin.yuklemeLimitMetin || '')], 'hata');
			}
		});
		cerceve.open();
	});

	function icerikSeciliIds() {
		return $('.tilfy-icerik-sec:checked').map(function () {
			return parseInt($(this).val(), 10) || 0;
		}).get().filter(Boolean);
	}

	function icerikKapakAtaAjax(icerikIds, attachmentId) {
		return ajaxIstek('tilfy_icerik_kapak_ata', {
			icerik_idler: icerikIds,
			attachment_id: attachmentId
		}, 120000);
	}

	function icerikMedyaAtaAjax(icerikIds, attachmentId) {
		return ajaxIstek('tilfy_icerik_medya_ata', {
			icerik_idler: icerikIds,
			attachment_id: attachmentId
		}, 120000);
	}

	function icerikOneCikanAjax(icerikIds) {
		return ajaxIstek('tilfy_icerik_one_cikani_kullan', {
			icerik_idler: icerikIds
		}, 120000);
	}

	function tilfyMedyaSec(opts) {
		opts = opts || {};
		if (typeof wp === 'undefined' || !wp.media) {
			window.alert(tilfyT('media_library_failed', 'Media Library yüklenemedi.'));
			return;
		}
		var cerceve = wp.media({
			title: opts.title || tilfyT('new_add', 'Yeni ekle'),
			button: { text: opts.button || 'Seç' },
			library: { type: ['image', 'video'] },
			multiple: false
		});
		cerceve.on('select', function () {
			var dosya = cerceve.state().get('selection').first().toJSON();
			if (typeof opts.onSelect === 'function') {
				opts.onSelect(dosya);
			}
		});
		cerceve.open();
	}

	$('#tilfy-icerik-medya-ata-secili').on('click', function (e) {
		e.preventDefault();
		var ids = icerikSeciliIdler();
		if (!ids.length) {
			window.alert(tilfyT('select_at_least_one_content', 'En az bir içerik seçin.'));
			return;
		}
		tilfyMedyaSec({
			onSelect: function (dosya) {
				icerikMedyaAtaAjax(ids, dosya.id).done(function (res) {
					if (!res.success) {
						window.alert((res.data && res.data.mesaj) || tilfyT('new_add_failed', 'Yeni ekle başarısız.'));
						return;
					}
					window.alert((res.data && res.data.mesaj) || tilfyT('media_added', 'Medya eklendi.'));
					window.location.reload();
				}).fail(function () {
					window.alert(tilfyT('new_add_failed', 'Yeni ekle başarısız.'));
				});
			}
		});
	});

	$('#tilfy-icerik-one-cikan-secili').on('click', function (e) {
		e.preventDefault();
		var ids = icerikSeciliIdler();
		if (!ids.length) {
			window.alert(tilfyT('select_at_least_one_content', 'En az bir içerik seçin.'));
			return;
		}
		icerikOneCikanAjax(ids).done(function (res) {
			if (!res.success) {
				window.alert((res.data && res.data.mesaj) || tilfyT('featured_apply_failed', 'Öne çıkan uygulanamadı.'));
				return;
			}
			window.alert((res.data && res.data.mesaj) || tilfyT('featured_used', 'Öne çıkan kullanıldı.'));
			window.location.reload();
		}).fail(function (xhr) {
			var mesaj = (xhr.responseJSON && xhr.responseJSON.data && xhr.responseJSON.data.mesaj) || tilfyT('featured_apply_failed', 'Öne çıkan uygulanamadı.');
			window.alert(mesaj);
		});
	});

	$(document).on('click', '.tilfy-icerik-medya-ata', function (e) {
		e.preventDefault();
		e.stopPropagation();
		var id = parseInt($(this).data('icerik-id'), 10) || 0;
		if (!id) {
			return;
		}
		tilfyMedyaSec({
			onSelect: function (dosya) {
				icerikMedyaAtaAjax([id], dosya.id).done(function (res) {
					if (!res.success) {
						window.alert((res.data && res.data.mesaj) || tilfyT('new_add_failed', 'Yeni ekle başarısız.'));
						return;
					}
					window.location.reload();
				}).fail(function () {
					window.alert(tilfyT('new_add_failed', 'Yeni ekle başarısız.'));
				});
			}
		});
	});

	$(document).on('click', '.tilfy-icerik-one-cikan', function (e) {
		e.preventDefault();
		e.stopPropagation();
		var id = parseInt($(this).data('icerik-id'), 10) || 0;
		if (!id) {
			return;
		}
		icerikOneCikanAjax([id]).done(function (res) {
			if (!res.success) {
				window.alert((res.data && res.data.mesaj) || tilfyT('featured_apply_failed', 'Öne çıkan uygulanamadı.'));
				return;
			}
			window.location.reload();
		}).fail(function (xhr) {
			var mesaj = (xhr.responseJSON && xhr.responseJSON.data && xhr.responseJSON.data.mesaj) || tilfyT('featured_apply_failed', 'Öne çıkan uygulanamadı.');
			window.alert(mesaj);
		});
	});

	function youtubeKapakAlanTemizle() {
		if ($('#tilfy-yt-tur').val() === 'short') {
			$('#tilfy-yt-kapak-id').val('0');
			$('#tilfy-yt-kapak-onizleme').empty();
			return;
		}
		if (!$('#tilfy-yt-kapak-onizleme').children().length) {
			$('#tilfy-yt-kapak-id').val('0');
		}
	}

	function youtubeTurKapakGuncelle() {
		var short = $('#tilfy-yt-tur').val() === 'short';
		$('#tilfy-yt-kapak-alani').toggleClass('tilfy-is-gizli', short);
		$('#tilfy-yt-short-bilgi').toggleClass('tilfy-is-gizli', !short);
		if (short) {
			$('#tilfy-yt-kapak-id').val('0');
			$('#tilfy-yt-kapak-onizleme').empty();
		}
	}

	$(document).on('change', '#tilfy-yt-tur', youtubeTurKapakGuncelle);
	youtubeTurKapakGuncelle();

	function metaFormatKapakGuncelle($select) {
		var platform = $select.data('platform');
		if (!platform) {
			return;
		}
		var story = $select.val() === 'story';
		$('#tilfy-' + platform + '-kapak-alani').toggleClass('tilfy-is-gizli', story);
		$('#tilfy-' + platform + '-story-bilgi').toggleClass('tilfy-is-gizli', !story);
		if (story) {
			$('#tilfy-' + platform + '-kapak-id').val('0');
			$('#tilfy-' + platform + '-kapak-onizleme').empty();
		}
	}

	$(document).on('change', '.tilfy-meta-format', function () {
		metaFormatKapakGuncelle($(this));
	});
	$('.tilfy-meta-format').each(function () {
		metaFormatKapakGuncelle($(this));
	});

	$(document).on('click', '.tilfy-meta-kapak-sec', function (e) {
		e.preventDefault();
		var platform = $(this).data('platform');
		if (!platform || $('#tilfy-' + platform + '-format').val() === 'story') {
			return;
		}
		var cerceve = wp.media({
			title: tilfyT('cover_image', 'Kapak görseli'),
			button: { text: 'Seç' },
			library: { type: 'image' },
			multiple: false
		});
		cerceve.on('select', function () {
			var dosya = cerceve.state().get('selection').first().toJSON();
			$('#tilfy-' + platform + '-kapak-id').val(dosya.id);
			var url = dosya.sizes && dosya.sizes.medium ? dosya.sizes.medium.url : dosya.url;
			$('#tilfy-' + platform + '-kapak-onizleme').html('<img src="' + url + '" alt="" />');
		});
		cerceve.open();
	});

	$('#tilfy-yt-kapak-sec').on('click', function (e) {
		e.preventDefault();
		if ($('#tilfy-yt-tur').val() === 'short') {
			return;
		}
		var cerceve = wp.media({
			title: tilfyT('cover_image', 'Kapak görseli'),
			button: { text: 'Seç' },
			library: { type: 'image' },
			multiple: false
		});
		cerceve.on('select', function () {
			var dosya = cerceve.state().get('selection').first().toJSON();
			$('#tilfy-yt-kapak-id').val(dosya.id);
			var url = dosya.sizes && dosya.sizes.medium ? dosya.sizes.medium.url : dosya.url;
			$('#tilfy-yt-kapak-onizleme').html('<img src="' + url + '" alt="" />');
		});
		cerceve.open();
	});

	function caprazSecimSiniflari() {
		$('.tilfy-capraz-hedef-opt').each(function () {
			var $opt = $(this);
			$opt.toggleClass('is-selected', $opt.find('input').is(':checked') && !$opt.find('input').is(':disabled'));
		});
	}

	function hedefSeciliChipGuncelle() {
		var $chips = $('#tilfy-hedef-chips');
		var $ozet = $('#tilfy-hedef-detay summary');
		if (!$chips.length) {
			return;
		}
		var secili = [];
		$('input[name="hedef_platformlar[]"]:checked:not(:disabled)').each(function () {
			var $opt = $(this).closest('.tilfy-capraz-hedef-opt');
			secili.push({
				val: $(this).val(),
				text: $opt.find('span').text()
			});
		});
		$chips.empty();
		if (secili.length) {
			secili.forEach(function (s) {
				$chips.append('<span class="tilfy-hedef-chip">' + s.text + '</span>');
			});
			if ($ozet.length) {
				$ozet.text(secili.length + ' platform seçili');
			}
		} else if ($ozet.length) {
			$ozet.text(tilfyT('select_platform', 'Platform seçin…'));
		}
	}

	function seciliHedefPlatformlar() {
		var hedefler = [];
		$('input[name="hedef_platformlar[]"]:checked:not(:disabled)').each(function () {
			hedefler.push($(this).val());
		});
		return hedefler;
	}

	function syncPlatformListesi($oge) {
		var ham = String($oge.data('sync') || '');
		if (!ham) {
			return [];
		}
		return ham.split(',').map(function (parca) {
			return parca.trim();
		}).filter(Boolean);
	}

	function yinelenenCakisanlar($oge, hedefler) {
		var sync = syncPlatformListesi($oge);
		if (!hedefler.length || !sync.length) {
			return [];
		}
		return hedefler.filter(function (platform) {
			return sync.indexOf(platform) !== -1;
		});
	}

	function yinelenenFiligranGuncelle() {
		var koruma = tilfyAdmin.yinelenenKoruma || 'uyari';
		var hedefler = seciliHedefPlatformlar();
		var aktif = koruma !== 'kapali' && hedefler.length > 0;
		$('.tilfy-icerik-oge').each(function () {
			var $oge = $(this);
			var cakisan = aktif ? yinelenenCakisanlar($oge, hedefler) : [];
			var goster = cakisan.length > 0;
			$oge.toggleClass('is-yinelenen', goster);
			var $filigran = $oge.find('.tilfy-yinelenen-filigran');
			if (!$filigran.length) {
				return;
			}
			if (!goster) {
				$filigran.each(function () {
					var $f = $(this);
					$f.find('.tilfy-yinelenen-filigran__metin').text('');
					if (!$f.hasClass('tilfy-yinelenen-filigran--liste')) {
						$f.prop('hidden', true);
					}
				});
				return;
			}
			var metin = cakisan.map(platformEtiket).join(' · ');
			$filigran.each(function () {
				var $f = $(this);
				$f.find('.tilfy-yinelenen-filigran__metin').text(metin);
				if (!$f.hasClass('tilfy-yinelenen-filigran--liste')) {
					$f.prop('hidden', false);
				}
			});
		});
		var liste = sepetOku();
		$('.tilfy-sepet-oge').each(function () {
			var id = parseInt($(this).data('id'), 10);
			var oge = liste.filter(function (x) { return x.id === id; })[0];
			if (!oge) {
				return;
			}
			var sync = String(oge.sync || '').split(',').map(function (parca) {
				return parca.trim();
			}).filter(Boolean);
			var cakisan = aktif ? hedefler.filter(function (platform) {
				return sync.indexOf(platform) !== -1;
			}) : [];
			$(this).toggleClass('is-yinelenen', cakisan.length > 0);
			var $uyari = $(this).find('.tilfy-sepet-oge__yinelenen');
			if (!cakisan.length) {
				$uyari.remove();
				return;
			}
			var metin = 'Yinelenen: ' + cakisan.map(platformEtiket).join(', ');
			if (!$uyari.length) {
				$(this).find('.tilfy-sepet-oge__metin').append('<small class="tilfy-sepet-oge__yinelenen"></small>');
				$uyari = $(this).find('.tilfy-sepet-oge__yinelenen');
			}
			$uyari.text(metin);
		});
	}

	function yinelenenMesajlari(data) {
		if (!data) {
			return [];
		}
		var satirlar = [];
		var goruldu = {};
		['engellenen', 'uyarilar'].forEach(function (anahtar) {
			(data[anahtar] || []).forEach(function (oge) {
				var mesaj = '';
				if (typeof oge === 'string') {
					mesaj = oge;
				} else if (oge && oge.mesaj) {
					mesaj = String(oge.mesaj);
				}
				if (mesaj && !goruldu[mesaj]) {
					goruldu[mesaj] = true;
					satirlar.push(mesaj);
				}
			});
		});
		return satirlar;
	}

	function yinelenenZorlaSor(mesajlar) {
		var metin = 'Yinelenen paylaşım tespit edildi.\n\n' + (mesajlar.length ? mesajlar.join('\n') : 'Bu içerik hedef platformda zaten var.') + '\n\nYine de paylaşmak istiyor musunuz?';
		return window.confirm(metin);
	}

	function caprazPaylasimIstek(veri, $btn, btnMetin) {
		var $paylasBtns = $('#tilfy-capraz-gonder, #tilfy-sepet-paylas, #tilfy-capraz-zamanla, #tilfy-capraz-zaman-kaydet');
		var btnDurum = [];
		$paylasBtns.each(function () {
			var $b = $(this);
			var metin = $b.data('metin') || $b.text();
			$b.data('metin', metin);
			btnDurum.push({ $el: $b, metin: metin });
			$b.prop('disabled', true);
		});
		if ($btn && $btn.length) {
			$btn.text(tilfyT('adding_to_queue', 'Kuyruğa alınıyor…'));
		}
		caprazUyariGoster(['Paylaşımlar kuyruğa ekleniyor, lütfen bekleyin.'], 'yukleniyor');
		function paylasBtnsSerbest() {
			btnDurum.forEach(function (d) {
				d.$el.prop('disabled', false).text(d.metin);
			});
		}
		var yinelenenYeniden = false;
		ajaxIstek('tilfy_capraz_baslat', { veri: JSON.stringify(veri) }, 300000).done(function (res) {
			if (!res.success || !res.data) {
				caprazUyariGoster([(res.data && res.data.mesaj) || tilfyT('share_create_failed', 'Paylaşım oluşturulamadı.')], 'hata');
				return;
			}
			var ids = res.data.paylasim_ids || [];
			if (!ids.length) {
				caprazUyariGoster([tilfyT('share_create_failed', 'Paylaşım oluşturulamadı.')], 'hata');
				return;
			}
			var bilgi = yinelenenMesajlari(res.data);
			function caprazZamanlamaBasariMesaji(done) {
				var mesajlar = bilgi.slice();
				ajaxIstek('tilfy_paylasim_durum', { ids: ids.join(',') }, 60000).done(function (durumRes) {
					var z = 0;
					var s = 0;
					if (durumRes.success && durumRes.data && durumRes.data.paylasimlar) {
						durumRes.data.paylasimlar.forEach(function (p) {
							if (p.durum === 'zamanlandi') {
								z++;
							} else if (p.durum === 'sirada') {
								s++;
							}
						});
					}
					var parcalar = [];
					if (z > 0) {
						parcalar.push(z + ' zamanlandı');
					}
					if (s > 0) {
						parcalar.push(s + ' sırada');
					}
					if (parcalar.length) {
						mesajlar.push(parcalar.join(', ') + '.');
					} else {
						mesajlar.push(tilfyT('schedule_saved', 'Zamanlama kaydedildi.'));
					}
					done(mesajlar);
				}).fail(function () {
					mesajlar.push(tilfyT('schedule_saved', 'Zamanlama kaydedildi.'));
					done(mesajlar);
				});
			}
			function devam() {
				paylasimSonrasiTemizle(veri.icerik_idler);
				if (veri.zamanlama) {
					caprazZamanlamaBasariMesaji(function (mesajlar) {
						caprazUyariGoster(mesajlar, 'bilgi');
						setTimeout(function () {
							takvimSayfasinaGit();
						}, 1200);
					});
					return;
				}
				caprazUyariGoster([]);
				overlayGoster();
				$('#tilfy-canli-aciklama').text(tilfyT('redirecting_to_shares', 'Paylaşımlar sayfasına geçiliyor...'));
				setTimeout(function () {
					paylasimlarSayfasinaGit(ids);
				}, 450);
			}
			if (bilgi.length) {
				caprazUyariGoster(bilgi, 'yinelenen');
				setTimeout(devam, 1200);
				return;
			}
			devam();
		}).fail(function (xhr) {
			var data = xhr.responseJSON && xhr.responseJSON.data;
			if (data && data.kod === 'yinelenen_engellendi') {
				var mesajlar = yinelenenMesajlari(data);
				if (yinelenenZorlaSor(mesajlar)) {
					yinelenenYeniden = true;
					veri.yinelenen_zorla = true;
					caprazPaylasimIstek(veri, $btn, btnMetin);
					return;
				}
				caprazUyariGoster(mesajlar.length ? mesajlar : [data.mesaj || tilfyT('duplicate_blocked', 'Yinelenen paylaşım engellendi.')], 'hata');
			} else {
				var mesaj = tilfyT('share_start_failed', 'Paylaşım başlatılamadı.');
				if (data && data.mesaj) {
					mesaj = data.mesaj;
				}
				caprazUyariGoster([mesaj], 'hata');
			}
		}).always(function () {
			if (!yinelenenYeniden) {
				paylasBtnsSerbest();
			}
		});
	}

	function tilfyUrlSekme() {
		try {
			return new URLSearchParams(window.location.search).get('sekme') || 'tumu';
		} catch (e) {
			return 'tumu';
		}
	}

	function tilfySekmePlatformlari() {
		return ['instagram', 'facebook', 'youtube', 'linkedin', 'tiktok', 'threads'];
	}

	function caprazKaynakGuncelle(opts) {
		opts = opts || {};
		var kaynak = $('#tilfy-kaynak-select').val() || 'tumu';
		var sekme = tilfyUrlSekme();
		var kaynakPlatform = kaynak !== 'tumu';
		$('.tilfy-capraz-hedef-opt').each(function () {
			var $opt = $(this);
			var platform = $opt.data('platform');
			var kapali = kaynakPlatform && platform === kaynak;
			$opt.toggleClass('is-disabled', kapali);
			$opt.find('input').prop('disabled', kapali);
			if (kapali) {
				$opt.find('input').prop('checked', false);
			}
		});
		caprazSecimSiniflari();
		hedefSeciliChipGuncelle();
		caprazAyarGuncelle();
		yinelenenFiligranGuncelle();
		if (!opts.atlaYonlendirme) {
			var hedefSekme = kaynakPlatform ? kaynak : 'tumu';
			if (sekme !== hedefSekme) {
				var url = new URL(window.location.href);
				url.searchParams.set('sekme', hedefSekme);
				url.searchParams.set('sayfa', '1');
				window.location.assign(url.toString());
			}
		}
	}

	function icerikOgeVerisi($oge) {
		return {
			id: parseInt($oge.data('icerik-id'), 10),
			kaynak: String($oge.data('kaynak') || ''),
			baslik: String($oge.data('baslik') || ''),
			kapak: String($oge.data('kapak') || ''),
			medya: String($oge.data('medya') || ''),
			tarih: String($oge.data('tarih') || ''),
			studyosu: String($oge.data('studyosu') || ''),
			sync: String($oge.data('sync') || '')
		};
	}

	function sepetOku() {
		try {
			var ham = localStorage.getItem(SEPET_KEY);
			return ham ? JSON.parse(ham) : [];
		} catch (e) {
			return [];
		}
	}

	function sepetYaz(liste) {
		try {
			localStorage.setItem(SEPET_KEY, JSON.stringify(liste));
		} catch (e) {
			/* ignore */
		}
	}

	function sepetVarMi(id) {
		return sepetOku().some(function (oge) {
			return oge.id === id;
		});
	}

	function sepetEkle(oge) {
		if (!oge || !oge.id) {
			return;
		}
		var liste = sepetOku();
		if (liste.some(function (x) { return x.id === oge.id; })) {
			sepetYaz(liste.map(function (x) {
				return x.id === oge.id ? oge : x;
			}));
			return;
		}
		liste.push(oge);
		sepetYaz(liste);
	}

	function sepetKaldir(id) {
		sepetYaz(sepetOku().filter(function (oge) {
			return oge.id !== id;
		}));
	}

	function sepetTemizle() {
		sepetYaz([]);
		sepetUiGuncelle();
	}

	function sepetSyncYenile() {
		var liste = sepetOku();
		var degisti = false;
		liste.forEach(function (oge) {
			var $row = $('.tilfy-icerik-oge[data-icerik-id="' + oge.id + '"]');
			if (!$row.length) {
				return;
			}
			var guncel = icerikOgeVerisi($row);
			if (guncel.sync && JSON.stringify(guncel.sync) !== JSON.stringify(oge.sync || [])) {
				oge.sync = guncel.sync;
				degisti = true;
			}
		});
		if (degisti) {
			sepetYaz(liste);
		}
	}

	function sepetUiGuncelle() {
		var liste = sepetOku();
		var idler = liste.map(function (x) { return x.id; });
		$('#tilfy-sepet-say').text(liste.length);
		$('.tilfy-icerik-oge').each(function () {
			var id = parseInt($(this).data('icerik-id'), 10);
			var sepette = idler.indexOf(id) !== -1;
			$(this).toggleClass('is-sepette', sepette);
		});
		var paylasIds = caprazIcerikIdleri('sepet');
		$('#tilfy-sepet-paylas, #tilfy-capraz-gonder').prop('disabled', paylasIds.length === 0);
		var $liste = $('#tilfy-sepet-liste');
		if (!$liste.length) {
			return;
		}
		$liste.empty();
		if (!liste.length) {
			$liste.html('<p class="tilfy-bos">' + tilfyT('cart_empty', 'Sepet boş. Listeden veya ızgaradan içerik seçin.') + '</p>');
			return;
		}
		liste.forEach(function (oge) {
			var kapakSrc = oge.kapak ? tilfyMetinEsc(oge.kapak) : '';
			var kapak = kapakSrc ? '<img src="' + kapakSrc + '" alt="" class="tilfy-sepet-oge__kapak" />' : '<span class="tilfy-sepet-oge__kapak tilfy-sepet-oge__kapak--bos"></span>';
			var baslik = tilfyMetinEsc(oge.baslik || ('#' + oge.id));
			var tarih = oge.tarih ? '<small>' + tilfyMetinEsc(oge.tarih) + '</small>' : '';
			$liste.append(
				'<div class="tilfy-sepet-oge" data-id="' + oge.id + '">' +
					kapak +
					'<div class="tilfy-sepet-oge__metin">' +
						'<strong>' + baslik + '</strong>' +
						tarih +
					'</div>' +
					'<button type="button" class="tilfy-sepet-oge__sil" data-id="' + oge.id + '" aria-label="Kaldır">×</button>' +
				'</div>'
			);
		});
		yinelenenFiligranGuncelle();
	}

	function sepetSayfaSenkron() {
		sepetUiGuncelle();
	}

	function sepetDrawerAc() {
		$('#tilfy-sepet-drawer').addClass('is-open').attr('aria-hidden', 'false');
		sepetUiGuncelle();
	}

	function sepetDrawerKapat() {
		$('#tilfy-sepet-drawer').removeClass('is-open').attr('aria-hidden', 'true');
	}

	$(document).on('change', '#tilfy-kaynak-select', function () {
		caprazKaynakGuncelle();
	});
	$(document).on('change', 'input[name="hedef_platformlar[]"]', function () {
		caprazSecimSiniflari();
		hedefSeciliChipGuncelle();
		caprazAyarGuncelle();
		yinelenenFiligranGuncelle();
	});

	$(document).on('click', function (e) {
		var $detay = $('#tilfy-hedef-detay');
		if (!$detay.length || !$detay.prop('open')) {
			return;
		}
		if ($(e.target).closest('#tilfy-hedef-detay').length) {
			return;
		}
		$detay.prop('open', false).removeAttr('open');
	});

	function caprazZamanModalAcikMi() {
		var $modal = $('#tilfy-capraz-zaman-modal');
		return $modal.length && !$modal.prop('hidden');
	}

	function caprazZamanHataGoster(hatalar) {
		var $hata = $('#tilfy-capraz-zaman-hata');
		if (!$hata.length) {
			return;
		}
		if (!hatalar || !hatalar.length) {
			$hata.prop('hidden', true).empty().removeClass('is-hata');
			return;
		}
		var html = '<strong>Hata</strong><ul>';
		hatalar.forEach(function (satir) {
			html += '<li>' + satir + '</li>';
		});
		html += '</ul>';
		$hata.addClass('is-hata').html(html).prop('hidden', false);
	}

	function caprazZamanIcerikDogrula() {
		var veri = caprazVeriTopla('zamanla');
		var hatalar = [];
		if (!veri.icerik_idler.length) {
			hatalar.push(tilfyT('select_content_schedule', 'Zamanlamak için içerik seçin.'));
		}
		if (!veri.hedef_platformlar.length) {
			hatalar.push('En az bir hedef platform seçin.');
		}
		return hatalar;
	}

	function caprazZamanModalMetaGuncelle() {
		var $meta = $('#tilfy-capraz-zaman-meta');
		if (!$meta.length) {
			$meta = $('<p class="tilfy-meta" id="tilfy-capraz-zaman-meta"></p>');
			$('#tilfy-capraz-zaman-baslik').after($meta);
		}
		var adet = caprazIcerikIdleri('zamanla').length;
		var norm = zamanlamaGunlukAdetOku($('#tilfy-capraz-gunluk-adet'), $('#tilfy-capraz-arasi-dk'));
		if (adet > 1) {
			var meta;
			if (norm.arasi > 0 && norm.gunluk <= 1) {
				meta = tilfyFmt('schedule_meta_sequential', 'Sıralı kuyruk: her video yükleme bitince %d dk beklenir; aynı anda paralel gönderilmez.', norm.arasi);
			} else if (norm.gunluk > 1) {
				meta = norm.arasi > 0
					? tilfyFmt('schedule_meta_spread_interval', 'Yayılım: günde %d içerik, %d dk arayla; sonraki güne yayılır.', norm.gunluk, norm.arasi)
					: tilfyFmt('schedule_meta_spread_default_interval', 'Yayılım: günde %d içerik, 1 dk arayla; sonraki güne yayılır.', norm.gunluk);
			} else if (norm.arasi === 0) {
				meta = tilfyT('schedule_meta_daily_one', 'Her gün aynı saatte bir içerik zamanlanır (günde 1).');
			}
			$meta.text(meta).prop('hidden', false);
		} else {
			$meta.prop('hidden', true).empty();
		}
	}

	function caprazZamanModalAc() {
		var hatalar = caprazZamanIcerikDogrula();
		if (hatalar.length) {
			caprazUyariGoster(hatalar, 'hata');
			return;
		}
		caprazZamanHataGoster([]);
		var varsayilanArasi = (typeof tilfyAdmin !== 'undefined' && tilfyAdmin.caprazSiraliArasiDk != null)
			? parseInt(tilfyAdmin.caprazSiraliArasiDk, 10) : 80;
		if (isNaN(varsayilanArasi) || varsayilanArasi < 0) {
			varsayilanArasi = 80;
		}
		$('#tilfy-capraz-zaman-input').val('');
		$('#tilfy-capraz-gunluk-adet').val('1');
		$('#tilfy-capraz-arasi-dk').val(String(varsayilanArasi));
		$('#tilfy-capraz-zaman-modal').prop('hidden', false);
		caprazZamanModalMetaGuncelle();
		zamanlamaYayilimOnizlemeGuncelle('capraz');
	}

	function caprazZamanModalKapat() {
		$('#tilfy-capraz-zaman-modal').prop('hidden', true);
	}

	function zamanlamaGunlukAdetOku($gunluk, $arasi) {
		var gunluk = parseInt($gunluk.val(), 10);
		var arasi = parseInt($arasi.val(), 10);
		if (!gunluk || gunluk < 1) {
			gunluk = 1;
		}
		if (gunluk > 50) {
			gunluk = 50;
		}
		if (isNaN(arasi) || arasi < 0) {
			arasi = 0;
		}
		if (arasi > 1440) {
			arasi = 1440;
		}
		return { gunluk: gunluk, arasi: arasi };
	}

	function zamanlamaTarihKisa(ts) {
		var d = new Date(ts);
		if (isNaN(d.getTime())) {
			return '';
		}
		var gun = ('0' + d.getDate()).slice(-2);
		var ay = ('0' + (d.getMonth() + 1)).slice(-2);
		var yil = d.getFullYear();
		var saat = ('0' + d.getHours()).slice(-2);
		var dk = ('0' + d.getMinutes()).slice(-2);
		return gun + '.' + ay + '.' + yil + ' ' + saat + ':' + dk;
	}

	function zamanlamaSlotTs(baslangic, sira, gunluk, arasi) {
		var bas = new Date(baslangic.replace(' ', 'T'));
		if (isNaN(bas.getTime())) {
			return 0;
		}
		gunluk = parseInt(gunluk, 10) || 1;
		arasi = parseInt(arasi, 10) || 0;
		var arasiSn = arasi > 0 ? arasi * 60000 : (gunluk > 1 ? 60000 : 0);
		var gunIndex = Math.floor(sira / gunluk);
		var slotInDay = sira % gunluk;
		var gunTs = bas.getTime();
		if (gunIndex > 0) {
			var gunDt = new Date(bas.getTime());
			gunDt.setDate(gunDt.getDate() + gunIndex);
			gunTs = gunDt.getTime();
		}
		return gunTs + (slotInDay * arasiSn);
	}

	function zamanlamaModAciklama(adet, gunluk, arasi) {
		adet = parseInt(adet, 10) || 0;
		gunluk = parseInt(gunluk, 10) || 1;
		arasi = parseInt(arasi, 10) || 0;
		if (adet <= 1) {
			return '';
		}
		if (arasi > 0 && gunluk === 1) {
			return tilfyT('schedule_mode_sequential', 'Sıralı kuyruk: her video yükleme bitince sıradaki başlar (paralel değil).');
		}
		if (gunluk === 1 && arasi === 0) {
			return tilfyT('schedule_mode_daily_same', 'Her gün aynı saatte bir içerik (günde 1).');
		}
		if (gunluk > 1) {
			if (arasi === 0) {
				return tilfyFmt('schedule_mode_spread_count', 'Yayılım: günde %d paylaşım, takvime dağılır.', gunluk);
			}
			return tilfyFmt('schedule_mode_spread_intervals', 'Yayılım: günde %d paylaşım, sabit aralıklarla takvime dağılır.', gunluk);
		}
		return tilfyT('schedule_mode_spread_default', 'Yayılım: paylaşımlar seçilen başlangıçtan itibaren zaman slotlarına dağılır.');
	}

	function zamanlamaYayilimMetni(adet, baslangic, gunluk, arasi) {
		adet = parseInt(adet, 10) || 0;
		gunluk = parseInt(gunluk, 10) || 1;
		arasi = parseInt(arasi, 10) || 0;
		if (adet <= 0) {
			return '';
		}
		if (adet === 1) {
			return tilfyT('schedule_one_item', '1 içerik - seçilen tarihte yayınlanır.');
		}
		if (!baslangic) {
			var bos = tilfyFmt('schedule_pick_first', '%d içerik - ilk tarihi seçin; özet burada görünür.', adet);
			var modBos = zamanlamaModAciklama(adet, gunluk, arasi);
			return modBos ? bos + ' ' + modBos : bos;
		}
		var ilkTs = zamanlamaSlotTs(baslangic, 0, gunluk, arasi);
		var metin;
		var siraliKuyruk = adet > 1 && arasi > 0 && gunluk === 1;
		var yayilimSlot = gunluk > 1 || (arasi > 0 && gunluk > 1);
		if (siraliKuyruk) {
			metin = tilfyFmt('schedule_sequential_wait', '%d içerik · sıralı kuyruk (her video bitince %d dk bekleyip sonraki)', adet, arasi);
		} else if (gunluk === 1 && arasi === 0) {
			metin = tilfyFmt('schedule_daily_one', '%d içerik · her gün aynı saatte (günde 1)', adet);
		} else {
			metin = tilfyFmt('schedule_spread_short', '%d içerik · yayılım', adet);
			if (yayilimSlot && gunluk > 1) {
				metin += tilfyFmt('schedule_spread_max_day', ' · günde en fazla %d', gunluk);
			}
		}
		if (ilkTs) {
			metin += tilfyFmt('schedule_first_at', ' · ilki %s', zamanlamaTarihKisa(ilkTs));
		}
		var mod = zamanlamaModAciklama(adet, gunluk, arasi);
		if (mod) {
			metin += ' · ' + mod;
		}
		return metin;
	}

	function zamanlamaYayilimOnizlemeGuncelle(kaynak) {
		if (kaynak === 'capraz') {
			var $gunluk = $('#tilfy-capraz-gunluk-adet');
			var norm = zamanlamaGunlukAdetOku($gunluk, $('#tilfy-capraz-arasi-dk'));
			var $yardim = $('#tilfy-capraz-gunluk-yardim');
			if (norm.arasi > 0 && norm.gunluk <= 1) {
				$gunluk.prop('disabled', true);
				if ($yardim.length) {
					$yardim.text(tilfyT('sequential_queue_help', 'Sıralı kuyruk: günde 1 video; yükleme bitince aralıkla sıradaki başlar.')).prop('hidden', false);
				}
			} else {
				$gunluk.prop('disabled', false);
				if ($yardim.length) {
					if (norm.arasi > 0 && norm.gunluk > 1) {
						$yardim.text(tilfyFmt('spread_schedule_help_full', 'Yayılım: günde %d video, %d dk arayla; sonraki gün devam eder.', norm.gunluk, norm.arasi)).prop('hidden', false);
					} else {
						$yardim.prop('hidden', true).empty();
					}
				}
			}
			var adet = caprazIcerikIdleri('zamanla').length;
			var $kutu = $('#tilfy-capraz-yayilim-onizleme');
			var metin = zamanlamaYayilimMetni(adet, $('#tilfy-capraz-zaman-input').val() || '', norm.gunluk, norm.arasi);
			if (!metin) {
				$kutu.prop('hidden', true).empty();
				return;
			}
			$kutu.html('<p>' + metin + '</p>').prop('hidden', false);
			caprazZamanModalMetaGuncelle();
			return;
		}
		if (kaynak === 'takvim') {
			var $gunlukT = $('#tilfy-takvim-gun-toplu-gunluk');
			var normT = zamanlamaGunlukAdetOku($gunlukT, $('#tilfy-takvim-gun-toplu-arasi'));
			if (normT.arasi > 0 && normT.gunluk <= 1) {
				$gunlukT.prop('disabled', true);
			} else {
				$gunlukT.prop('disabled', false);
			}
			var secili = takvimSeciliIdleriAl().length;
			var toplam = $('.tilfy-takvim-gun-toplu-sec:not(:disabled)').length;
			var adetT = secili > 0 ? secili : toplam;
			var normT = zamanlamaGunlukAdetOku($('#tilfy-takvim-gun-toplu-gunluk'), $('#tilfy-takvim-gun-toplu-arasi'));
			var $kutuT = $('#tilfy-takvim-gun-toplu-yayilim');
			var metinT = zamanlamaYayilimMetni(adetT, $('#tilfy-takvim-gun-toplu-zaman').val() || '', normT.gunluk, normT.arasi);
			if (!metinT) {
				$kutuT.prop('hidden', true).empty();
				return;
			}
			if (secili > 0 && secili < toplam) {
				metinT += ' (seçili ' + secili + ' paylaşım)';
			}
			$kutuT.html('<p>' + metinT + '</p>').prop('hidden', false);
		}
	}

	function caprazZamanlaGonder() {
		var veri = caprazVeriTopla('zamanla');
		var hatalar = [];
		if (!veri.icerik_idler.length) {
			hatalar.push(tilfyT('select_content_schedule', 'Zamanlamak için içerik seçin.'));
		}
		if (!veri.hedef_platformlar.length) {
			hatalar.push('En az bir hedef platform seçin.');
		}
		var zaman = $('#tilfy-capraz-zaman-input').val() || '';
		if (!zaman) {
			hatalar.push(tilfyT('select_date_time', 'Tarih ve saat seçin.'));
		} else if (!studyoZamanGelecekMi(zaman)) {
			hatalar.push(tilfyT('schedule_must_be_future', 'Zamanlama gelecekte bir tarih ve saat olmalı.'));
		}
		if (hatalar.length) {
			if (caprazZamanModalAcikMi()) {
				caprazZamanHataGoster(hatalar);
			} else {
				caprazUyariGoster(hatalar, 'hata');
			}
			return;
		}
		caprazZamanHataGoster([]);
		veri.zamanlama = zaman;
		var norm = zamanlamaGunlukAdetOku($('#tilfy-capraz-gunluk-adet'), $('#tilfy-capraz-arasi-dk'));
		veri.gunluk_adet = norm.gunluk;
		veri.paylasim_arasi_dakika = norm.arasi;
		caprazZamanModalKapat();
		var $btn = $('#tilfy-capraz-zamanla');
		var btnMetin = $btn.data('metin') || $btn.text();
		$btn.data('metin', btnMetin);
		caprazPaylasimIstek(veri, $btn, btnMetin);
	}

	$(document).on('click', '#tilfy-capraz-zamanla', function (e) {
		e.preventDefault();
		caprazZamanModalAc();
	});

	$(document).on('input change', '#tilfy-capraz-zaman-input, #tilfy-capraz-gunluk-adet, #tilfy-capraz-arasi-dk', function () {
		zamanlamaYayilimOnizlemeGuncelle('capraz');
	});

	$(document).on('click', '#tilfy-capraz-zaman-kaydet', function () {
		caprazZamanlaGonder();
	});

	$(document).on('click', '#tilfy-capraz-zaman-iptal', function () {
		caprazZamanModalKapat();
	});

	$(document).on('click', '#tilfy-capraz-zaman-modal', function (e) {
		if (e.target === this) {
			caprazZamanModalKapat();
		}
	});

	function caprazAyarGuncelle() {
		var hedefler = [];
		$('input[name="hedef_platformlar[]"]:checked:not(:disabled)').each(function () {
			hedefler.push($(this).val());
		});
		$('#tilfy-capraz-ayarlar').toggleClass('tilfy-is-gizli', hedefler.length === 0);
		$('.tilfy-capraz-ayar-blok').each(function () {
			var platform = $(this).data('platform');
			$(this).toggleClass('tilfy-is-gizli', hedefler.indexOf(platform) === -1);
		});
		if (hedefler.indexOf('youtube') !== -1) {
			youtubeListeleriYukle();
		}
		$('.tilfy-meta-format').each(function () {
			metaFormatKapakGuncelle($(this));
		});
		if ($('#tilfy-yt-tur').length) {
			youtubeTurKapakGuncelle();
		}
	}

	function caprazUyariGoster(hatalar, tip) {
		var $kutu = $('#tilfy-capraz-dogrulama');
		if (!$kutu.length) {
			if (hatalar && hatalar.length) {
				window.alert(hatalar.join('\n'));
			}
			return;
		}
		if (!hatalar || !hatalar.length) {
			$kutu.prop('hidden', true).empty().removeClass('is-hata is-bilgi is-yukleniyor');
			return;
		}
		var baslik = tilfyT('missing_info', 'Eksik bilgi');
		if (tip === 'yukleniyor') {
			baslik = 'İşleniyor';
		} else if (tip === 'bilgi') {
			baslik = 'Tamamlandı';
		} else if (tip === 'yinelenen') {
			baslik = tilfyT('duplicate_share', 'Yinelenen paylaşım');
		} else if (tip === 'hata') {
			baslik = 'Hata';
		}
		var html = '<strong>' + baslik + '</strong><ul>';
		hatalar.forEach(function (satir) {
			html += '<li>' + satir + '</li>';
		});
		html += '</ul>';
		$kutu
			.removeClass('is-hata is-bilgi is-yukleniyor')
			.addClass(tip === 'yukleniyor' ? 'is-yukleniyor' : (tip === 'bilgi' || tip === 'yinelenen' ? 'is-bilgi' : 'is-hata'))
			.html(html)
			.prop('hidden', false);
	}

	function caprazIcerikIdleri(mod) {
		if (mod === 'zamanla') {
			return icerikSeciliIdler();
		}
		return sepetOku().map(function (oge) {
			return oge.id;
		}).filter(function (id, i, arr) {
			return id > 0 && arr.indexOf(id) === i;
		});
	}

	function icerikSecimTemizle() {
		$('.tilfy-icerik-sec:checked').prop('checked', false);
		$('.tilfy-grid-kart.is-secili').removeClass('is-secili');
		$('.tilfy-grid-kart__cerceve[aria-pressed="true"]').attr('aria-pressed', 'false');
		icerikTumuSecUiGuncelle();
	}

	function icerikSayfaOgeSayisi() {
		var liste = $('.tilfy-tablo-wrap:visible .tilfy-icerik-sec').length;
		if (liste) {
			return liste;
		}
		return $('.tilfy-grid-wrap:visible .tilfy-grid-kart.tilfy-icerik-oge').length;
	}

	function icerikSeciliSayisi() {
		if ($('.tilfy-tablo-wrap:visible').length) {
			return $('.tilfy-tablo-wrap:visible .tilfy-icerik-sec:checked').length;
		}
		return $('.tilfy-grid-wrap:visible .tilfy-grid-kart.is-secili').length;
	}

	function icerikTumuSecUiGuncelle() {
		var $btn = $('#tilfy-icerik-tumu-sec');
		if (!$btn.length) {
			return;
		}
		var toplam = icerikSayfaOgeSayisi();
		var secili = icerikSeciliSayisi();
		$btn.text(toplam > 0 && secili === toplam ? tilfyT('deselect_all', 'Seçimi kaldır') : tilfyT('select_all', 'Tümünü seç'));
	}

	function icerikSayfaTumunuSec(sec) {
		if ($('.tilfy-tablo-wrap:visible').length) {
			$('.tilfy-tablo-wrap:visible .tilfy-icerik-sec').prop('checked', sec);
		} else {
			$('.tilfy-grid-wrap:visible .tilfy-grid-kart.tilfy-icerik-oge').each(function () {
				var $kart = $(this);
				$kart.toggleClass('is-secili', sec);
				$kart.find('.tilfy-grid-kart__cerceve').attr('aria-pressed', sec ? 'true' : 'false');
			});
		}
		icerikTumuSecUiGuncelle();
	}

	function paylasimSonrasiTemizle(icerikIdler) {
		(icerikIdler || []).forEach(function (id) {
			sepetKaldir(id);
		});
		icerikSecimTemizle();
		sepetUiGuncelle();
	}

	function caprazVeriTopla(mod) {
		var kaynak = $('#tilfy-kaynak-select').val() || '';
		if (kaynak === 'tumu') {
			kaynak = '';
		}
		var veri = {
			icerik_idler: caprazIcerikIdleri(mod || 'sepet'),
			kaynak_platform: kaynak,
			hedef_platformlar: [],
			platform_ayar: {}
		};
		$('input[name="hedef_platformlar[]"]:checked:not(:disabled)').each(function () {
			veri.hedef_platformlar.push($(this).val());
		});
		youtubeKapakAlanTemizle();
		veri.hedef_platformlar.forEach(function (platform) {
			var ayar = {};
			$('[name^="platform_ayar[' + platform + ']"]').each(function () {
				var $alan = $(this);
				var ad = ($alan.attr('name') || '').replace('platform_ayar[' + platform + '][', '').replace(']', '');
				if (ad) {
					ayar[ad] = $alan.val();
				}
			});
			if (Object.keys(ayar).length) {
				veri.platform_ayar[platform] = ayar;
			}
		});
		return veri;
	}

	$('#tilfy-secili-sepete-ekle').on('click', function (e) {
		e.preventDefault();
		var ids = icerikSeciliIdler();
		if (!ids.length) {
			window.alert(tilfyT('add_to_cart_min_one', 'Sepete eklemek için en az bir içerik seçin.'));
			return;
		}
		ids.forEach(function (id) {
			var $oge = $('.tilfy-icerik-oge[data-icerik-id="' + id + '"]');
			if ($oge.length) {
				sepetEkle(icerikOgeVerisi($oge));
			}
		});
		sepetUiGuncelle();
	});

	$('#tilfy-sayfa-sepete-ekle').on('click', function (e) {
		e.preventDefault();
		var $gorunur = $('.tilfy-tablo-wrap:visible .tilfy-icerik-oge, .tilfy-grid-wrap:visible .tilfy-icerik-oge');
		if (!$gorunur.length) {
			$gorunur = $('.tilfy-icerik-oge:visible');
		}
		$gorunur.each(function () {
			sepetEkle(icerikOgeVerisi($(this)));
		});
		sepetUiGuncelle();
	});

	$(document).on('click', '.tilfy-sepet-ekle', function (e) {
		e.preventDefault();
		var $oge = $(this).closest('.tilfy-icerik-oge');
		var id = parseInt($oge.data('icerik-id'), 10);
		if (sepetVarMi(id)) {
			sepetKaldir(id);
		} else {
			sepetEkle(icerikOgeVerisi($oge));
		}
		sepetUiGuncelle();
	});

	$(document).on('click', '#tilfy-sepet-ac', function (e) {
		e.preventDefault();
		sepetDrawerAc();
	});

	$(document).on('click', '#tilfy-sepet-kapat', function (e) {
		e.preventDefault();
		sepetDrawerKapat();
	});

	$(document).on('click', '#tilfy-sepet-temizle', function (e) {
		e.preventDefault();
		sepetTemizle();
	});

	$(document).on('click', '.tilfy-sepet-oge__sil', function (e) {
		e.preventDefault();
		sepetKaldir(parseInt($(this).data('id'), 10));
		sepetUiGuncelle();
	});

	$(document).on('click', '#tilfy-sepet-paylas', function (e) {
		e.preventDefault();
		sepetDrawerKapat();
		$('#tilfy-capraz-form').data('capraz-mod', 'sepet').trigger('submit');
	});

	$(document).on('click', '#tilfy-sepet-drawer', function (e) {
		if ($(e.target).is('#tilfy-sepet-drawer')) {
			sepetDrawerKapat();
		}
	});

	function icerikSeciliIdler() {
		var ids = [];
		if ($('.tilfy-tablo-wrap:visible').length) {
			$('.tilfy-tablo-wrap:visible .tilfy-icerik-sec:checked').each(function () {
				var id = parseInt($(this).val(), 10);
				if (id > 0) {
					ids.push(id);
				}
			});
		} else {
			$('.tilfy-grid-wrap:visible .tilfy-grid-kart.is-secili').each(function () {
				var id = parseInt($(this).data('icerik-id'), 10);
				if (id > 0) {
					ids.push(id);
				}
			});
		}
		return ids;
	}

	function gridKartSecimToggle($kart) {
		if (!$kart || !$kart.length) {
			return;
		}
		var secili = !$kart.hasClass('is-secili');
		$kart.toggleClass('is-secili', secili);
		$kart.find('.tilfy-grid-kart__cerceve').attr('aria-pressed', secili ? 'true' : 'false');
		icerikTumuSecUiGuncelle();
		sepetUiGuncelle();
	}

	$(document).on('click', '#tilfy-icerik-tumu-sec', function (e) {
		e.preventDefault();
		var toplam = icerikSayfaOgeSayisi();
		var secili = icerikSeciliSayisi();
		icerikSayfaTumunuSec(toplam > 0 && secili < toplam);
	});

	$(document).on('change', '.tilfy-icerik-sec', function () {
		icerikTumuSecUiGuncelle();
		sepetUiGuncelle();
	});

	$(document).on('click', '.tilfy-grid-kart.tilfy-icerik-oge .tilfy-grid-kart__cerceve', function (e) {
		if ($(e.target).closest('.tilfy-grid-kart__aksiyon, .tilfy-grid-kart__alt-sag, .tilfy-grid-kart__ipucu, a, button').length) {
			return;
		}
		gridKartSecimToggle($(this).closest('.tilfy-grid-kart'));
	});

	$(document).on('keydown', '.tilfy-grid-kart.tilfy-icerik-oge .tilfy-grid-kart__cerceve', function (e) {
		if (e.key !== 'Enter' && e.key !== ' ') {
			return;
		}
		e.preventDefault();
		gridKartSecimToggle($(this).closest('.tilfy-grid-kart'));
	});

	function icerikGizleIsle(ids, $ogeler) {
		if (!ids.length) {
			return;
		}
		ajaxIstek('tilfy_icerik_gizle', { ids: ids.join(',') }).done(function (res) {
			if (!res.success) {
				return;
			}
			ids.forEach(function (id) {
				sepetKaldir(id);
			});
			if ($ogeler && $ogeler.length) {
				$ogeler.fadeOut(200, function () {
					$(this).remove();
				});
			}
			sepetUiGuncelle();
		});
	}

	$(document).on('click', '.tilfy-icerik-gizle', function (e) {
		e.preventDefault();
		var $oge = $(this).closest('.tilfy-icerik-oge');
		var id = parseInt($oge.data('icerik-id'), 10);
		if (!id) {
			return;
		}
		if (!window.confirm(tilfyT('hide_content_confirm', 'Bu içerik listeden gizlensin mi? Ayarlar → Genel → Gizlenen içerikler bölümünden geri alabilirsiniz.'))) {
			return;
		}
		icerikGizleIsle([id], $oge);
	});

	function icerikDetayModalKapat() {
		$('#tilfy-icerik-detay-modal').prop('hidden', true).removeClass('is-active');
		$('body').removeClass('tilfy-iy-modal-acik');
	}

	function icerikDetayDosyaHtml(dosya) {
		if (!dosya) {
			return '<span class="tilfy-muted">' + tilfyT('content_detail_none', 'Yok') + '</span>';
		}
		var html = '<ul class="tilfy-icerik-detay-dosya">';
		if (dosya.ad) {
			html += '<li><strong>' + tilfyT('content_detail_file_name', 'Dosya adı') + ':</strong> <code>' + tilfyMetinEsc(dosya.ad) + '</code></li>';
		}
		if (dosya.konum) {
			html += '<li><strong>' + tilfyT('content_detail_file_path', 'Sunucu konumu') + ':</strong> <code>' + tilfyMetinEsc(dosya.konum) + '</code></li>';
		}
		if (dosya.id) {
			html += '<li><strong>' + tilfyT('content_detail_attachment_id', 'Ek ID') + ':</strong> #' + parseInt(dosya.id, 10) + '</li>';
		}
		if (dosya.url) {
			html += '<li><strong>' + tilfyT('content_detail_file_url', 'Dosya URL') + ':</strong> <a class="tilfy-link" href="' + tilfyMetinEsc(dosya.url) + '" target="_blank" rel="noopener noreferrer">' + tilfyMetinEsc(dosya.url) + '</a></li>';
		}
		if (dosya.mime) {
			html += '<li><code>' + tilfyMetinEsc(dosya.mime) + '</code></li>';
		}
		html += '</ul>';
		return html;
	}

	function icerikDetayLinkHtml(url) {
		if (!url) {
			return '<span class="tilfy-muted">' + tilfyT('content_detail_none', 'Yok') + '</span>';
		}
		return '<a class="tilfy-link" href="' + tilfyMetinEsc(url) + '" target="_blank" rel="noopener noreferrer">' + tilfyMetinEsc(url) + '</a>';
	}

	function icerikDetayModalAc(veri) {
		if (!veri) {
			return;
		}
		var baslik = veri.baslik || (tilfyT('job_detail_content_id', 'İçerik ID') + ' #' + (veri.id || '?'));
		$('#tilfy-icerik-detay-baslik').text(baslik);
		var html = '<dl class="tilfy-iy-detay-liste">';
		html += '<div><dt>' + tilfyT('job_detail_content_id', 'İçerik ID') + '</dt><dd>#' + (veri.id || '-') + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_source_platform', 'Kaynak platform') + '</dt><dd>' + tilfyMetinEsc(platformEtiket(veri.kaynak_platform || '')) + '</dd></div>';
		if (veri.kaynak_id) {
			html += '<div><dt>' + tilfyT('job_detail_meta_id', 'Meta ID') + '</dt><dd><code>' + tilfyMetinEsc(veri.kaynak_id) + '</code></dd></div>';
		}
		html += '<div><dt>' + tilfyT('content_detail_media_type', 'Medya tipi') + '</dt><dd>' + tilfyMetinEsc(veri.medya_tipi || '-') + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_source_social', 'Sosyal paylaşım kaynağı') + '</dt><dd>' + icerikDetayLinkHtml(veri.kaynak_url) + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_source_media', 'Medya kaynağı (uzak)') + '</dt><dd>' + icerikDetayLinkHtml(veri.medya_uzak_url) + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_source_thumb', 'Kapak / thumbnail kaynağı (uzak)') + '</dt><dd>' + icerikDetayLinkHtml(veri.kapak_uzak_url) + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_local_image', 'Yerel görsel') + '</dt><dd>' + icerikDetayDosyaHtml(veri.gorsel_yerel) + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_local_video', 'Yerel video') + '</dt><dd>' + icerikDetayDosyaHtml(veri.video_yerel) + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_local_thumb', 'Yerel kapak / thumbnail') + '</dt><dd>' + icerikDetayDosyaHtml(veri.kapak_yerel) + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_targets', 'Hedef paylaşımlar') + '</dt><dd>';
		if (veri.paylasimlar && veri.paylasimlar.length) {
			html += '<ul class="tilfy-icerik-detay-hedefler">';
			veri.paylasimlar.forEach(function (p) {
				html += '<li><strong>' + tilfyMetinEsc(platformEtiket(p.platform || '')) + '</strong> · ' + tilfyMetinEsc(p.durum || '') + ' · #' + (p.id || '-');
				if (p.url) {
					html += ' · <a class="tilfy-link" href="' + tilfyMetinEsc(p.url) + '" target="_blank" rel="noopener noreferrer">' + tilfyMetinEsc(p.url) + '</a>';
				}
				html += '</li>';
			});
			html += '</ul>';
		} else {
			html += '<span class="tilfy-muted">' + tilfyT('content_detail_no_targets', 'Henüz paylaşım yok') + '</span>';
		}
		html += '</dd></div>';
		if (veri.aciklama) {
			html += '<div><dt>' + tilfyT('job_detail_description', 'Açıklama') + '</dt><dd class="tilfy-iy-detay-aciklama">' + tilfyMetinEsc(veri.aciklama) + '</dd></div>';
		}
		html += '</dl>';
		html += '<div class="tilfy-icerik-detay-test">';
		html += '<p><strong>' + tilfyT('content_detail_live_test', 'Canlı API testi (kaydetmez)') + '</strong></p>';
		html += '<button type="button" class="tilfy-btn tilfy-btn--ikincil tilfy-btn--kucuk" id="tilfy-icerik-medya-test-btn" data-icerik-id="' + (veri.id || 0) + '">' + tilfyT('content_detail_live_test_run', 'Eksik medyayı API’den çek') + '</button>';
		html += '<div class="tilfy-icerik-detay-test__sonuc" id="tilfy-icerik-medya-test-sonuc" hidden></div>';
		html += '</div>';
		$('#tilfy-icerik-detay-icerik').html(html);
		$('#tilfy-icerik-detay-modal').prop('hidden', false).addClass('is-active');
		$('body').addClass('tilfy-iy-modal-acik');
	}

	function icerikMedyaTestSonucGoster(veri) {
		var $kutu = $('#tilfy-icerik-medya-test-sonuc');
		if (!$kutu.length) {
			return;
		}
		var html = '<dl class="tilfy-iy-detay-liste">';
		if (veri.ozet) {
			html += '<div><dt>' + tilfyT('job_detail_detail', 'Detay') + '</dt><dd>' + tilfyMetinEsc(veri.ozet) + '</dd></div>';
		}
		html += '<div><dt>' + tilfyT('content_detail_live_type', 'API media_type') + '</dt><dd>' + tilfyMetinEsc(veri.media_type || '-') + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_live_media', 'API media_url') + '</dt><dd>' + icerikDetayLinkHtml(veri.media_url) + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_live_thumb', 'API thumbnail_url') + '</dt><dd>' + icerikDetayLinkHtml(veri.thumbnail_url) + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_live_permalink', 'API permalink') + '</dt><dd>' + icerikDetayLinkHtml(veri.permalink) + '</dd></div>';
		html += '</dl>';
		if (!veri.media_url) {
			html += '<div class="tilfy-icerik-detay-ara" id="tilfy-icerik-detay-ara">';
			html += '<p>' + tilfyT('content_detail_search_ask', 'Instagram video URL vermedi. Başlığa göre Facebook ve Threads’te aramak ister misiniz?') + '</p>';
			html += '<button type="button" class="tilfy-btn tilfy-btn--ikincil tilfy-btn--kucuk" id="tilfy-icerik-medya-ara-btn" data-icerik-id="' + (veri.icerik_id || 0) + '">' + tilfyT('content_detail_search_fb_th', 'Facebook / Threads’te ara') + '</button>';
			html += '<div id="tilfy-icerik-medya-ara-sonuc" hidden></div>';
			html += '</div>';
		}
		$kutu.prop('hidden', false).html(html);
	}

	function icerikMedyaAdayListeGoster(veri) {
		var $kutu = $('#tilfy-icerik-medya-ara-sonuc');
		if (!$kutu.length) {
			return;
		}
		var html = '';
		if (!veri.adaylar || !veri.adaylar.length) {
			html += '<p class="tilfy-muted">' + tilfyT('content_detail_search_none', 'Eşleşen video bulunamadı.') + '</p>';
			if (veri.scrape_not) {
				html += '<p class="tilfy-muted">' + tilfyMetinEsc(veri.scrape_not) + '</p>';
			}
			$kutu.prop('hidden', false).html(html);
			return;
		}
		html += '<ul class="tilfy-icerik-detay-adaylar">';
		veri.adaylar.forEach(function (a) {
			html += '<li class="tilfy-icerik-detay-aday">';
			if (a.thumb_url) {
				html += '<img class="tilfy-icerik-detay-aday__thumb" src="' + tilfyMetinEsc(a.thumb_url) + '" alt="" loading="lazy" />';
			}
			html += '<div class="tilfy-icerik-detay-aday__govde">';
			html += '<strong>' + tilfyMetinEsc(platformEtiket(a.platform || '') + (a.baslik ? ' · ' + a.baslik : '')) + '</strong>';
			html += '<span class="tilfy-icerik-detay-aday__meta">' + tilfyT('content_detail_score', 'Benzerlik') + ': ' + Math.round(a.skor || 0) + '%';
			if (a.permalink) {
				html += ' · <a class="tilfy-link" href="' + tilfyMetinEsc(a.permalink) + '" target="_blank" rel="noopener noreferrer">↗</a>';
			}
			html += '</span>';
			if (a.aciklama) {
				html += '<p>' + tilfyMetinEsc((a.aciklama || '').slice(0, 160)) + '</p>';
			}
			html += '<button type="button" class="tilfy-btn tilfy-btn--birincil tilfy-btn--kucuk tilfy-icerik-medya-sec-btn" data-icerik-id="' + (veri.icerik_id || 0) + '" data-media-url="' + tilfyMetinEsc(a.media_url || '') + '">' + tilfyT('content_detail_use_video', 'Bu videoyu kullan') + '</button>';
			html += '</div></li>';
		});
		html += '</ul>';
		if (veri.scrape_not) {
			html += '<p class="tilfy-muted">' + tilfyMetinEsc(veri.scrape_not) + '</p>';
		}
		$kutu.prop('hidden', false).html(html);
	}

	$(document).on('click', '#tilfy-icerik-medya-ara-btn', function (e) {
		e.preventDefault();
		var id = parseInt($(this).data('icerik-id'), 10);
		var $btn = $(this);
		if (!id) {
			return;
		}
		$btn.prop('disabled', true).text(tilfyT('content_detail_searching', 'Aranıyor…'));
		$('#tilfy-icerik-medya-ara-sonuc').prop('hidden', false).html('<p class="tilfy-muted">' + tilfyT('content_detail_searching', 'Aranıyor…') + '</p>');
		ajaxIstek('tilfy_icerik_medya_ara', { icerik_id: id }, 120000).done(function (res) {
			if (!res.success || !res.data) {
				$('#tilfy-icerik-medya-ara-sonuc').html('<p class="tilfy-muted">' + tilfyMetinEsc((res.data && res.data.mesaj) || tilfyT('content_detail_search_none', 'Eşleşen video bulunamadı.')) + '</p>');
				return;
			}
			icerikMedyaAdayListeGoster(res.data);
		}).fail(function (xhr) {
			var mesaj = tilfyT('content_detail_search_none', 'Eşleşen video bulunamadı.');
			if (xhr.responseJSON && xhr.responseJSON.data && xhr.responseJSON.data.mesaj) {
				mesaj = xhr.responseJSON.data.mesaj;
			}
			$('#tilfy-icerik-medya-ara-sonuc').html('<p class="tilfy-muted">' + tilfyMetinEsc(mesaj) + '</p>');
		}).always(function () {
			$btn.prop('disabled', false).text(tilfyT('content_detail_search_fb_th', 'Facebook / Threads’te ara'));
		});
	});

	$(document).on('click', '.tilfy-icerik-medya-sec-btn', function (e) {
		e.preventDefault();
		var $btn = $(this);
		var id = parseInt($btn.data('icerik-id'), 10);
		var url = String($btn.data('media-url') || '');
		if (!id || !url) {
			return;
		}
		$btn.prop('disabled', true).text(tilfyT('content_detail_using_video', 'İndiriliyor…'));
		ajaxIstek('tilfy_icerik_medya_sec', { icerik_id: id, media_url: url }, 300000).done(function (res) {
			if (!res.success) {
				window.alert((res.data && res.data.mesaj) || tilfyT('content_detail_none', 'Yok'));
				return;
			}
			window.alert((res.data && res.data.mesaj) || tilfyT('content_detail_video_attached', 'Video içeriğe bağlandı.'));
			icerikDetayModalKapat();
		}).fail(function (xhr) {
			var mesaj = tilfyT('content_detail_none', 'Yok');
			if (xhr.responseJSON && xhr.responseJSON.data && xhr.responseJSON.data.mesaj) {
				mesaj = xhr.responseJSON.data.mesaj;
			}
			window.alert(mesaj);
		}).always(function () {
			$btn.prop('disabled', false).text(tilfyT('content_detail_use_video', 'Bu videoyu kullan'));
		});
	});

	$(document).on('click', '#tilfy-icerik-medya-test-btn', function (e) {
		e.preventDefault();
		var id = parseInt($(this).data('icerik-id'), 10);
		var $btn = $(this);
		if (!id) {
			return;
		}
		$btn.prop('disabled', true).text(tilfyT('content_detail_live_testing', 'API sorgulanıyor…'));
		$('#tilfy-icerik-medya-test-sonuc').prop('hidden', false).html('<p class="tilfy-muted">' + tilfyT('content_detail_live_testing', 'API sorgulanıyor…') + '</p>');
		ajaxIstek('tilfy_icerik_medya_test', { icerik_id: id }, 60000).done(function (res) {
			if (!res.success || !res.data) {
				$('#tilfy-icerik-medya-test-sonuc').html('<p class="tilfy-muted">' + tilfyMetinEsc((res.data && res.data.mesaj) || tilfyT('content_detail_none', 'Yok')) + '</p>');
				return;
			}
			icerikMedyaTestSonucGoster(res.data);
		}).fail(function (xhr) {
			var mesaj = tilfyT('content_detail_none', 'Yok');
			if (xhr.responseJSON && xhr.responseJSON.data && xhr.responseJSON.data.mesaj) {
				mesaj = xhr.responseJSON.data.mesaj;
			}
			$('#tilfy-icerik-medya-test-sonuc').html('<p class="tilfy-muted">' + tilfyMetinEsc(mesaj) + '</p>');
		}).always(function () {
			$btn.prop('disabled', false).text(tilfyT('content_detail_live_test_run', 'Eksik medyayı API’den çek'));
		});
	});

	$(document).on('click', '.tilfy-icerik-detay-ac', function (e) {
		e.preventDefault();
		e.stopPropagation();
		var id = parseInt($(this).data('icerik-id'), 10) || parseInt($(this).closest('.tilfy-icerik-oge').data('icerik-id'), 10);
		if (!id) {
			return;
		}
		$('#tilfy-icerik-detay-baslik').text(tilfyT('content_detail_title', 'İçerik detayı'));
		$('#tilfy-icerik-detay-icerik').html('<p class="tilfy-muted">' + tilfyT('content_detail_loading', 'Yükleniyor…') + '</p>');
		$('#tilfy-icerik-detay-modal').prop('hidden', false).addClass('is-active');
		$('body').addClass('tilfy-iy-modal-acik');
		ajaxIstek('tilfy_icerik_detay', { icerik_id: id }).done(function (res) {
			if (!res.success || !res.data) {
				$('#tilfy-icerik-detay-icerik').html('<p class="tilfy-muted">' + tilfyMetinEsc((res.data && res.data.mesaj) || tilfyT('content_detail_none', 'Yok')) + '</p>');
				return;
			}
			icerikDetayModalAc(res.data);
		}).fail(function () {
			$('#tilfy-icerik-detay-icerik').html('<p class="tilfy-muted">' + tilfyT('content_detail_none', 'Yok') + '</p>');
		});
	});

	$(document).on('click', '#tilfy-icerik-detay-kapat, [data-icerik-modal-kapat]', function (e) {
		e.preventDefault();
		icerikDetayModalKapat();
	});

	$(document).on('keydown', function (e) {
		if (e.key === 'Escape' && $('#tilfy-icerik-detay-modal').hasClass('is-active')) {
			icerikDetayModalKapat();
		}
	});

	function icerikSifirlaIsle(ids) {
		if (!ids.length) {
			return;
		}
		ajaxIstek('tilfy_icerik_sifirla', { ids: ids.join(',') }).done(function (res) {
			if (!res.success) {
				window.alert((res.data && res.data.mesaj) ? res.data.mesaj : 'Sıfırlama başarısız.');
				return;
			}
			ids.forEach(function (id) {
				sepetKaldir(id);
			});
			sepetUiGuncelle();
			window.location.reload();
		});
	}

	function icerikSilIsle(ids) {
		if (!ids.length) {
			return;
		}
		ajaxIstek('tilfy_icerik_sil', { ids: ids.join(',') }).done(function (res) {
			if (!res.success) {
				window.alert((res.data && res.data.mesaj) ? res.data.mesaj : 'Silme başarısız.');
				return;
			}
			ids.forEach(function (id) {
				sepetKaldir(id);
			});
			icerikSecimTemizle();
			sepetUiGuncelle();
			window.location.reload();
		});
	}

	$('#tilfy-icerik-sil-secili').on('click', function (e) {
		e.preventDefault();
		var ids = icerikSeciliIdler();
		if (!ids.length) {
			window.alert(tilfyT('delete_min_one_content', 'Silmek için en az bir içerik seçin.'));
			return;
		}
		if (!window.confirm(
			ids.length + ' içerik kalıcı olarak silinsin mi?\n\n'
			+ 'Silinir: içerik kaydı, başlık/açıklama, istatistikler, indirilen medya ve kapak dosyaları, paylaşımlar ve ilgili kuyruk işleri.\n\n'
			+ 'Hedef platformlardaki yayınlar silinmez. Bu işlem geri alınamaz.'
		)) {
			return;
		}
		icerikSilIsle(ids);
	});

	$('#tilfy-icerik-sifirla-secili').on('click', function (e) {
		e.preventDefault();
		var ids = icerikSeciliIdler();
		if (!ids.length) {
			window.alert(tilfyT('reset_min_one_content', 'Sıfırlamak için en az bir içerik seçin.'));
			return;
		}
		if (!window.confirm(
			ids.length + ' içerik sıfırlansın mı?\n\n'
			+ 'Kaynak bilgileri (başlık, açıklama, medya URL) kalır. Silinir: indirilen dosyalar, tüm paylaşımlar, hedef yükleme durumları ve ilgili kuyruk işleri.\n\n'
			+ 'Hedef platformlardaki yayınlar silinmez.'
		)) {
			return;
		}
		icerikSifirlaIsle(ids);
	});

	$('#tilfy-icerik-gizle-secili').on('click', function (e) {
		e.preventDefault();
		var ids = icerikSeciliIdler();
		if (!ids.length) {
			window.alert(tilfyT('hide_min_one_content', 'Gizlemek için en az bir içerik seçin.'));
			return;
		}
		if (!window.confirm(ids.length + ' içerik gizlensin mi?')) {
			return;
		}
		var $ogeler = $();
		ids.forEach(function (id) {
			$ogeler = $ogeler.add($('.tilfy-icerik-oge[data-icerik-id="' + id + '"]'));
		});
		icerikGizleIsle(ids, $ogeler);
	});

	$(document).on('click', '.tilfy-icerik-goster', function (e) {
		e.preventDefault();
		var $btn = $(this);
		var id = parseInt($btn.data('icerik-id'), 10);
		if (!id) {
			return;
		}
		ajaxIstek('tilfy_icerik_goster', { ids: String(id) }).done(function (res) {
			if (!res.success) {
				return;
			}
			$btn.closest('tr').fadeOut(200, function () {
				$(this).remove();
			});
		});
	});

	$('#tilfy-capraz-form').on('submit', function (e) {
		e.preventDefault();
		var $form = $(this);
		var mod = $form.data('capraz-mod') || 'sepet';
		$form.removeData('capraz-mod');
		var veri = caprazVeriTopla(mod);
		var hatalar = [];
		if (!veri.icerik_idler.length) {
			hatalar.push(tilfyT('cart_empty_share', 'Sepet boş. Paylaşmak için içerik ekleyin.'));
		}
		if (!veri.hedef_platformlar.length) {
			hatalar.push('En az bir hedef platform seçin.');
		}
		if (hatalar.length) {
			caprazUyariGoster(hatalar, 'hata');
			return;
		}
		if (!veri.zamanlama && veri.icerik_idler.length > 1) {
			var arasiDk = parseInt(veri.paylasim_arasi_dakika, 10);
			if (!arasiDk) {
				var toplam = veri.icerik_idler.length * veri.hedef_platformlar.length;
				if (!window.confirm(toplam + ' paylaşım aynı anda kuyruğa eklenecek. Devam edilsin mi?')) {
					return;
				}
			}
		}
		var $btn = $('#tilfy-capraz-gonder');
		var btnMetin = $btn.data('metin') || $btn.text();
		$btn.data('metin', btnMetin);
		caprazPaylasimIstek(veri, $btn, btnMetin);
	});

	$(document).on('click', '.tilfy-kopyala', function () {
		var id = $(this).data('paylasim-id');
		$.post(tilfyAdmin.ajax, {
			action: 'tilfy_manuel_metin',
			nonce: tilfyAdmin.nonce,
			paylasim_id: id
		}).done(function (res) {
			if (!res.success || !res.data.metin) {
				window.alert(tilfyT('text_not_found', 'Metin bulunamadı.'));
				return;
			}
			if (navigator.clipboard && navigator.clipboard.writeText) {
				navigator.clipboard.writeText(res.data.metin).then(function () {
					window.alert(tilfyT('copied_to_clipboard', 'Panoya kopyalandı.'));
				});
			} else {
				window.prompt('Kopyala:', res.data.metin);
			}
		});
	});

	function bekleyenPaylasimlariBul() {
		var ids = [];
		var bekleyenDurumlar = { beklemede: 1, yukleniyor: 1, sirada: 1 };
		$('#tilfy-paylasim-grid .tilfy-paylasim-kart[data-durum]').each(function () {
			var durum = $(this).attr('data-durum');
			if (bekleyenDurumlar[durum]) {
				ids.push(parseInt($(this).attr('data-paylasim-id'), 10));
			}
		});
		if (!ids.length) {
			$('#tilfy-paylasim-tbody tr[data-paylasim-id]').each(function () {
				var durum = $(this).attr('data-durum');
				if (bekleyenDurumlar[durum]) {
					ids.push(parseInt($(this).attr('data-paylasim-id'), 10));
				}
			});
		}
		return ids;
	}

	function sayfaCanliBaslat() {
		var $sayfa = $('#tilfy-paylasimlar-sayfa');
		if (!$sayfa.length) {
			return;
		}
		if ($sayfa.data('canli') !== 1 && $sayfa.data('canli') !== '1') {
			return;
		}
		var ham = String($sayfa.data('ids') || '');
		if (!ham) {
			return;
		}
		var ids = ham.split(',').map(function (v) {
			return parseInt(v, 10);
		}).filter(function (v) {
			return v > 0;
		});
		if (!ids.length) {
			return;
		}
		canliBaslat(ids, tilfyT('live_shares_progress', 'Shares updating live. Video uploads are processed step by step in the background.'));
	}

	if ($('#tilfy-capraz-form').length) {
		caprazKaynakGuncelle({ atlaYonlendirme: true });
	}
	if ($('#tilfy-capraz-form').length) {
		youtubeTurKapakGuncelle();
		sepetSayfaSenkron();
		yinelenenFiligranGuncelle();
	}

	function otomasyonSeciliHedefler() {
		var hedefler = [];
		$('#tilfy-otomasyon-form input[name="hedef_platformlar[]"]:checked:not(:disabled)').each(function () {
			hedefler.push($(this).val());
		});
		return hedefler;
	}

	function otomasyonHedefChipGuncelle() {
		var $chips = $('#tilfy-otomasyon-hedef-chips');
		var $ozet = $('#tilfy-otomasyon-hedef-detay summary');
		if (!$chips.length) {
			return;
		}
		var secili = [];
		$('#tilfy-otomasyon-form input[name="hedef_platformlar[]"]:checked:not(:disabled)').each(function () {
			var $opt = $(this).closest('.tilfy-capraz-hedef-opt');
			secili.push({
				val: $(this).val(),
				text: $opt.find('span').text()
			});
		});
		$chips.empty();
		if (secili.length) {
			secili.forEach(function (s) {
				$chips.append('<span class="tilfy-hedef-chip">' + s.text + '</span>');
			});
			if ($ozet.length) {
				$ozet.text(secili.length + ' platform seçili');
			}
		} else if ($ozet.length) {
			$ozet.text(tilfyT('select_platform', 'Platform seçin…'));
		}
	}

	function otomasyonKaynakGuncelle() {
		var kaynak = $('#tilfy-otomasyon-form select[name="kaynak_platform"]').val() || '';
		$('#tilfy-otomasyon-form .tilfy-capraz-hedef-opt').each(function () {
			var $opt = $(this);
			var platform = $opt.data('platform');
			var kapali = kaynak && platform === kaynak;
			$opt.toggleClass('is-disabled', kapali);
			$opt.find('input').prop('disabled', kapali);
			if (kapali) {
				$opt.find('input').prop('checked', false);
			}
			$opt.toggleClass('is-selected', $opt.find('input').is(':checked') && !$opt.find('input').is(':disabled'));
		});
		otomasyonHedefChipGuncelle();
		otomasyonHedefGuncelle();
	}

	function otomasyonHedefGuncelle() {
		var hedefler = otomasyonSeciliHedefler();
		$('#tilfy-otomasyon-ayarlar').toggleClass('tilfy-is-gizli', hedefler.length === 0);
		$('#tilfy-otomasyon-form .tilfy-otomasyon-ayar-blok').each(function () {
			var platform = $(this).data('platform');
			$(this).toggleClass('tilfy-is-gizli', hedefler.indexOf(platform) === -1);
		});
		if (hedefler.indexOf('youtube') !== -1) {
			youtubeListeleriYukle();
		}
		$('#tilfy-otomasyon-form .tilfy-meta-format').each(function () {
			metaFormatKapakGuncelle($(this));
		});
		if ($('#tilfy-yt-tur').length) {
			youtubeTurKapakGuncelle();
		}
	}

	function otomasyonTipUygula() {
		var $form = $('#tilfy-otomasyon-form');
		var $tipEl = $('#tilfy-otomasyon-tip');
		if (!$form.length || !$tipEl.length) {
			return;
		}
		var tip = $tipEl.val() || 'capraz';
		var capraz = tip === 'capraz';
		$form.attr('data-tip', tip);
		$form.find('.tilfy-otomasyon-alan--capraz').each(function () {
			var $el = $(this);
			$el.css('display', capraz ? '' : 'none');
			$el.find('select,input').each(function () {
				var $inp = $(this);
				if ($inp.attr('name') === 'kaynak_platform') {
					if (capraz) {
						$inp.prop('required', true);
					} else {
						$inp.prop('required', false).removeAttr('required');
					}
				}
			});
		});
		$form.find('.tilfy-otomasyon-alan--engine').each(function () {
			var $el = $(this);
			$el.css('display', tip === 'engine' ? '' : 'none');
			$el.find('input,select').prop('disabled', tip !== 'engine');
		});
	}

	if ($('#tilfy-otomasyon-form').length) {
		$(document).on('change', '#tilfy-otomasyon-form select[name="kaynak_platform"]', otomasyonKaynakGuncelle);
		$(document).on('change', '#tilfy-otomasyon-form input[name="hedef_platformlar[]"]', function () {
			var $opt = $(this).closest('.tilfy-capraz-hedef-opt');
			$opt.toggleClass('is-selected', $(this).is(':checked') && !$(this).is(':disabled'));
			otomasyonHedefChipGuncelle();
			otomasyonHedefGuncelle();
		});
		$(document).on('change', '#tilfy-otomasyon-tip', otomasyonTipUygula);
		$('#tilfy-otomasyon-form').on('submit', function (e) {
			var tip = $(this).attr('data-tip') || $(this).data('tip') || 'capraz';
			if (tip === 'capraz' && otomasyonSeciliHedefler().length === 0) {
				e.preventDefault();
				alert(tilfyT('select_target_platform', 'En az bir hedef platform seçin.'));
			}
		});
		otomasyonTipUygula();
		otomasyonKaynakGuncelle();
	}

	$(document).on('click', '.tilfy-otomasyon-kontrol-btn', function (e) {
		e.preventDefault();
		var $btn = $(this);
		var id = parseInt($btn.data('id'), 10);
		if (!id) {
			return;
		}
		var metin = $btn.data('metin') || $btn.text();
		$btn.data('metin', metin);
		var $notice = $('#tilfy-otomasyon-canli-durum');
		$btn.prop('disabled', true).text(tilfyT('checking', 'Kontrol ediliyor…'));
		if ($notice.length) {
			$notice
				.removeClass('tilfy-notice--ok tilfy-notice--hata')
				.removeAttr('hidden')
				.prop('hidden', false)
				.text(tilfyT('check_running_wait', 'Kontrol çalışıyor, lütfen bekleyin…'));
			$('html, body').animate({ scrollTop: $notice.offset().top - 80 }, 180);
		}
		ajaxIstek('tilfy_otomasyon_kontrol', { otomasyon_id: id }, 120000).done(function (res) {
			if (!$notice.length) {
				return;
			}
			if (!res.success || !res.data) {
				$notice.addClass('tilfy-notice--hata').text(tilfyT('check_failed', 'Kontrol çalıştırılamadı.'));
				return;
			}
			var tip = res.data.tip || '';
			var okSinif = tip === 'kontrol_ok' || tip === 'kontrol_bos';
			$notice
				.addClass(okSinif ? 'tilfy-notice--ok' : 'tilfy-notice--hata')
				.text(res.data.mesaj || (okSinif ? tilfyT('check_complete', 'Kontrol tamamlandı.') : tilfyT('check_unsuccessful', 'Kontrol başarısız.')));
		}).fail(function (xhr) {
			if (!$notice.length) {
				return;
			}
			var mesaj = tilfyT('check_failed', 'Kontrol çalıştırılamadı.');
			if (xhr.responseJSON && xhr.responseJSON.data && xhr.responseJSON.data.mesaj) {
				mesaj = xhr.responseJSON.data.mesaj;
			}
			$notice.addClass('tilfy-notice--hata').text(mesaj);
		}).always(function () {
			$btn.prop('disabled', false).text(metin);
		});
	});

	function logOverlayOlustur() {
		if ($('#tilfy-log-overlay').length) {
			return;
		}
		$('body').append(
			'<div class="tilfy-log-overlay" id="tilfy-log-overlay">' +
				'<div class="tilfy-log-panel">' +
					'<div class="tilfy-header tilfy-header--row">' +
						'<h2>Paylaşım işlem logu</h2>' +
						'<button type="button" class="tilfy-btn tilfy-btn--ikincil" id="tilfy-log-kapat">Kapat</button>' +
					'</div>' +
					'<pre id="tilfy-log-icerik">Yükleniyor...</pre>' +
				'</div>' +
			'</div>'
		);
	}

	$(document).on('click', '.tilfy-log-ac', function (e) {
		var id = parseInt($(this).data('paylasim-id'), 10);
		if (id && $('#tilfy-paylasim-detay-modal').length) {
			e.preventDefault();
			$('.tilfy-paylasim-detay-ac').filter(function () {
				return parseInt($(this).data('paylasim-id'), 10) === id;
			}).first().trigger('click');
			if (!$('.tilfy-paylasim-detay-ac').filter(function () {
				return parseInt($(this).data('paylasim-id'), 10) === id;
			}).length) {
				ajaxIstek('tilfy_paylasim_detay', { paylasim_id: id }).done(function (res) {
					if (res.success && res.data) {
						paylasimDetayModalAc(res.data);
					}
				});
			}
			return;
		}
		logOverlayOlustur();
		$('#tilfy-log-overlay').addClass('is-active');
		$('#tilfy-log-icerik').text(tilfyT('loading', 'Yükleniyor...'));
		$.post(tilfyAdmin.ajax, {
			action: 'tilfy_paylasim_log',
			nonce: tilfyAdmin.nonce,
			paylasim_id: id
		}).done(function (res) {
			if (!res.success || !res.data || !res.data.satirlar) {
				$('#tilfy-log-icerik').text(tilfyT('log_not_found', 'Log bulunamadı.'));
				return;
			}
			$('#tilfy-log-icerik').text(res.data.satirlar.join('\n'));
		}).fail(function () {
			$('#tilfy-log-icerik').text(tilfyT('log_load_failed', 'Log yüklenemedi.'));
		});
	});

	function paylasimDetayModalKapat() {
		$('#tilfy-paylasim-detay-modal').prop('hidden', true).removeClass('is-active');
		$('body').removeClass('tilfy-iy-modal-acik');
	}

	function paylasimDetayModalAc(veri) {
		if (!veri) {
			return;
		}
		var icerik = veri.icerik || {};
		var baslik = icerik.baslik || (tilfyT('share_detail_title', 'Paylaşım detayı') + ' #' + (veri.paylasim_id || '?'));
		$('#tilfy-paylasim-detay-baslik').text(baslik);
		var html = '<dl class="tilfy-iy-detay-liste">';
		html += '<div><dt>' + tilfyT('share_label', 'Paylaşım') + '</dt><dd>#' + (veri.paylasim_id || '-') + '</dd></div>';
		html += '<div><dt>' + tilfyT('job_detail_content_id', 'İçerik ID') + '</dt><dd>#' + (veri.icerik_id || '-') + '</dd></div>';
		html += '<div><dt>' + tilfyT('share_detail_target', 'Hedef platform') + '</dt><dd>' + tilfyMetinEsc(platformEtiket(veri.hedef_platform || '')) + '</dd></div>';
		html += '<div><dt>' + tilfyT('share_detail_status', 'Durum') + '</dt><dd>' + tilfyMetinEsc(veri.durum || '-') + '</dd></div>';
		if (veri.hata_mesaji) {
			html += '<div><dt>' + tilfyT('share_detail_error', 'Hata') + '</dt><dd class="tilfy-hata">' + tilfyMetinEsc(veri.hata_mesaji) + '</dd></div>';
		}
		html += '<div><dt>' + tilfyT('share_detail_target_url', 'Hedef URL') + '</dt><dd>' + icerikDetayLinkHtml(veri.hedef_url) + '</dd></div>';
		if (icerik.kaynak_id) {
			html += '<div><dt>' + tilfyT('job_detail_meta_id', 'Meta ID') + '</dt><dd><code>' + tilfyMetinEsc(icerik.kaynak_id) + '</code></dd></div>';
		}
		html += '<div><dt>' + tilfyT('content_detail_source_social', 'Sosyal paylaşım kaynağı') + '</dt><dd>' + icerikDetayLinkHtml(icerik.kaynak_url) + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_source_media', 'Medya kaynağı (uzak)') + '</dt><dd>' + icerikDetayLinkHtml(icerik.medya_uzak_url) + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_source_thumb', 'Kapak / thumbnail kaynağı (uzak)') + '</dt><dd>' + icerikDetayLinkHtml(icerik.kapak_uzak_url) + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_local_image', 'Yerel görsel') + '</dt><dd>' + icerikDetayDosyaHtml(icerik.gorsel_yerel) + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_local_video', 'Yerel video') + '</dt><dd>' + icerikDetayDosyaHtml(icerik.video_yerel) + '</dd></div>';
		html += '<div><dt>' + tilfyT('content_detail_local_thumb', 'Yerel kapak / thumbnail') + '</dt><dd>' + icerikDetayDosyaHtml(icerik.kapak_yerel) + '</dd></div>';
		html += '</dl>';
		if (icerik.id) {
			html += '<div class="tilfy-icerik-detay-test">';
			html += '<p><strong>' + tilfyT('content_detail_live_test', 'Canlı API testi (kaydetmez)') + '</strong></p>';
			html += '<button type="button" class="tilfy-btn tilfy-btn--ikincil tilfy-btn--kucuk" id="tilfy-icerik-medya-test-btn" data-icerik-id="' + icerik.id + '">' + tilfyT('content_detail_live_test_run', 'Eksik medyayı API’den çek') + '</button>';
			html += '<div class="tilfy-icerik-detay-test__sonuc" id="tilfy-icerik-medya-test-sonuc" hidden></div>';
			html += '</div>';
		}
		html += '<div class="tilfy-paylasim-detay-log">';
		html += '<p><strong>' + tilfyT('share_detail_log', 'İşlem logu') + '</strong></p>';
		if (veri.log && veri.log.length) {
			html += '<pre>' + tilfyMetinEsc(veri.log.join('\n')) + '</pre>';
		} else {
			html += '<p class="tilfy-muted">' + tilfyT('share_detail_no_log', 'Log kaydı yok') + '</p>';
		}
		html += '</div>';
		$('#tilfy-paylasim-detay-icerik').html(html);
		$('#tilfy-paylasim-detay-modal').prop('hidden', false).addClass('is-active');
		$('body').addClass('tilfy-iy-modal-acik');
	}

	$(document).on('click', '.tilfy-paylasim-detay-ac', function (e) {
		e.preventDefault();
		e.stopPropagation();
		var id = parseInt($(this).data('paylasim-id'), 10);
		if (!id || !$('#tilfy-paylasim-detay-modal').length) {
			return;
		}
		$('#tilfy-paylasim-detay-baslik').text(tilfyT('share_detail_title', 'Paylaşım detayı'));
		$('#tilfy-paylasim-detay-icerik').html('<p class="tilfy-muted">' + tilfyT('content_detail_loading', 'Yükleniyor…') + '</p>');
		$('#tilfy-paylasim-detay-modal').prop('hidden', false).addClass('is-active');
		$('body').addClass('tilfy-iy-modal-acik');
		ajaxIstek('tilfy_paylasim_detay', { paylasim_id: id }).done(function (res) {
			if (!res.success || !res.data) {
				$('#tilfy-paylasim-detay-icerik').html('<p class="tilfy-muted">' + tilfyMetinEsc((res.data && res.data.mesaj) || tilfyT('content_detail_none', 'Yok')) + '</p>');
				return;
			}
			paylasimDetayModalAc(res.data);
		}).fail(function () {
			$('#tilfy-paylasim-detay-icerik').html('<p class="tilfy-muted">' + tilfyT('content_detail_none', 'Yok') + '</p>');
		});
	});

	$(document).on('click', '#tilfy-paylasim-detay-kapat, [data-paylasim-modal-kapat]', function (e) {
		e.preventDefault();
		paylasimDetayModalKapat();
	});

	$(document).on('keydown', function (e) {
		if (e.key === 'Escape' && $('#tilfy-paylasim-detay-modal').hasClass('is-active')) {
			paylasimDetayModalKapat();
		}
	});

	$(document).on('click', '#tilfy-log-kapat, #tilfy-log-overlay', function (e) {
		if (e.target === this) {
			$('#tilfy-log-overlay').removeClass('is-active');
		}
	});

	$('#tilfy-tum-paylasim-sec-btn').on('click', function () {
		var $kutular = $('.tilfy-paylasim-sec');
		var hepsi = $kutular.length && $kutular.filter(':checked').length === $kutular.length;
		$kutular.prop('checked', !hepsi);
		$('.tilfy-paylasim-kart').toggleClass('is-secili', !hepsi);
		$(this).text(hepsi ? tilfyT('select_all', 'Tümünü seç') : tilfyT('deselect_all', 'Seçimi kaldır'));
	});

	$(document).on('change', '.tilfy-paylasim-sec', function () {
		$(this).closest('.tilfy-paylasim-kart').toggleClass('is-secili', this.checked);
		var $kutular = $('.tilfy-paylasim-sec');
		$('#tilfy-tum-paylasim-sec-btn').text(
			$kutular.length && $kutular.filter(':checked').length === $kutular.length ? tilfyT('deselect_all', 'Seçimi kaldır') : tilfyT('select_all', 'Tümünü seç')
		);
	});

	function paylasimSeciliIds() {
		return $('.tilfy-paylasim-sec:checked').map(function () {
			return $(this).val();
		}).get();
	}

	function topluYenidenAjax(tip, secili) {
		return ajaxIstek('tilfy_paylasim_toplu_yeniden', {
			tip: tip,
			secili: secili || []
		}, 120000);
	}

	$('#tilfy-paylasim-yeniden-sec-btn').on('click', function () {
		var secili = paylasimSeciliIds();
		if (!secili.length) {
			window.alert(tilfyT('retry_min_one_share', 'En az bir paylaşım seçin.'));
			return;
		}
		if (!window.confirm(tilfyT('retry_confirm', 'Seçilen paylaşımlar yeniden kuyruğa eklensin mi?'))) {
			return;
		}
		topluYenidenAjax('secili', secili).done(function (res) {
			if (!res.success) {
				window.alert(tilfyT('retry_failed', 'Yeniden deneme başarısız.'));
				return;
			}
			window.alert(res.data.mesaj || tilfyT('added_to_queue', 'Kuyruğa eklendi.'));
			window.location.reload();
		}).fail(function () {
			window.alert(tilfyT('retry_failed', 'Yeniden deneme başarısız.'));
		});
	});

	$('#tilfy-paylasim-medya-ata-sec-btn').on('click', function () {
		var secili = paylasimSeciliIds();
		if (!secili.length) {
			window.alert(tilfyT('retry_min_one_share', 'En az bir paylaşım seçin.'));
			return;
		}
		tilfyMedyaSec({
			onSelect: function (dosya) {
				ajaxIstek('tilfy_paylasim_medya_ata', {
					paylasim_idler: secili,
					attachment_id: dosya.id,
					yeniden: 1
				}, 120000).done(function (res) {
					if (!res.success) {
						window.alert((res.data && res.data.mesaj) || tilfyT('new_add_failed', 'Yeni ekle başarısız.'));
						return;
					}
					window.alert((res.data && res.data.mesaj) || tilfyT('media_added', 'Medya eklendi.'));
					window.location.reload();
				}).fail(function () {
					window.alert(tilfyT('new_add_failed', 'Yeni ekle başarısız.'));
				});
			}
		});
	});

	$('#tilfy-paylasim-one-cikan-sec-btn').on('click', function () {
		var secili = paylasimSeciliIds();
		if (!secili.length) {
			window.alert(tilfyT('retry_min_one_share', 'En az bir paylaşım seçin.'));
			return;
		}
		ajaxIstek('tilfy_paylasim_one_cikani_kullan', {
			paylasim_idler: secili,
			yeniden: 1
		}, 120000).done(function (res) {
			if (!res.success) {
				window.alert((res.data && res.data.mesaj) || tilfyT('featured_apply_failed', 'Öne çıkan uygulanamadı.'));
				return;
			}
			window.alert((res.data && res.data.mesaj) || tilfyT('featured_used', 'Öne çıkan kullanıldı.'));
			window.location.reload();
		}).fail(function (xhr) {
			var mesaj = (xhr.responseJSON && xhr.responseJSON.data && xhr.responseJSON.data.mesaj) || tilfyT('featured_apply_failed', 'Öne çıkan uygulanamadı.');
			window.alert(mesaj);
		});
	});

	$(document).on('click', '.tilfy-paylasim-medya-ata', function (e) {
		e.preventDefault();
		e.stopPropagation();
		var id = $(this).data('paylasim-id');
		if (!id) {
			return;
		}
		tilfyMedyaSec({
			onSelect: function (dosya) {
				ajaxIstek('tilfy_paylasim_medya_ata', {
					paylasim_id: id,
					attachment_id: dosya.id,
					yeniden: 1
				}, 60000).done(function (res) {
					if (!res.success) {
						window.alert((res.data && res.data.mesaj) || tilfyT('new_add_failed', 'Yeni ekle başarısız.'));
						return;
					}
					window.location.reload();
				}).fail(function () {
					window.alert(tilfyT('new_add_failed', 'Yeni ekle başarısız.'));
				});
			}
		});
	});

	$(document).on('click', '.tilfy-paylasim-one-cikan', function (e) {
		e.preventDefault();
		e.stopPropagation();
		var id = $(this).data('paylasim-id');
		if (!id) {
			return;
		}
		ajaxIstek('tilfy_paylasim_one_cikani_kullan', {
			paylasim_id: id,
			yeniden: 1
		}, 60000).done(function (res) {
			if (!res.success) {
				window.alert((res.data && res.data.mesaj) || tilfyT('featured_apply_failed', 'Öne çıkan uygulanamadı.'));
				return;
			}
			window.location.reload();
		}).fail(function (xhr) {
			var mesaj = (xhr.responseJSON && xhr.responseJSON.data && xhr.responseJSON.data.mesaj) || tilfyT('featured_apply_failed', 'Öne çıkan uygulanamadı.');
			window.alert(mesaj);
		});
	});

	$(document).on('click', '.tilfy-paylasim-manuel-tamam', function (e) {
		e.preventDefault();
		e.stopPropagation();
		var id = $(this).data('paylasim-id');
		if (!id) {
			return;
		}
		var hedefUrl = window.prompt('Hedef URL (isteğe bağlı):', '') || '';
		ajaxIstek('tilfy_manuel_tamam', { paylasim_id: id, hedef_url: hedefUrl }, 30000).done(function (res) {
			if (!res.success) {
				window.alert((res.data && res.data.mesaj) || 'İşaretlenemedi.');
				return;
			}
			window.location.reload();
		}).fail(function (xhr) {
			var mesaj = (xhr.responseJSON && xhr.responseJSON.data && xhr.responseJSON.data.mesaj) || 'İşaretlenemedi.';
			window.alert(mesaj);
		});
	});

	$(document).on('click', '.tilfy-paylasim-tekrar', function (e) {
		e.preventDefault();
		e.stopPropagation();
		var id = $(this).data('paylasim-id');
		if (!id) {
			return;
		}
		ajaxIstek('tilfy_paylasim_yeniden', { paylasim_id: id }, 60000).done(function (res) {
			if (!res.success) {
				window.alert(tilfyT('retry_failed', 'Yeniden deneme başarısız.'));
				return;
			}
			window.location.reload();
		}).fail(function () {
			window.alert(tilfyT('retry_failed', 'Yeniden deneme başarısız.'));
		});
	});

	$(document).on('click', '.tilfy-paylasim-yoksay', function (e) {
		e.preventDefault();
		e.stopPropagation();
		var id = $(this).data('paylasim-id');
		if (!id) {
			return;
		}
		if (!window.confirm(tilfyT('ignore_share_confirm', 'Bu paylaşım yok sayılsın mı? Kuyruk iptal edilir ve kayıt silinir.'))) {
			return;
		}
		ajaxIstek('tilfy_paylasim_yoksay', { paylasim_id: id }, 60000).done(function (res) {
			if (!res.success) {
				window.alert((res.data && res.data.mesaj) || tilfyT('ignore_failed', 'Yok sayılamadı.'));
				return;
			}
			$('.tilfy-paylasim-kart[data-paylasim-id="' + id + '"]').fadeOut(200, function () {
				$(this).remove();
			});
		}).fail(function () {
			window.alert(tilfyT('ignore_failed', 'Yok sayılamadı.'));
		});
	});

	$('#tilfy-toplu-uygula').on('click', function () {
		var tip = $('#tilfy-toplu-islem-sec').val();
		var platform = $('#tilfy-toplu-platform-sec').val() || '';
		var secili = paylasimSeciliIds();
		if (!tip) {
			window.alert(tilfyT('select_action', 'İşlem seçin.'));
			return;
		}
		if (tip === 'platform' && !platform) {
			window.alert(tilfyT('select_platform_required', 'Platform seçin.'));
			return;
		}
		if (tip === 'secili' && !secili.length) {
			window.alert(tilfyT('retry_min_one_share', 'En az bir paylaşım seçin.'));
			return;
		}
		var mesaj = 'Seçilen kayıtlar silinsin mi? Sosyal medyadaki gönderiler kalır.';
		if (tip === 'hata') {
			mesaj = 'Hatalı kayıtlar silinsin mi?';
		} else if (tip === 'basari') {
			mesaj = 'Yüklenen kayıtlar silinsin mi?';
		} else if (tip === 'platform') {
			mesaj = platformEtiketBul(platform) + ' kayıtları silinsin mi?';
		}
		if (!window.confirm(mesaj)) {
			return;
		}
		topluSilAjax(tip, platform, secili).done(function (res) {
			if (!res.success) {
				window.alert(tilfyT('delete_failed', 'Silme işlemi başarısız.'));
				return;
			}
			window.alert(res.data.mesaj || (res.data.adet + ' kayıt silindi.'));
			window.location.reload();
		}).fail(function () {
			window.alert(tilfyT('delete_failed', 'Silme işlemi başarısız.'));
		});
	});

	function platformEtiketBul(anahtar) {
		if (tilfyAdmin.platformlar && tilfyAdmin.platformlar[anahtar]) {
			return tilfyAdmin.platformlar[anahtar].etiket || anahtar;
		}
		return anahtar;
	}

	function topluSilAjax(tip, platform, secili) {
		return ajaxIstek('tilfy_paylasim_toplu_sil', {
			tip: tip,
			platform: platform || '',
			secili: secili || []
		}, 120000);
	}

	$(document).on('click', '[data-toplu]', function () {
		var tip = $(this).data('toplu');
		if (tip === 'tumu') {
			return;
		}
		var platform = $('#tilfy-toplu-platform-sec').val() || '';
		var secili = $('.tilfy-paylasim-sec:checked').map(function () {
			return $(this).val();
		}).get();
		if (tip === 'platform' && !platform) {
			window.alert(tilfyT('select_platform_first', 'Önce platform seçin.'));
			return;
		}
		if (tip === 'secili' && !secili.length) {
			window.alert(tilfyT('select_at_least_one_record', 'En az bir kayıt seçin.'));
			return;
		}
		var mesaj = 'Seçilen kayıtlar Tilfy listesinden silinsin mi? Sosyal medyadaki gönderiler kalır.';
		if (tip === 'tumu') {
			mesaj = 'Tüm Tilfy paylaşım kayıtları silinsin mi? Sosyal medyadaki gönderiler kalır.';
		} else if (tip === 'hata') {
			mesaj = 'Hatalı Tilfy kayıtları silinsin mi? Sosyal medyadaki gönderiler kalır.';
		} else if (tip === 'basari') {
			mesaj = 'Yüklenen Tilfy kayıtları listeden silinsin mi? Sosyal medyadaki gönderiler kalır.';
		} else if (tip === 'platform') {
			mesaj = platformEtiketBul(platform) + ' kayıtları Tilfy listesinden silinsin mi? O platformdaki gönderiler silinmez.';
		}
		if (!window.confirm(mesaj)) {
			return;
		}
		topluSilAjax(tip, platform, secili).done(function (res) {
			if (!res.success) {
				window.alert(tilfyT('delete_failed', 'Silme işlemi başarısız.'));
				return;
			}
			window.alert(res.data.mesaj || (res.data.adet + ' kayıt silindi.'));
			window.location.reload();
		}).fail(function () {
			window.alert(tilfyT('delete_failed', 'Silme işlemi başarısız.'));
		});
	});

	$('.tilfy-th-sort').on('click', function () {
		var $th = $(this);
		var key = $th.data('sort');
		var type = $th.data('type') || 'text';
		var asc = !$th.hasClass('is-asc');
		$('.tilfy-th-sort').removeClass('is-asc is-desc');
		$th.addClass(asc ? 'is-asc' : 'is-desc');
		var $tbody = $('#tilfy-paylasim-tbody');
		var $rows = $tbody.find('tr[data-paylasim-id]').get();
		$rows.sort(function (a, b) {
			var av = $(a).data(key) || '';
			var bv = $(b).data(key) || '';
			if (type === 'date') {
				av = new Date(String(av).replace(' ', 'T')).getTime() || 0;
				bv = new Date(String(bv).replace(' ', 'T')).getTime() || 0;
			} else {
				av = String(av).toLowerCase();
				bv = String(bv).toLowerCase();
			}
			if (av < bv) {
				return asc ? -1 : 1;
			}
			if (av > bv) {
				return asc ? 1 : -1;
			}
			return 0;
		});
		$.each($rows, function (_, row) {
			$tbody.append(row);
		});
	});

	function arkaPlanKaydet() {
		try {
			localStorage.setItem(
				AKTIVITE_LS,
				JSON.stringify({
					mod: senkronAktif ? 'senkron' : (canliAktif ? 'paylasim' : ''),
					paylasimIds: canliIds.slice()
				})
			);
		} catch (e) {
			/* ignore */
		}
	}

	function arkaPlanTemizle() {
		try {
			localStorage.removeItem(AKTIVITE_LS);
		} catch (e) {
			/* ignore */
		}
	}

	function arkaPlanYukle() {
		try {
			var ham = localStorage.getItem(AKTIVITE_LS);
			if (!ham) {
				return null;
			}
			return JSON.parse(ham);
		} catch (e) {
			return null;
		}
	}

	function aracCubuguOlustur() {
		if ($('#tilfy-arac-cubugu').length) {
			return;
		}
		var ikon = (tilfyAdmin.ikonlar && tilfyAdmin.ikonlar.ekle) ? tilfyAdmin.ikonlar.ekle : '';
		$('body').append(
			'<div class="tilfy-arac-cubugu" id="tilfy-arac-cubugu" aria-live="polite">' +
				'<button type="button" class="tilfy-arac-dugme" id="tilfy-arac-dugme" title="Tilfy arka plan işlemleri">' +
					(ikon ? '<img src="' + ikon + '" alt="" class="tilfy-arac-dugme__ikon" />' : '<span class="tilfy-arac-dugme__spinner"></span>') +
					'<span class="tilfy-arac-dugme__say" id="tilfy-arac-say">0</span>' +
				'</button>' +
				'<div class="tilfy-arac-panel" id="tilfy-arac-panel" hidden>' +
					'<header class="tilfy-arac-panel__ust">' +
						'<strong>Tilfy arka plan</strong>' +
						'<button type="button" class="tilfy-btn tilfy-btn--kucuk tilfy-btn--ghost" id="tilfy-arac-kapat">×</button>' +
					'</header>' +
					'<p class="tilfy-arac-panel__ozet" id="tilfy-arac-ozet">İşlem yok</p>' +
					'<div class="tilfy-arac-liste" id="tilfy-arac-liste"></div>' +
					'<div class="tilfy-arac-paylasim" id="tilfy-arac-paylasim"></div>' +
					'<footer class="tilfy-arac-panel__alt">' +
						'<button type="button" class="tilfy-btn tilfy-btn--ikincil tilfy-btn--kucuk" id="tilfy-arac-duraklat">Duraklat</button>' +
						'<button type="button" class="tilfy-btn tilfy-btn--ikincil tilfy-btn--kucuk" id="tilfy-arac-devam" hidden>Devam</button>' +
						'<button type="button" class="tilfy-btn tilfy-btn--ghost tilfy-btn--kucuk" id="tilfy-arac-iptal">Bekleyenleri iptal</button>' +
						'<button type="button" class="tilfy-btn tilfy-btn--ghost tilfy-btn--kucuk" id="tilfy-arac-takili-iptal">Takılı işleri iptal</button>' +
						'<button type="button" class="tilfy-btn tilfy-btn--birincil tilfy-btn--kucuk" id="tilfy-arac-genislet" hidden>Tam ekran</button>' +
					'</footer>' +
				'</div>' +
			'</div>'
		);
	}

	function aracCubuguGoster() {
		aracCubuguOlustur();
		$('#tilfy-arac-cubugu').addClass('is-visible');
	}

	function aracCubuguGizle() {
		$('#tilfy-arac-cubugu').removeClass('is-visible is-busy');
		$('#tilfy-arac-panel').prop('hidden', true);
		arkaPlanPanelAcik = false;
	}

	function aracPanelAcKapat() {
		arkaPlanPanelAcik = !arkaPlanPanelAcik;
		$('#tilfy-arac-panel').prop('hidden', !arkaPlanPanelAcik);
	}

	function aracDuraklatUi() {
		var durak = arkaPlanDuraklat;
		$('#tilfy-arac-duraklat').prop('hidden', durak);
		$('#tilfy-arac-devam').prop('hidden', !durak);
		$('#tilfy-arac-cubugu').toggleClass('is-paused', durak);
		islemDuraklatUi();
	}

	function islemDuraklatUi() {
		var durak = arkaPlanDuraklat;
		$('#tilfy-islem-duraklat, #tilfy-arac-duraklat').prop('hidden', durak);
		$('#tilfy-islem-devam, #tilfy-arac-devam').prop('hidden', !durak);
		$('#tilfy-islem-yoneticisi').toggleClass('is-paused', durak);
	}

	function tilfyMetinEsc(metin) {
		return String(metin || '')
			.replace(/&/g, '&amp;')
			.replace(/</g, '&lt;')
			.replace(/>/g, '&gt;')
			.replace(/"/g, '&quot;');
	}

	function islemGorselHtml(kapak) {
		if (kapak) {
			return '<img class="tilfy-iy-thumb" src="' + tilfyMetinEsc(kapak) + '" alt="" loading="lazy" width="44" height="44" />';
		}
		return '<span class="tilfy-iy-thumb tilfy-iy-thumb--bos" aria-hidden="true"></span>';
	}

	function islemBaglantiHtml(oge, tip) {
		if (oge.kaynak_url) {
			return '<a class="tilfy-link" href="' + tilfyMetinEsc(oge.kaynak_url) + '" target="_blank" rel="noopener noreferrer">' + tilfyT('source_link', 'Kaynak') + '</a>';
		}
		return '<span class="tilfy-muted">-</span>';
	}

	function islemIcerikIdHucre(oge) {
		var id = oge.icerik_id || 0;
		if (id <= 0) {
			return '<span class="tilfy-muted">-</span>';
		}
		return '<button type="button" class="tilfy-iy-detay-ac" data-icerik-id="' + id + '">#' + id + '</button>';
	}

	function islemDetayModalKapat() {
		$('#tilfy-islem-detay-modal').prop('hidden', true).removeClass('is-active');
		$('body').removeClass('tilfy-iy-modal-acik');
	}

	function islemDetayModalAc(oge) {
		if (!oge) {
			return;
		}
		var baslik = oge.baslik || (tilfyT('job_detail_content_id', 'İçerik ID') + ' #' + (oge.icerik_id || '?'));
		var html = '<dl class="tilfy-iy-detay-liste">';
		html += '<div><dt>' + tilfyT('job_detail_title', 'Başlık') + '</dt><dd>' + tilfyMetinEsc(baslik) + '</dd></div>';
		if (oge.aciklama) {
			html += '<div><dt>' + tilfyT('job_detail_description', 'Açıklama') + '</dt><dd class="tilfy-iy-detay-aciklama">' + tilfyMetinEsc(oge.aciklama) + '</dd></div>';
		}
		html += '<div><dt>' + tilfyT('job_detail_content_id', 'İçerik ID') + '</dt><dd>#' + (oge.icerik_id || '-') + '</dd></div>';
		if (oge.kaynak_id) {
			html += '<div><dt>' + tilfyT('job_detail_meta_id', 'Meta ID') + '</dt><dd><code>' + tilfyMetinEsc(oge.kaynak_id) + '</code></dd></div>';
		}
		if (oge.kaynak_url) {
			html += '<div><dt>' + tilfyT('job_detail_meta_url', 'Meta URL') + '</dt><dd><a class="tilfy-link" href="' + tilfyMetinEsc(oge.kaynak_url) + '" target="_blank" rel="noopener noreferrer">' + tilfyMetinEsc(oge.kaynak_url) + '</a></dd></div>';
		}
		if (oge.indirme_url) {
			html += '<div><dt>' + tilfyT('job_detail_download_url', 'İndirme URL') + '</dt><dd><a class="tilfy-link tilfy-link--ikincil" href="' + tilfyMetinEsc(oge.indirme_url) + '" target="_blank" rel="noopener noreferrer">' + tilfyMetinEsc(oge.indirme_url) + '</a></dd></div>';
		} else if (oge.islem === 'medya_indir' || oge.medya_hazir === false) {
			html += '<div><dt>' + tilfyT('job_detail_download_url', 'İndirme URL') + '</dt><dd class="tilfy-muted">' + tilfyT('job_detail_download_pending', 'İndirme anında Meta API ile alınacak') + '</dd></div>';
		}
		if (oge.id) {
			html += '<div><dt>' + tilfyT('job_detail_queue', 'Kuyruk') + '</dt><dd>#' + oge.id + (oge.paylasim_id ? ' · ' + tilfyT('share_label', 'Paylaşım') + ' #' + oge.paylasim_id : '') + '</dd></div>';
		}
		if (oge.tur || oge.islem) {
			html += '<div><dt>' + tilfyT('job_detail_operation', 'İşlem') + '</dt><dd>' + tilfyMetinEsc(oge.tur || oge.islem) + '</dd></div>';
		}
		if (oge.yol) {
			html += '<div><dt>' + tilfyT('job_detail_direction', 'Yön') + '</dt><dd>' + tilfyMetinEsc(oge.yol) + '</dd></div>';
		}
		if (oge.ozet) {
			html += '<div><dt>' + tilfyT('job_detail_status_summary', 'Durum özeti') + '</dt><dd>' + tilfyMetinEsc(oge.ozet) + '</dd></div>';
		}
		if (oge.detay) {
			html += '<div><dt>' + tilfyT('job_detail_detail', 'Detay') + '</dt><dd>' + tilfyMetinEsc(oge.detay) + '</dd></div>';
		}
		if (oge.hata || oge.hata_mesaji) {
			html += '<div><dt>' + tilfyT('job_detail_error', 'Hata') + '</dt><dd class="tilfy-medya-hata">' + tilfyMetinEsc(oge.hata || oge.hata_mesaji) + '</dd></div>';
		}
		if (oge.deneme) {
			html += '<div><dt>' + tilfyT('job_detail_attempt', 'Deneme') + '</dt><dd>' + oge.deneme + '</dd></div>';
		}
		if (oge.guncelleme) {
			html += '<div><dt>' + tilfyT('job_detail_last_update', 'Son güncelleme') + '</dt><dd>' + tilfyMetinEsc(oge.guncelleme) + '</dd></div>';
		}
		html += '</dl>';
		$('#tilfy-islem-detay-baslik').text(baslik);
		$('#tilfy-islem-detay-icerik').html(html);
		$('#tilfy-islem-detay-modal').data('kuyruk-id', oge.id || 0).prop('hidden', false).addClass('is-active');
		$('body').addClass('tilfy-iy-modal-acik');
	}

	function islemAktifIcerikAnahtar(is) {
		if (!is) {
			return '';
		}
		var iid = parseInt(is.icerik_id, 10) || 0;
		var pid = parseInt(is.paylasim_id, 10) || 0;
		return String(is.islem || '') + ':' + (iid > 0 ? 'i' + iid : 'p' + pid);
	}

	function islemAktifIlerlemeKaydet() {
		try {
			sessionStorage.setItem('tilfy_aktif_ilerleme', JSON.stringify(islemAktifIlerleme));
		} catch (e) { /* ignore */ }
	}

	function islemAktifIlerlemeYukle() {
		try {
			var ham = sessionStorage.getItem('tilfy_aktif_ilerleme');
			if (!ham) {
				return;
			}
			var veri = JSON.parse(ham);
			if (veri && veri.anahtar && (veri.baslangic > 0 || veri.mod === 'erteleme')) {
				islemAktifIlerleme = veri;
			}
		} catch (e) { /* ignore */ }
	}

	function islemKuyrukYuzdeHesapla(is) {
		if (!is) {
			return 0;
		}
		if (is.bekleme_erteleme) {
			return 4;
		}
		var anahtar = islemAktifIcerikAnahtar(is);
		if (anahtar && islemAktifIlerleme.anahtar === anahtar && islemAktifIlerleme.baslangic && is.durum === 'calisiyor') {
			var gecen = (Date.now() - islemAktifIlerleme.baslangic) / 1000;
			var artis = is.islem === 'medya_indir' ? 0.22 : 0.12;
			return Math.min(96, islemAktifIlerleme.baz + Math.floor(gecen * artis));
		}
		if (is.durum === 'calisiyor') {
			return is.yuzde || 8;
		}
		return is.yuzde || 4;
	}

	function islemAktifIsGuncelle(calisan, isler, bekleyen, duraklat) {
		var $kutu = $('#tilfy-islem-aktif-is');
		if (!$kutu.length) {
			return;
		}
		var is = null;
		var mod = '';
		var ertelemeMedya = (isler || []).filter(function (i) {
			return i.bekleme_erteleme && i.islem === 'medya_indir';
		})[0];
		if (ertelemeMedya) {
			is = ertelemeMedya;
			mod = 'erteleme';
		} else if (calisan && calisan.length) {
			var calisanAktif = calisan.filter(function (i) { return !i.bekleme_erteleme; });
			var medyaCalisan = calisanAktif.filter(function (i) { return i.islem === 'medya_indir'; })[0];
			is = medyaCalisan || calisanAktif[0] || calisan[0];
			mod = 'calisiyor';
		} else if (!duraklat && bekleyen > 0 && isler && isler.length) {
			var siradaListe = isler.filter(function (i) { return !i.bekleme_erteleme; });
			var medyaSirada = siradaListe.filter(function (i) { return i.islem === 'medya_indir'; })[0];
			is = medyaSirada || siradaListe[0] || null;
			mod = is ? 'sirada' : '';
		}
		if (!is) {
			$kutu.prop('hidden', true);
			islemAktifIlerleme = { id: 0, anahtar: '', baslangic: 0, baz: 0, islem: '', mod: '', deneme: 0 };
			try { sessionStorage.removeItem('tilfy_aktif_ilerleme'); } catch (e) { /* ignore */ }
			return;
		}
		var anahtar = islemAktifIcerikAnahtar(is);
		var yuzde = islemKuyrukYuzdeHesapla(is);
		if (is.bekleme_erteleme || mod === 'erteleme') {
			mod = 'erteleme';
			islemAktifIlerleme = {
				id: is.id,
				anahtar: anahtar,
				baslangic: 0,
				baz: yuzde,
				islem: is.islem || '',
				mod: 'erteleme',
				deneme: parseInt(is.deneme, 10) || 0
			};
		} else if (islemAktifIlerleme.anahtar !== anahtar) {
			islemAktifIlerleme = {
				id: is.id,
				anahtar: anahtar,
				baslangic: Date.now(),
				baz: yuzde,
				islem: is.islem || '',
				mod: mod,
				deneme: parseInt(is.deneme, 10) || 0
			};
		} else {
			islemAktifIlerleme.id = is.id;
			islemAktifIlerleme.mod = mod;
			islemAktifIlerleme.islem = is.islem || islemAktifIlerleme.islem;
			if ((parseInt(is.deneme, 10) || 0) > (islemAktifIlerleme.deneme || 0)) {
				islemAktifIlerleme.deneme = parseInt(is.deneme, 10) || 0;
			}
			yuzde = islemKuyrukYuzdeHesapla(is);
		}
		islemAktifIlerlemeKaydet();
		$kutu.prop('hidden', false).toggleClass('is-sirada', mod === 'sirada').toggleClass('is-erteleme', mod === 'erteleme');
		var baslik = (is.tur || is.etiket || is.islem || 'Aktif iş') + (is.icerik_id ? ' · İçerik #' + is.icerik_id : '');
		$('#tilfy-islem-aktif-baslik').text(baslik);
		var yuzdeMetin;
		if (is.bekleme_erteleme) {
			yuzdeMetin = 'Beklemede · ' + (is.bekleme_erteleme_etiket || 'CDN');
		} else {
			yuzdeMetin = (mod === 'sirada' && islemAktifIlerleme.deneme > 0 ? 'Tekrar · ' : (mod === 'sirada' ? 'Sırada · ' : 'Çalışıyor · ')) + yuzde + '%';
		}
		$('#tilfy-islem-aktif-yuzde').text(yuzdeMetin);
		$('#tilfy-islem-aktif-bar').css('width', yuzde + '%');
	}

	function islemAktifTickBaslat() {
		if (islemAktifTickTimer || !$('#tilfy-islem-yoneticisi-sayfa').length) {
			return;
		}
		islemAktifTickTimer = window.setInterval(function () {
			if (islemAktifIlerleme.mod === 'erteleme') {
				return;
			}
			var $aktif = $('#tilfy-islem-kuyruk tr.is-active, #tilfy-islem-kuyruk tr.is-sirada').not('.is-erteleme').first();
			if (!$aktif.length || !islemAktifIlerleme.id || islemAktifIlerleme.baslangic <= 0) {
				return;
			}
			var kid = parseInt($aktif.attr('data-kuyruk-id'), 10);
			if (!kid || !islemAktifIlerleme.anahtar) {
				return;
			}
			var yuzde = islemKuyrukYuzdeHesapla({
				id: kid,
				durum: islemAktifIlerleme.mod === 'calisiyor' ? 'calisiyor' : 'beklemede',
				islem: islemAktifIlerleme.islem,
				icerik_id: parseInt($aktif.attr('data-icerik-id'), 10) || 0,
				yuzde: islemAktifIlerleme.baz
			});
			var yuzdeMetin = (islemAktifIlerleme.mod === 'sirada' && islemAktifIlerleme.deneme > 0 ? 'Tekrar · ' : (islemAktifIlerleme.mod === 'sirada' ? 'Sırada · ' : 'Çalışıyor · ')) + yuzde + '%';
			islemAktifIlerlemeKaydet();
			$('#tilfy-islem-aktif-yuzde').text(yuzdeMetin);
			$('#tilfy-islem-aktif-bar').css('width', yuzde + '%');
			$aktif.find('.tilfy-islem-bar span').css('width', yuzde + '%');
			$aktif.find('.tilfy-islem-rozet').text(yuzdeMetin);
		}, 900);
	}

	function islemKuyrukTabloSatir(is, opts) {
		opts = opts || {};
		if (is && is.id) {
			var onceki = islemSatirDetayCache[is.id];
			if (onceki && onceki.indirme_url && !is.indirme_url) {
				is.indirme_url = onceki.indirme_url;
			}
			islemSatirDetayCache[is.id] = is;
		}
		var sinif = is.durum === 'calisiyor' ? 'is-active' : (opts.sirada ? 'is-sirada' : '');
		if (is.bekleme_erteleme) {
			sinif += ' is-erteleme';
		}
		var yuzde = islemKuyrukYuzdeHesapla(is);
		var durumEtiket = is.durum_etiket || (is.durum === 'calisiyor' ? 'Running' : 'Waiting');
		if (is.bekleme_erteleme) {
			durumEtiket = 'Waiting · ' + (is.bekleme_erteleme_etiket || 'CDN');
		} else if (is.durum === 'calisiyor') {
			durumEtiket = 'Running · ' + yuzde + '%';
		} else if (opts.sirada) {
			durumEtiket = 'Queued · ' + yuzde + '%';
		}
		var islemHucre = '<span class="tilfy-iy-tur">' + tilfyMetinEsc(is.tur || is.islem) + '</span>';
		if (is.id) {
			islemHucre += '<br /><small>#' + is.id + '</small>';
		}
		var barHtml = '';
		if (is.durum === 'calisiyor' && !is.bekleme_erteleme) {
			barHtml = '<div class="tilfy-islem-bar"><span style="width:' + yuzde + '%"></span></div>';
		}
		return (
			'<tr class="tilfy-islem-tr tilfy-islem-tr--tikla ' + sinif + '" data-kuyruk-id="' + (is.id || '') + '" data-icerik-id="' + (is.icerik_id || '') + '" tabindex="0" role="button">' +
				'<td class="tilfy-iy-col-sec"><input type="checkbox" class="tilfy-islem-kuyruk-sec" value="' + (is.id || '') + '" aria-label="Queue #' + (is.id || '') + '" /></td>' +
				'<td class="tilfy-iy-col-gorsel">' + islemGorselHtml(is.kapak_url) + '</td>' +
				'<td>' + islemHucre + '</td>' +
				'<td>' + islemIcerikIdHucre(is) + '</td>' +
				'<td>' + tilfyMetinEsc(is.yol || '-') + '</td>' +
				'<td><span class="tilfy-islem-rozet tilfy-islem-rozet--' + (is.durum === 'calisiyor' ? 'calisiyor' : (is.bekleme_erteleme ? 'bekliyor' : 'bekliyor')) + '">' + tilfyMetinEsc(durumEtiket) + '</span>' + barHtml + '</td>' +
				'<td class="tilfy-islem-linkler">' + islemBaglantiHtml(is, 'kuyruk') + '</td>' +
			'</tr>'
		);
	}

	function islemPaylasimTabloSatir(p) {
		var sinif = p.durum === 'yukleniyor' ? 'is-active' : (p.durum === 'zamanlandi' ? 'is-zamanlandi' : (p.durum === 'sirada' ? 'is-sirada' : ''));
		var durumEtiket = p.durum_etiket || p.durum;
		if (p.durum === 'yukleniyor' && p.medya_hazir === false) {
			durumEtiket = 'Downloading media';
		} else if (p.durum === 'yukleniyor') {
			durumEtiket = 'Uploading · ' + (p.yuzde || 0) + '%';
		} else if (p.durum === 'beklemede' && p.medya_hazir === false) {
			durumEtiket = 'Waiting for media download';
		} else if (p.durum === 'beklemede' && p.kuyrukta) {
			durumEtiket = 'Waiting in queue';
		}
		var detay = p.hata_mesaji || p.detay || '';
		var rozetSinif = p.durum === 'yukleniyor' ? 'calisiyor' : (p.durum === 'zamanlandi' ? 'zamanlandi' : (p.durum === 'sirada' ? 'sirada' : 'bekliyor'));
		var otomasyonRozet = p.kaynak === 'otomasyon' ? ' <span class="tilfy-rozet tilfy-rozet--otomasyon">Automatic</span>' : '';
		return (
			'<tr class="tilfy-islem-tr ' + sinif + '" data-paylasim-id="' + p.id + '">' +
				'<td class="tilfy-iy-col-sec"><input type="checkbox" class="tilfy-islem-paylasim-sec" value="' + p.id + '" aria-label="Share #' + p.id + '" /></td>' +
				'<td class="tilfy-iy-col-gorsel">' + islemGorselHtml(p.kapak_url) + '</td>' +
				'<td><span class="tilfy-iy-tur">' + tilfyMetinEsc(platformEtiket(p.hedef_platform)) + '</span><br /><small>Share #' + p.id + '</small></td>' +
				'<td>' + islemIcerikIdHucre(p) + '</td>' +
				'<td>' + tilfyMetinEsc(p.yol || platformEtiket(p.hedef_platform)) + '</td>' +
				'<td class="tilfy-islem-ne">' + tilfyMetinEsc(detay) + (p.durum === 'yukleniyor' ? '<div class="tilfy-islem-bar"><span style="width:' + (p.yuzde || 0) + '%"></span></div>' : '') + '</td>' +
				'<td><span class="tilfy-islem-rozet tilfy-islem-rozet--' + rozetSinif + '">' + tilfyMetinEsc(durumEtiket) + '</span>' + otomasyonRozet + '</td>' +
				'<td class="tilfy-islem-linkler">' + islemBaglantiHtml(p, 'paylasim') + '</td>' +
			'</tr>'
		);
	}

	function islemApiYanitGuncelle(debug) {
		var $hedef = $('#tilfy-islem-api-yanit');
		if (!$hedef.length || !debug) {
			return;
		}
		var api = debug.api_yanitlari || {};
		var hatalar = debug.paylasim_hatalari || [];
		var medyaHatalar = debug.medya_hatalari || [];
		var platformlar = Object.keys(api);
		if (!platformlar.length && !hatalar.length && !medyaHatalar.length) {
			$hedef.empty();
			return;
		}
		var html = '';
		if (medyaHatalar.length) {
			html += '<div class="tilfy-iy-api-blok"><h3>Medya indirme hataları</h3><ul class="tilfy-iy-api-hata-liste">';
			medyaHatalar.forEach(function (h) {
				html += '<li class="tilfy-iy-api-hata">';
				html += '<span class="tilfy-iy-api-rozet tilfy-iy-api-rozet--hata">İndirme</span> ';
				if (h.platform) {
					html += '<strong>' + tilfyMetinEsc(platformEtiket(h.platform)) + '</strong> · ';
				}
				html += 'İçerik #' + (h.icerik_id || '-');
				if (h.baslik) {
					html += ' · ' + tilfyMetinEsc(h.baslik);
				}
				if (h.kuyruk_id) {
					html += ' · Kuyruk #' + h.kuyruk_id;
				}
				html += '<br /><span class="tilfy-iy-api-mesaj">' + tilfyMetinEsc(h.hata_mesaji) + '</span>';
				if (h.guncelleme_etiket) {
					html += '<br /><small class="tilfy-muted">' + tilfyMetinEsc(h.guncelleme_etiket) + '</small>';
				}
				html += '</li>';
			});
			html += '</ul></div>';
		}
		if (hatalar.length) {
			html += '<div class="tilfy-iy-api-blok"><h3>Son paylaşım hataları</h3><ul class="tilfy-iy-api-hata-liste">';
			hatalar.forEach(function (h) {
				html += '<li class="tilfy-iy-api-hata">';
				html += '<span class="tilfy-iy-api-rozet tilfy-iy-api-rozet--hata">Hata</span> ';
				html += '<strong>' + tilfyMetinEsc(platformEtiket(h.platform)) + '</strong> · Paylaşım #' + h.paylasim_id;
				if (h.baslik) {
					html += ' · ' + tilfyMetinEsc(h.baslik);
				}
				html += '<br /><span class="tilfy-iy-api-mesaj">' + tilfyMetinEsc(h.hata_mesaji) + '</span>';
				if (h.guncelleme_etiket) {
					html += '<br /><small class="tilfy-muted">' + tilfyMetinEsc(h.guncelleme_etiket) + '</small>';
				}
				html += '</li>';
			});
			html += '</ul></div>';
		}
		platformlar.forEach(function (pl) {
			var satirlar = api[pl] || [];
			if (!satirlar.length) {
				return;
			}
			html += '<div class="tilfy-iy-api-blok"><h3>' + tilfyMetinEsc(platformEtiket(pl)) + '</h3>';
			satirlar.forEach(function (s) {
				var rozet = s.ok ? 'ok' : 'hata';
				var rozetMetin = s.ok ? 'Başarılı' : 'Hata';
				html += '<article class="tilfy-iy-api-satir tilfy-iy-api-satir--' + rozet + '">';
				html += '<header class="tilfy-iy-api-satir-ust">';
				html += '<span class="tilfy-iy-api-rozet tilfy-iy-api-rozet--' + rozet + '">' + rozetMetin + '</span> ';
				html += '<code>' + tilfyMetinEsc(s.baglam || '-') + '</code>';
				if (s.http_kod) {
					html += ' <span class="tilfy-muted">HTTP ' + s.http_kod + '</span>';
				}
				if (s.zaman_etiket) {
					html += ' <span class="tilfy-muted">' + tilfyMetinEsc(s.zaman_etiket) + '</span>';
				}
				html += '</header>';
				if (s.mesaj) {
					html += '<p class="tilfy-iy-api-mesaj">' + tilfyMetinEsc(s.mesaj) + '</p>';
				}
				if (s.paylasim_id) {
					html += '<p class="tilfy-iy-api-meta">Paylaşım #' + s.paylasim_id + (s.icerik_id ? ' · İçerik #' + s.icerik_id : '') + '</p>';
				} else if (s.icerik_id) {
					html += '<p class="tilfy-iy-api-meta">İçerik #' + s.icerik_id + '</p>';
				}
				if (s.govde) {
					html += '<pre class="tilfy-iy-api-govde">' + tilfyMetinEsc(s.govde) + '</pre>';
				}
				html += '</article>';
			});
			html += '</div>';
		});
		$hedef.html(html);
	}

	function islemDebugGuncelle(debug) {
		if (!$('#tilfy-islem-debug').length || !debug) {
			return;
		}
		var html = '';
		html += '<dl class="tilfy-iy-debug-grid">';
		html += '<div><dt>Last cron</dt><dd>' + tilfyMetinEsc(debug.son_cron_etiket || '-') + (debug.cron_gecikme ? ' <span class="tilfy-iy-debug-uyari">Delay possible</span>' : '') + '</dd></div>';
		html += '<div><dt>Next cron</dt><dd>' + tilfyMetinEsc(debug.sonraki_cron_etiket || '-') + '</dd></div>';
		if (debug.zaman_dilimi) {
			html += '<div><dt>Timezone</dt><dd>' + tilfyMetinEsc(debug.zaman_dilimi) + '</dd></div>';
		}
		html += '<div><dt>Queue paused</dt><dd>' + (debug.duraklatildi ? 'Yes' : 'No') + '</dd></div>';
		html += '<div><dt>Media download</dt><dd>' + (debug.medya_bekleyen || 0) + ' (real file)</dd></div>';
		html += '<div><dt>Pending shares</dt><dd>' + (debug.bekleyen_paylasim || 0) + '</dd></div>';
		html += '<div><dt>Overdue schedule</dt><dd>' + (debug.zamanlandi_gecikmis || 0) + '</dd></div>';
		html += '<div><dt>Duplicate records</dt><dd>' + (debug.yinelenen_paylasim || 0) + '</dd></div>';
		html += '<div><dt>Active automation</dt><dd>' + (debug.otomasyon_aktif || 0) + '</dd></div>';
		html += '</dl>';
		if (debug.islem_gruplari && debug.islem_gruplari.length) {
			html += '<p class="tilfy-islem-debug-gruplar">';
			debug.islem_gruplari.forEach(function (g) {
				html += '<span class="tilfy-iy-debug-etiket">' + tilfyMetinEsc(g.etiket || g.islem) + ' · ' + tilfyMetinEsc(g.durum_etiket || g.durum) + ' · ' + g.adet + '</span> ';
			});
			html += '</p>';
		}
		if (debug.takili_isler && debug.takili_isler.length) {
			html += '<p class="tilfy-iy-debug-takili"><strong>Stuck jobs:</strong> ';
			debug.takili_isler.forEach(function (t) {
				html += '#' + t.id + ' ' + tilfyMetinEsc(t.islem) + ' (' + t.dakika + ' min) ';
			});
			html += '</p>';
		}
		if (debug.notlar && debug.notlar.length) {
			html += '<ul class="tilfy-iy-debug-notlar">';
			debug.notlar.forEach(function (n) {
				html += '<li>' + tilfyMetinEsc(n) + '</li>';
			});
			html += '</ul>';
		}
		if (debug.kapak_log && debug.kapak_log.length) {
			html += '<div class="tilfy-iy-kapak-log"><h3 class="tilfy-iy-kapak-log__baslik">Cover activity log <span class="tilfy-muted">(' + debug.kapak_log.length + ' rows)</span></h3>';
			html += '<pre class="tilfy-iy-kapak-log__icerik">';
			debug.kapak_log.forEach(function (satir) {
				html += tilfyMetinEsc(satir) + '\n';
			});
			html += '</pre></div>';
		}
		$('#tilfy-islem-debug').html(html);
	}

	function islemSeciliKuyrukIdleri() {
		return $('.tilfy-islem-kuyruk-sec:checked').map(function () {
			return parseInt($(this).val(), 10);
		}).get().filter(Boolean);
	}

	function islemSeciliPaylasimIdleri() {
		return $('.tilfy-islem-paylasim-sec:checked').map(function () {
			return parseInt($(this).val(), 10);
		}).get().filter(Boolean);
	}

	function islemSecimGeriYukle(secim) {
		if (!secim) {
			return;
		}
		(secim.kuyruk || []).forEach(function (id) {
			$('.tilfy-islem-kuyruk-sec[value="' + id + '"]').prop('checked', true);
		});
		(secim.paylasim || []).forEach(function (id) {
			$('.tilfy-islem-paylasim-sec[value="' + id + '"]').prop('checked', true);
		});
		var kBoxes = $('.tilfy-islem-kuyruk-sec');
		if (kBoxes.length) {
			$('#tilfy-islem-kuyruk-tumu').prop('checked', kBoxes.length === kBoxes.filter(':checked').length);
		}
		var pBoxes = $('.tilfy-islem-paylasim-sec');
		if (pBoxes.length) {
			$('#tilfy-islem-paylasim-tumu').prop('checked', pBoxes.length === pBoxes.filter(':checked').length);
		}
	}

	function islemYoneticisiGuncelle(veri) {
		if (!$('#tilfy-islem-yoneticisi').length) {
			return;
		}
		var bekleyen = veri ? (veri.bekleyen || 0) : 0;
		var isler = veri ? (veri.isler || []) : [];
		var paylasimKuyruk = veri ? (veri.paylasim_kuyruk || []) : [];
		var paylasimAktif = veri ? (veri.paylasim_aktif || 0) : 0;
		var paylasimZamanli = veri ? (veri.paylasim_zamanli || 0) : 0;
		var calisan = isler.filter(function (is) {
			return is.durum === 'calisiyor';
		});
		duraklatSunucudanSenkron(veri);
		islemDuraklatUi();
		var $durum = $('#tilfy-islem-durum');
		var $saylar = $('#tilfy-islem-saylar');
		var mesgul = bekleyen > 0 || calisan.length > 0 || paylasimAktif > 0 || canliAktif || senkronAktif;
		if (arkaPlanDuraklat) {
			$durum.text(tilfyT('paused', 'Duraklatıldı')).attr('class', 'tilfy-iy-durum is-paused');
		} else if (calisan.length || canliAktif || senkronAktif) {
			$durum.text(tilfyT('running', 'Çalışıyor')).attr('class', 'tilfy-iy-durum is-busy');
		} else if (mesgul) {
			$durum.text(tilfyT('in_queue', 'Kuyrukta')).attr('class', 'tilfy-iy-durum is-queue');
		} else {
			$durum.text(tilfyT('idle', 'Boşta')).attr('class', 'tilfy-iy-durum is-idle');
		}
		$saylar.html(
			'<span class="tilfy-islem-sayi"><strong>' + bekleyen + '</strong> queue</span>' +
			'<span class="tilfy-islem-sayi"><strong>' + paylasimAktif + '</strong> shares</span>' +
			'<span class="tilfy-islem-sayi"><strong>' + paylasimZamanli + '</strong> scheduled</span>'
		);
		var gosterilen = veri && veri.kuyruk_gosterilen ? veri.kuyruk_gosterilen : isler.length;
		if ($('#tilfy-islem-kuyruk-say').length) {
			$('#tilfy-islem-kuyruk-say').text(bekleyen > gosterilen ? '(showing ' + gosterilen + ' / ' + bekleyen + ')' : '');
		}
		var duraklat = arkaPlanDuraklat || (veri && veri.duraklatildi);
		islemAktifIsGuncelle(calisan, isler, bekleyen, duraklat);
		var detayli = $('#tilfy-islem-yoneticisi-sayfa').length > 0;
		var secim = detayli ? {
			kuyruk: islemSeciliKuyrukIdleri()
		} : null;
		var $kuyruk = $('#tilfy-islem-kuyruk');
		$kuyruk.empty();
		if (!isler.length) {
			$kuyruk.html('<tr><td colspan="7" class="tilfy-islem-bos">Queue empty.</td></tr>');
		} else if (detayli) {
			var siradaIs = null;
			if (!duraklat && bekleyen > 0 && !calisan.length && isler.length) {
				siradaIs = isler.find(function (is) { return !is.bekleme_erteleme; }) || null;
			}
			var siradaId = siradaIs ? siradaIs.id : 0;
			isler.forEach(function (is) {
				$kuyruk.append(islemKuyrukTabloSatir(is, { sirada: siradaId > 0 && is.id === siradaId && !is.bekleme_erteleme }));
			});
		} else {
			isler.forEach(function (is) {
				$kuyruk.append(
					'<tr><td colspan="7">' + tilfyMetinEsc(is.etiket || is.islem) + ' - ' + (is.durum === 'calisiyor' ? 'Running' : 'Waiting') + '</td></tr>'
				);
			});
		}
		if (detayli) {
			islemSecimGeriYukle(secim);
		}
		if (detayli && veri && veri.debug) {
			islemDebugGuncelle(veri.debug);
			islemApiYanitGuncelle(veri.debug);
		}
		if (mesgul && !arkaPlanDuraklat && !arkaPlanTimer) {
			arkaPlanMotorBaslat();
		}
		var $modal = $('#tilfy-islem-detay-modal');
		if ($modal.hasClass('is-active')) {
			var kid = parseInt($modal.data('kuyruk-id'), 10);
			if (kid && islemSatirDetayCache[kid]) {
				islemDetayModalAc(islemSatirDetayCache[kid]);
			}
		}
	}

	function islemYoneticisiPollBaslat() {
		if (!$('#tilfy-islem-yoneticisi-sayfa').length) {
			return;
		}
		islemAktifIlerlemeYukle();
		islemAktifTickBaslat();
		function tur() {
			arkaPlanAktiviteCek().done(function (veri) {
				if (veri) {
					duraklatSunucudanSenkron(veri);
					aracDuraklatUi();
					islemYoneticisiGuncelle(veri);
					aracPanelGuncelle(veri);
				}
			}).always(function () {
				islemYoneticisiTimer = window.setTimeout(tur, 2500);
			});
		}
		tur();
	}

	function aracPanelGuncelle(veri) {
		if ($('#tilfy-islem-yoneticisi-sayfa').length) {
			islemYoneticisiGuncelle(veri);
			return;
		}
		aracCubuguOlustur();
		var bekleyen = veri ? (veri.bekleyen || 0) : 0;
		var isler = veri ? (veri.isler || []) : [];
		var paylasim = veri && veri.paylasim ? veri.paylasim : null;
		var toplamIs = bekleyen;
		if (paylasim && paylasim.toplam) {
			toplamIs = Math.max(toplamIs, (paylasim.toplam || 0) - (paylasim.tamamlanan || 0) + bekleyen);
		}
		if (toplamIs <= 0 && !canliAktif && !senkronAktif) {
			aracCubuguGizle();
			return;
		}
		aracCubuguGoster();
		$('#tilfy-arac-cubugu').addClass('is-busy');
		$('#tilfy-arac-say').text(bekleyen > 99 ? '99+' : bekleyen);
		duraklatSunucudanSenkron(veri);
		aracDuraklatUi();
		var ozet = '';
		if (arkaPlanDuraklat) {
			ozet = 'Duraklatıldı · kuyrukta ' + bekleyen + ' iş';
		} else if (senkronAktif) {
			ozet = 'Senkron devam ediyor · kuyrukta ' + bekleyen + ' iş';
		} else if (canliAktif) {
			ozet = 'Paylaşım devam ediyor · kuyrukta ' + bekleyen + ' iş';
		} else {
			ozet = 'Arka planda ' + bekleyen + ' iş';
		}
		$('#tilfy-arac-ozet').text(ozet);
		var $liste = $('#tilfy-arac-liste');
		$liste.empty();
		if (!isler.length) {
			$liste.html('<p class="tilfy-bos">Kuyruk boş veya işleniyor.</p>');
		} else {
			isler.forEach(function (is) {
				var sinif = 'tilfy-arac-is tilfy-arac-is--' + (is.durum || 'beklemede');
				$liste.append(
					'<div class="' + sinif + '">' +
						'<span class="tilfy-arac-is__etiket">' + (is.etiket || is.islem) + '</span>' +
						'<span class="tilfy-arac-is__durum">' + (is.durum === 'calisiyor' ? tilfyT('running', 'Çalışıyor') : 'Bekliyor') + '</span>' +
					'</div>'
				);
			});
		}
		var $pay = $('#tilfy-arac-paylasim');
		$pay.empty();
		if (paylasim && paylasim.paylasimlar && paylasim.paylasimlar.length) {
			paylasim.paylasimlar.forEach(function (p) {
				$pay.append(
					'<div class="tilfy-arac-paylasim-satir">' +
						'<span>' + platformEtiket(p.hedef_platform) + '</span>' +
						'<span>' + (p.durum_etiket || p.durum) + ' · ' + (p.yuzde || 0) + '%</span>' +
					'</div>'
				);
			});
		}
		$('#tilfy-arac-genislet').prop('hidden', !(canliAktif || senkronAktif));
	}

	function overlayKucult() {
		$('#tilfy-canli-overlay, #tilfy-senkron-overlay').removeClass('is-active');
		aracCubuguGoster();
		arkaPlanKaydet();
		if (!arkaPlanTimer) {
			arkaPlanMotorBaslat();
		}
	}

	function arkaPlanAktiviteCek() {
		return ajaxIstek('tilfy_aktivite_durum', { ids: canliIds.join(','), senkron_platform: senkronPlatform || '' }, 60000).then(function (res) {
			if (!res || !res.success) {
				kuyrukDiag('aktivite_ajax_hata', {
					success: !!(res && res.success),
					mesaj: res && res.data && res.data.mesaj ? res.data.mesaj : '',
					dosya: res && res.data && res.data.dosya ? res.data.dosya : '',
					satir: res && res.data && res.data.satir ? res.data.satir : ''
				});
				return null;
			}
			return res.data;
		}).fail(function (xhr) {
			var yanit = xhr && xhr.responseText ? String(xhr.responseText).slice(0, 800) : '';
			kuyrukDiag('aktivite_ajax_fail', {
				status: xhr && xhr.status,
				yanit: yanit
			});
			if (yanit) {
				console.error('[Tilfy Kuyruk] aktivite 500 yanit:', yanit);
			}
		});
	}

	function arkaPlanMotorTick() {
		if (!canliAktif && !senkronAktif) {
			var kayit = arkaPlanYukle();
			if (!kayit || !kayit.mod) {
				arkaPlanAktiviteCek().done(function (veri) {
					if (veri && veri.bekleyen > 0) {
						if (veri.duraklatildi) {
							arkaPlanDuraklat = true;
						}
						aracPanelGuncelle(veri);
						if (!arkaPlanDuraklat) {
							kuyrukAdim().always(function () {
								arkaPlanTimer = setTimeout(arkaPlanMotorTick, 800);
							});
						} else {
							arkaPlanTimer = setTimeout(arkaPlanMotorTick, 1500);
						}
					} else {
						aracCubuguGizle();
					}
				});
				return;
			}
		}
		arkaPlanAktiviteCek().done(function (veri) {
			function tickDevam(kuyrukVeri) {
				if (veri) {
					aracPanelGuncelle(veri);
					if (senkronAktif) {
						if (kuyrukVeri && kuyrukVeri.islem) {
							$('#tilfy-senkron-durum').text(senkronIslemMetni(kuyrukVeri.islem));
						} else if (veri.isler && veri.isler.length) {
							var calisan = veri.isler.filter(function (i) { return i.durum === 'calisiyor'; })[0];
							if (calisan) {
								$('#tilfy-senkron-durum').text(calisan.etiket || calisan.islem);
							}
						}
						var bek = veri.bekleyen || 0;
						if (bek > 0) {
							$('#tilfy-senkron-alt').text('Kuyrukta ' + bek + ' iş kaldı');
						} else {
							$('#tilfy-senkron-alt').text('');
						}
						var senkronBitti = bek === 0 && (!veri.isler || !veri.isler.length) && (kuyrukVeri ? kuyrukVeri.bos !== false : true);
						if (senkronBitti) {
							senkronAktif = false;
							$('.tilfy-senkron-btn').prop('disabled', false);
							arkaPlanTemizle();
							$('#tilfy-senkron-durum').text(tilfyT('sync_complete_reloading', 'Senkron tamamlandı. Liste yenileniyor...'));
							setTimeout(function () {
								senkronOverlayGizle();
								window.location.reload();
							}, 700);
							return;
						}
					}
					if (canliAktif && veri.paylasim) {
						overlayGuncelle(veri.paylasim);
						var kuyrukBekleyen = veri.paylasim.kuyruk_bekleyen || veri.bekleyen || 0;
						if (veri.paylasim.tamamlandi && kuyrukBekleyen === 0) {
							canliAktif = false;
							arkaPlanTemizle();
							$('#tilfy-canli-aciklama').text(tilfyT('all_shares_complete', 'Tüm paylaşımlar tamamlandı.'));
							overlayGizle();
							$('.tilfy-senkron-btn').prop('disabled', false);
							setTimeout(function () {
								aracCubuguGizle();
							}, 2500);
							return;
						}
					}
				}
				arkaPlanKaydet();
				arkaPlanTimer = setTimeout(arkaPlanMotorTick, arkaPlanDuraklat ? 1500 : 800);
			}
			if (!arkaPlanDuraklat && (canliAktif || senkronAktif)) {
				kuyrukAdim().done(function (res) {
					tickDevam(res.success ? res.data : null);
				}).fail(function () {
					tickDevam(null);
				});
				return;
			}
			tickDevam(null);
		}).fail(function () {
			arkaPlanTimer = setTimeout(arkaPlanMotorTick, 2000);
		});
	}

	function arkaPlanMotorBaslat() {
		if (arkaPlanTimer) {
			clearTimeout(arkaPlanTimer);
		}
		aracCubuguOlustur();
		if (!$('#tilfy-islem-yoneticisi-sayfa').length) {
			aracCubuguGoster();
		}
		arkaPlanMotorTick();
	}

	function arkaPlanDevamEt() {
		var kayit = arkaPlanYukle();
		if (!kayit) {
			arkaPlanAktiviteCek().done(function (veri) {
				duraklatSunucudanSenkron(veri);
				if (veri && veri.bekleyen > 0) {
					aracPanelGuncelle(veri);
					if (!arkaPlanDuraklat) {
						arkaPlanMotorBaslat();
					}
				}
			});
			return;
		}
		if (kayit.mod === 'paylasim' && kayit.paylasimIds && kayit.paylasimIds.length) {
			canliIds = kayit.paylasimIds.map(function (x) { return parseInt(x, 10); }).filter(Boolean);
			canliAktif = true;
		}
		if (kayit.mod === 'senkron') {
			senkronAktif = true;
			senkronDurumGuncelle({
				tip: 'calisiyor',
				baslik: tilfyT('sync_continuing', 'Senkron devam ediyor'),
				mesaj: tilfyT('sync_resuming', 'Önceki senkron kaldığı yerden sürdürülüyor…'),
				alt: ''
			});
			senkronOverlayGoster(tilfyT('sync_continuing', 'Senkron devam ediyor'), tilfyT('queue_processing', 'Kuyruk işleniyor…'));
		}
		if (canliAktif || senkronAktif) {
			arkaPlanMotorBaslat();
		}
	}

	$(document).on('click', '#tilfy-canli-kucult, #tilfy-senkron-kucult', function (e) {
		e.preventDefault();
		overlayKucult();
	});

	$(document).on('click', '#tilfy-arac-dugme', function (e) {
		e.preventDefault();
		aracPanelAcKapat();
	});

	$(document).on('click', '#tilfy-arac-kapat', function (e) {
		e.preventDefault();
		arkaPlanPanelAcik = false;
		$('#tilfy-arac-panel').prop('hidden', true);
	});

	$(document).on('click', '#tilfy-arac-genislet', function (e) {
		e.preventDefault();
		arkaPlanPanelAcik = false;
		$('#tilfy-arac-panel').prop('hidden', true);
		if (senkronAktif) {
			$('#tilfy-senkron-overlay').addClass('is-active');
		} else if (canliAktif) {
			overlayGoster();
		}
	});

	$(document).on('click', '#tilfy-arac-duraklat, #tilfy-islem-duraklat', function (e) {
		e.preventDefault();
		var $btn = $(this);
		kuyrukDiag('duraklat_tik', { buton: $btn.attr('id') || '' });
		sonDuraklatKullaniciTs = Date.now();
		arkaPlanDuraklat = true;
		kuyrukDuraklatDurdur();
		aracDuraklatUi();
		$btn.prop('disabled', true);
		kuyrukDiag('duraklat_ajax_gonder', { action: 'tilfy_kuyruk_duraklat', duraklat: '1' });
		ajaxIstek('tilfy_kuyruk_duraklat', { duraklat: '1' }, 30000).done(function (res) {
			kuyrukDiag('duraklat_ajax_yanit', { res: res || null });
			if (!res || !res.success) {
				window.alert(tilfyT('pause_failed', 'Duraklatma başarısız.'));
				return;
			}
			arkaPlanAktiviteCek().done(function (veri) {
				kuyrukDiag('duraklat_aktivite_yenile', {
					duraklatildi: veri ? !!veri.duraklatildi : null,
					bekleyen: veri ? (veri.bekleyen || 0) : null
				});
				if (veri) {
					islemYoneticisiGuncelle(veri);
					aracPanelGuncelle(veri);
				}
			});
		}).fail(function (xhr, durum, hata) {
			kuyrukDiag('duraklat_ajax_hata', { durum: durum, hata: hata || '', status: xhr && xhr.status });
			window.alert(tilfyT('pause_request_failed', 'Duraklatma isteği gönderilemedi.'));
		}).always(function () {
			$btn.prop('disabled', false);
			kuyrukDiag('duraklat_bitti', { duraklatYerel: arkaPlanDuraklat });
		});
	});

	$(document).on('click', '#tilfy-arac-devam, #tilfy-islem-devam', function (e) {
		e.preventDefault();
		var $btn = $(this);
		kuyrukDiag('devam_tik', { buton: $btn.attr('id') || '' });
		sonDuraklatKullaniciTs = Date.now();
		$btn.prop('disabled', true);
		kuyrukDiag('devam_ajax_gonder', { action: 'tilfy_kuyruk_duraklat', duraklat: '0' });
		ajaxIstek('tilfy_kuyruk_duraklat', { duraklat: '0' }, 60000).done(function (res) {
			kuyrukDiag('devam_ajax_yanit', { res: res || null });
			if (!res || !res.success) {
				window.alert(tilfyT('resume_failed', 'Devam başarısız.'));
				return;
			}
			arkaPlanDuraklat = false;
			aracDuraklatUi();
			var isIy = $('#tilfy-islem-yoneticisi-sayfa').length > 0;
			var adimSay = isIy ? 8 : 3;
			kuyrukDiag('devam_patlat_basla', { adimSay: adimSay, islemYoneticisi: isIy });
			var patlat = islemYoneticisiKuyrukPatlat(adimSay);
			patlat.always(function () {
				kuyrukDiag('devam_patlat_bitti', { duraklatYerel: arkaPlanDuraklat });
				arkaPlanAktiviteCek().always(function (veri) {
					kuyrukDiag('devam_aktivite_yenile', {
						duraklatildi: veri ? !!veri.duraklatildi : null,
						bekleyen: veri ? (veri.bekleyen || 0) : null
					});
					if (veri) {
						islemYoneticisiGuncelle(veri);
						aracPanelGuncelle(veri);
					}
					if (!arkaPlanDuraklat && !isIy) {
						arkaPlanMotorBaslat();
					}
					$btn.prop('disabled', false);
					kuyrukDiag('devam_bitti', { duraklatYerel: arkaPlanDuraklat });
				});
			});
		}).fail(function (xhr, durum, hata) {
			kuyrukDiag('devam_ajax_hata', { durum: durum, hata: hata || '', status: xhr && xhr.status });
			window.alert(tilfyT('resume_request_failed', 'Devam isteği gönderilemedi.'));
			$btn.prop('disabled', false);
		});
	});

	$(document).on('click', '#tilfy-arac-takili-iptal, #tilfy-islem-takili-iptal', function (e) {
		e.preventDefault();
		if (!window.confirm(tilfyT('cancel_stuck_jobs_confirm', 'Çalışıyor görünen takılı işler iptal edilsin mi? Gerçekten çalışan bir yükleme varsa yarım kalabilir.'))) {
			return;
		}
		ajaxIstek('tilfy_kuyruk_calisiyor_iptal', {}, 60000).done(function (res) {
			if (res.success) {
				arkaPlanDuraklat = false;
				aracDuraklatUi();
				arkaPlanAktiviteCek().done(function (veri) {
					aracPanelGuncelle(veri);
				});
			}
		});
	});

	$(document).on('click', '#tilfy-arac-iptal, #tilfy-islem-iptal', function (e) {
		e.preventDefault();
		if (!window.confirm(tilfyT('cancel_pending_queue_confirm', 'Bekleyen kuyruk işleri iptal edilsin mi? Devam eden yükleme bitene kadar sürebilir.'))) {
			return;
		}
		ajaxIstek('tilfy_kuyruk_iptal', {}, 60000).done(function (res) {
			if (res.success) {
				canliAktif = false;
				senkronAktif = false;
				senkronPlatform = '';
				arkaPlanDuraklat = false;
				arkaPlanTemizle();
				overlayGizle();
				senkronOverlayGizle();
				senkronBtnleriSifirla();
				senkronDurumGizle();
				if (arkaPlanTimer) {
					clearTimeout(arkaPlanTimer);
					arkaPlanTimer = null;
				}
				aracCubuguGizle();
				arkaPlanAktiviteCek().done(function (veri) {
					islemYoneticisiGuncelle(veri);
				});
			}
		});
	});

	$(document).on('click', '#tilfy-islem-detay-kapat, [data-islem-modal-kapat]', function (e) {
		e.preventDefault();
		islemDetayModalKapat();
	});
	$(document).on('click', '.tilfy-iy-detay-ac', function (e) {
		e.preventDefault();
		e.stopPropagation();
		var $tr = $(this).closest('tr');
		var kid = parseInt($tr.attr('data-kuyruk-id'), 10);
		if (kid && islemSatirDetayCache[kid]) {
			islemDetayModalAc(islemSatirDetayCache[kid]);
		}
	});
	$(document).on('click', '#tilfy-islem-kuyruk tr.tilfy-islem-tr--tikla', function (e) {
		if ($(e.target).closest('input, a, button, label').length) {
			return;
		}
		var kid = parseInt($(this).attr('data-kuyruk-id'), 10);
		if (kid && islemSatirDetayCache[kid]) {
			islemDetayModalAc(islemSatirDetayCache[kid]);
		}
	});
	$(document).on('keydown', '#tilfy-islem-kuyruk tr.tilfy-islem-tr--tikla', function (e) {
		if (e.key !== 'Enter' && e.key !== ' ') {
			return;
		}
		e.preventDefault();
		$(this).trigger('click');
	});
	$(document).on('keydown', function (e) {
		if (e.key === 'Escape' && $('#tilfy-islem-detay-modal').hasClass('is-active')) {
			islemDetayModalKapat();
		}
	});

	$(document).on('change', '#tilfy-islem-kuyruk-tumu', function () {
		$('.tilfy-islem-kuyruk-sec').prop('checked', $(this).prop('checked'));
	});

	$(document).on('change', '#tilfy-islem-paylasim-tumu', function () {
		$('.tilfy-islem-paylasim-sec').prop('checked', $(this).prop('checked'));
	});

	$(document).on('click', '#tilfy-islem-kuyruk-sil', function (e) {
		e.preventDefault();
		var ids = islemSeciliKuyrukIdleri();
		if (!ids.length) {
			window.alert(tilfyT('select_queue_jobs_to_delete', 'Silinecek kuyruk işi seçin.'));
			return;
		}
		if (!window.confirm(ids.length + ' kuyruk işi silinsin mi?')) {
			return;
		}
		ajaxIstek('tilfy_kuyruk_secili_sil', {
			ids: ids,
			iptal_paylasim: $('#tilfy-islem-kuyruk-iptal-paylasim').prop('checked') ? '1' : '0',
			zorla: '0'
		}, 60000).done(function (res) {
			if (res.success) {
				$('#tilfy-islem-kuyruk-tumu').prop('checked', false);
				arkaPlanAktiviteCek().done(function (veri) {
					islemYoneticisiGuncelle(veri);
				});
			}
		});
	});

	$(document).on('click', '#tilfy-islem-kuyruk-zorla', function (e) {
		e.preventDefault();
		var ids = islemSeciliKuyrukIdleri();
		if (!ids.length) {
			window.alert(tilfyT('select_jobs_to_stop', 'Durdurulacak kuyruk işi seçin.'));
			return;
		}
		if (!window.confirm(tilfyT('force_stop_confirm', 'Seçili işler zorla durdurulsun mu? Çalışan indirme/yükleme yarım kalabilir.'))) {
			return;
		}
		ajaxIstek('tilfy_kuyruk_secili_sil', {
			ids: ids,
			iptal_paylasim: $('#tilfy-islem-kuyruk-iptal-paylasim').prop('checked') ? '1' : '0',
			zorla: '1'
		}, 60000).done(function (res) {
			if (res.success) {
				$('#tilfy-islem-kuyruk-tumu').prop('checked', false);
				arkaPlanAktiviteCek().done(function (veri) {
					islemYoneticisiGuncelle(veri);
				});
			}
		});
	});

	$(document).on('click', '#tilfy-islem-paylasim-iptal', function (e) {
		e.preventDefault();
		var ids = islemSeciliPaylasimIdleri();
		if (!ids.length) {
			window.alert(tilfyT('select_shares_to_cancel', 'İptal edilecek paylaşım seçin.'));
			return;
		}
		if (!window.confirm(tilfyFmt('cancel_shares_count_confirm', '%d paylaşım iptal edilsin mi?', ids.length))) {
			return;
		}
		ajaxIstek('tilfy_paylasim_secili_iptal', { ids: ids }, 60000).done(function (res) {
			if (res.success) {
				$('#tilfy-islem-paylasim-tumu').prop('checked', false);
				arkaPlanAktiviteCek().done(function (veri) {
					islemYoneticisiGuncelle(veri);
				});
			}
		});
	});

	function baglantiSaglikEtiket(durum) {
		var map = {
			saglikli: 'Sağlıklı',
			uyari: 'Uyarı',
			hata: 'Hata',
			manuel: 'Manuel',
			eksik: 'Eksik'
		};
		return map[durum] || durum;
	}

	function baglantiSaglikSatirHtml(s) {
		var html = '<div class="tilfy-baglanti-saglik__oge tilfy-baglanti-saglik__oge--' + (s.durum || 'eksik') + '">';
		html += '<div class="tilfy-baglanti-saglik__ust">';
		html += '<strong class="tilfy-baglanti-saglik__platform">' + tilfyMetinEsc(s.etiket || s.platform) + '</strong>';
		html += '<span class="tilfy-baglanti-saglik__durum">' + baglantiSaglikEtiket(s.durum) + '</span>';
		html += '</div>';
		if (s.mesaj) {
			html += '<p class="tilfy-baglanti-saglik__mesaj">' + tilfyMetinEsc(s.mesaj) + '</p>';
		}
		if (s.detay && s.detay.app_izinleri && s.detay.app_izinleri.length) {
			html += '<p class="tilfy-baglanti-saglik__izinler"><code>' + tilfyMetinEsc(s.detay.app_izinleri.join(', ')) + '</code></p>';
		}
		html += '</div>';
		return html;
	}

	function baglantiSaglikMetaHedef() {
		return $('#tilfy-baglanti-saglik-meta-health');
	}

	function baglantiSaglikGoster(sonuclar, $hedef) {
		if (!$hedef || !$hedef.length) {
			$hedef = $('#tilfy-baglanti-saglik-liste');
		}
		var html = '';
		(sonuclar || []).forEach(function (s) {
			html += baglantiSaglikSatirHtml(s);
		});
		if ($hedef.is('#tilfy-baglanti-saglik-meta-health')) {
			var tek = (sonuclar || [])[0];
			$hedef.html(tek ? baglantiSaglikSatirHtml(tek) : '').prop('hidden', !tek);
			return;
		}
		$hedef.html(html).prop('hidden', false);
	}

	function baglantiSaglikCalistir(platform, $btn) {
		var veri = {};
		if (platform) {
			veri.platform = platform;
		}
		if ($btn && $btn.length) {
			$btn.prop('disabled', true);
		}
		return ajaxIstek('tilfy_baglanti_saglik', veri, 120000).always(function () {
			if ($btn && $btn.length) {
				$btn.prop('disabled', false);
			}
		}).done(function (res) {
			if (!res.success || !res.data || !res.data.sonuclar) {
				window.alert(tilfyT('connection_test_failed', 'Bağlantı testi başarısız.'));
				return;
			}
			var metaHealth = baglantiSaglikMetaHedef();
			if (platform === 'facebook' || platform === 'instagram' || platform === 'threads') {
				baglantiSaglikGoster(res.data.sonuclar, metaHealth);
				return;
			}
			if (platform) {
				var $liste = $('#tilfy-baglanti-saglik-liste');
				if ($liste.length) {
					baglantiSaglikGoster(res.data.sonuclar, $liste);
				} else {
					baglantiSaglikGoster(res.data.sonuclar, $('<div/>'));
					window.alert(res.data.sonuclar[0].etiket + ': ' + res.data.sonuclar[0].mesaj);
				}
			} else {
				baglantiSaglikGoster(res.data.sonuclar, $('#tilfy-baglanti-saglik-liste'));
			}
		}).fail(function () {
			window.alert(tilfyT('connection_test_unavailable', 'Bağlantı testi yapılamadı.'));
		});
	}

	function diagAnalizBtnGuncelle(aktif, bilgi) {
		var $btn = $('#tilfy-diag-analiz-btn');
		if (!$btn.length) {
			return;
		}
		$btn.data('aktif', aktif ? '1' : '0');
		$btn.toggleClass('tilfy-diag-analiz-btn--aktif', !!aktif);
		$btn.toggleClass('tilfy-diag-analiz-btn--pasif', !aktif);
		$btn.text(aktif ? tilfyT('stop_analysis', 'Analizi durdur') : tilfyT('start_analysis', 'Analizi başlat'));
		$('#tilfy-log-diag').prop('checked', !!aktif);
		var $durum = $('#tilfy-diag-analiz-durum');
		if ($durum.length) {
			var metin = 'Durum: <strong>' + (aktif ? 'Kayıt açık' : 'Kapalı') + '</strong>';
			if (bilgi && bilgi.var) {
				metin += '<br /><span class="tilfy-muted">' + (bilgi.satir || 0) + ' satır</span>';
			}
			$durum.html(metin);
		}
	}

	$(document).on('change', '#tilfy-kapak-tara-platform', function () {
		var adet = parseInt($(this).find(':selected').data('adet'), 10) || 0;
		var etiket = $(this).find(':selected').text();
		$('#tilfy-kapak-tara-adet').text(adet + ' içerikte eksik veya uzak kapak var (' + etiket + ').');
	});

	var kapakTaraDonguTimer = null;

	function kapakTaraDonguDurdur() {
		if (kapakTaraDonguTimer) {
			window.clearTimeout(kapakTaraDonguTimer);
			kapakTaraDonguTimer = null;
		}
	}

	function kapakTaraDurumTur() {
		ajaxIstek('tilfy_kapak_tara_adim', { durum: '1' }, 30000).done(function (res) {
			var data = res && res.data ? res.data : null;
			if (!data) {
				kapakTaraDonguTimer = window.setTimeout(kapakTaraDurumTur, 5000);
				return;
			}
			if (data.bekleyen > 0) {
				$('#tilfy-kapak-tara-durum').text('Kapak indiriliyor… kalan kuyruk ' + data.bekleyen);
				kapakTaraDonguTimer = window.setTimeout(kapakTaraDurumTur, 4000);
				return;
			}
			kapakTaraDonguDurdur();
			$('#tilfy-kapak-tara-durum').text(tilfyT('cover_scan_complete', 'Kapak taramasi tamamlandi.'));
		}).fail(function () {
			kapakTaraDonguTimer = window.setTimeout(kapakTaraDurumTur, 6000);
		});
	}

	function kapakTaraDonguTur(kalan) {
		kapakTaraDurumTur();
	}

	$(document).on('click', '#tilfy-kapak-tara-btn', function (e) {
		e.preventDefault();
		var $btn = $(this);
		var platform = $('#tilfy-kapak-tara-platform').val() || '';
		var platformEtiket = $('#tilfy-kapak-tara-platform option:selected').text() || 'Tüm kaynaklar';
		if (!window.confirm(platformEtiket + ' için eksik kapaklar indirilsin mi? Sayfa açık kaldığı sürece devam eder.')) {
			return;
		}
		kapakTaraDonguDurdur();
		var metin = $btn.text();
		$btn.prop('disabled', true).text(tilfyT('starting', 'Başlatılıyor…'));
		ajaxIstek('tilfy_kapak_tara_baslat', { platform: platform }, 120000).done(function (res) {
			if (res.success && res.data && res.data.mesaj) {
				window.alert(res.data.mesaj);
				if ((res.data.bekleyen || 0) > 0) {
					$('#tilfy-kapak-tara-durum').text('Kapak indiriliyor… sunucu devam ediyor, kuyruk ' + res.data.bekleyen);
					kapakTaraDonguTur(1);
				}
			} else {
				window.alert(tilfyT('cover_scan_start_failed', 'Kapak taraması başlatılamadı.'));
			}
		}).fail(function () {
			window.alert(tilfyT('cover_scan_start_failed', 'Kapak taraması başlatılamadı.'));
		}).always(function () {
			$btn.prop('disabled', false).text(metin);
		});
	});

	$(document).on('click', '#tilfy-diag-analiz-btn', function (e) {
		e.preventDefault();
		var $btn = $(this);
		var aktif = $btn.data('aktif') === '1' || $btn.data('aktif') === 1;
		var yeniDurum = aktif ? 'durdur' : 'baslat';
		if (!aktif && !window.confirm(tilfyT('enable_server_analysis_confirm', 'Sunucu analizi açılsın mı? Tüm Tilfy HTTP ve PHP olayları wp-content/diag.log dosyasına yazılır.'))) {
			return;
		}
		$btn.prop('disabled', true);
		ajaxIstek('tilfy_diag_analiz_toggle', { durum: yeniDurum }).done(function (res) {
			if (res.success && res.data) {
				diagAnalizBtnGuncelle(!!res.data.aktif, res.data.bilgi || null);
				if (typeof tilfyAdmin !== 'undefined') {
					tilfyAdmin.diagAnaliz = !!res.data.aktif;
				}
			} else {
				window.alert((res.data && res.data.mesaj) ? res.data.mesaj : 'Analiz durumu güncellenemedi.');
			}
		}).fail(function (xhr) {
			var mesaj = 'Analiz durumu güncellenemedi.';
			if (xhr.responseJSON && xhr.responseJSON.data && xhr.responseJSON.data.mesaj) {
				mesaj = xhr.responseJSON.data.mesaj;
			}
			window.alert(mesaj);
		}).always(function () {
			$btn.prop('disabled', false);
		});
	});

	$(document).on('click', '#tilfy-baglanti-saglik-test', function (e) {
		e.preventDefault();
		baglantiSaglikCalistir('', $(this));
	});

	$(document).on('click', '.tilfy-baglanti-saglik-test', function (e) {
		e.preventDefault();
		var platform = $(this).data('platform') || '';
		baglantiSaglikCalistir(platform, $(this));
	});

	$(document).on('click', '#tilfy-meta-sayfa-bul-btn', function () {
		var sayfaId = $('.tilfy-ayar-form input[name="meta_sayfa_id"]').val() || '';
		$('#tilfy-meta-sayfa-bul-id').val(sayfaId);
	});

	if ($('#tilfy-studyosu-form').length) {
		platformlariYukle();
		modGuncelle();
		studyoZamanBilgiGuncelle();
	}

	var takvimGunModalTarih = '';
	var takvimGunVeri = {};

	if ($('.tilfy-takvim-grid').length) {
		var $veriEl = $('#tilfy-takvim-gun-veri');
		if ($veriEl.length) {
			try {
				takvimGunVeri = JSON.parse($veriEl.text());
			} catch (e) {
				takvimGunVeri = {};
			}
		}
	}

	function takvimTarihBaslik(tarih) {
		var parca = tarih.split('-');
		return parca.length === 3 ? parca[2] + '.' + parca[1] + '.' + parca[0] : tarih;
	}

	function takvimGunModalAc($kaynak) {
		var tarih = $kaynak.data('tarih') || '';
		var zamanlama = $kaynak.data('zamanlama') || '';
		if (!tarih) {
			return;
		}
		takvimGunModalTarih = tarih;
		$('#tilfy-takvim-gun-baslik').text(takvimTarihBaslik(tarih));
		var studyoUrl = tilfyAdmin.studyosuUrl + '&zamanlama=' + encodeURIComponent(zamanlama);
		$('#tilfy-takvim-gun-studyosu').attr('href', studyoUrl);
		$('#tilfy-takvim-gun-modal').prop('hidden', false);
	}

	function takvimGunModalKapat() {
		takvimGunModalTarih = '';
		$('#tilfy-takvim-gun-modal').prop('hidden', true);
	}

	var takvimGunTopluTarih = '';

	function takvimGunTopluModalKapat() {
		takvimGunTopluTarih = '';
		$('#tilfy-takvim-gun-toplu-modal').prop('hidden', true);
	}

	function takvimSeciliIdleriAl() {
		return $('.tilfy-takvim-gun-toplu-sec:checked:not(:disabled)').map(function () {
			return $(this).val();
		}).get();
	}

	function takvimGunTopluModalAc(tarih) {
		var ogeler = takvimGunVeri[tarih] || [];
		if (!ogeler.length) {
			window.alert(tilfyT('no_shares_this_day', 'Bu gün için paylaşım bulunamadı.'));
			return;
		}
		takvimGunTopluTarih = tarih;
		$('#tilfy-takvim-gun-toplu-baslik').text(tilfyFmt('calendar_day_shares', '%s - %d paylaşım', takvimTarihBaslik(tarih), ogeler.length));
		var $govde = $('#tilfy-takvim-gun-toplu-govde').empty();
		ogeler.forEach(function (oge) {
			var gonderilebilir = oge.durum === 'zamanlandi' || oge.durum === 'beklemede' || oge.durum === 'hata' || oge.durum === 'sirada';
			var saatYazi = oge.durum === 'sirada' ? tilfyT('queued_label', 'Sırada') : (oge.saat || '');
			var $tr = $('<tr></tr>');
			if (oge.durum === 'sirada') {
				$tr.addClass('tilfy-takvim-gun-toplu__satir--sirada');
			}
			if (!gonderilebilir) {
				$tr.addClass('tilfy-takvim-gun-toplu__satir--pasif');
			}
			var $saatBtn = $('<button type="button" class="tilfy-btn tilfy-btn--ghost tilfy-btn--kucuk tilfy-takvim-gun-toplu-saat"></button>').text(tilfyT('change_time', 'Saati değiştir')).data('oge', oge);
			if (oge.durum === 'sirada') {
				$saatBtn.prop('disabled', true);
			}
			$tr.append(
				$('<td class="tilfy-takvim-gun-toplu__sec"></td>').append(
					$('<input type="checkbox" class="tilfy-takvim-gun-toplu-sec" />').val(oge.id).prop('disabled', !gonderilebilir)
				),
				$('<td></td>').text(saatYazi),
				$('<td></td>').append(
					$('<span class="tilfy-rozet"></span>').addClass('tilfy-rozet--' + (oge.platform || '')).text(oge.platform_yazi || oge.platform || '')
				),
				$('<td></td>').text(oge.baslik || ''),
				$('<td></td>').append(
					$('<span></span>').text(oge.durum_yazi || oge.durum || ''),
					oge.kaynak === 'otomasyon' ? $('<span class="tilfy-rozet tilfy-rozet--otomasyon"></span>').text(tilfyT('automatic', 'Otomatik')) : null
				),
				$('<td class="tilfy-takvim-gun-toplu__aksiyon"></td>').append(
					$('<button type="button" class="tilfy-btn tilfy-btn--ghost tilfy-btn--kucuk tilfy-takvim-gun-toplu-duzenle"></button>').text(tilfyT('edit', 'Düzenle')).data('oge', oge),
					$saatBtn,
					$('<button type="button" class="tilfy-btn tilfy-btn--ghost tilfy-btn--kucuk tilfy-takvim-gun-toplu-satir-sil"></button>').text(tilfyT('delete', 'Sil')).data('id', oge.id)
				)
			);
			$govde.append($tr);
		});
		$('#tilfy-takvim-gun-toplu-tumunu-sec').prop('checked', false);
		var $cell = $('.tilfy-takvim-gun[data-tarih="' + tarih + '"]');
		var varsayilanZaman = ogeler[0].zamanlama || $cell.data('zamanlama') || (tarih + 'T09:00');
		$('#tilfy-takvim-gun-toplu-zaman').val(varsayilanZaman);
		var studyoZaman = $cell.data('zamanlama') || varsayilanZaman;
		$('#tilfy-takvim-gun-toplu-studyosu').attr('href', tilfyAdmin.studyosuUrl + '&zamanlama=' + encodeURIComponent(studyoZaman));
		$('#tilfy-takvim-gun-toplu-modal').prop('hidden', false);
		zamanlamaYayilimOnizlemeGuncelle('takvim');
	}

	function takvimGunHucreTikla($cell) {
		var tarih = $cell.data('tarih') || '';
		var adet = parseInt($cell.data('adet'), 10) || 0;
		if (!tarih) {
			return;
		}
		if (adet > 0) {
			takvimGunTopluModalAc(tarih);
			return;
		}
		takvimGunModalAc($cell);
	}

	$(document).on('click', '.tilfy-takvim-gun--tiklanabilir', function () {
		takvimGunHucreTikla($(this));
	});

	$(document).on('keydown', '.tilfy-takvim-gun--tiklanabilir', function (e) {
		if (e.key !== 'Enter' && e.key !== ' ') {
			return;
		}
		e.preventDefault();
		takvimGunHucreTikla($(this));
	});

	$(document).on('click', '#tilfy-takvim-gun-kapat', function () {
		takvimGunModalKapat();
	});

	$(document).on('click', '#tilfy-takvim-gun-modal', function (e) {
		if (e.target === this) {
			takvimGunModalKapat();
		}
	});

	$(document).on('click', '#tilfy-takvim-gun-toplu-kapat', function () {
		takvimGunTopluModalKapat();
	});

	$(document).on('click', '#tilfy-takvim-gun-toplu-modal', function (e) {
		if (e.target === this) {
			takvimGunTopluModalKapat();
		}
	});

	$(document).on('change', '#tilfy-takvim-gun-toplu-tumunu-sec', function () {
		var secili = $(this).prop('checked');
		$('.tilfy-takvim-gun-toplu-sec:not(:disabled)').prop('checked', secili);
		zamanlamaYayilimOnizlemeGuncelle('takvim');
	});

	$(document).on('change', '.tilfy-takvim-gun-toplu-sec', function () {
		var toplam = $('.tilfy-takvim-gun-toplu-sec:not(:disabled)').length;
		var secilen = $('.tilfy-takvim-gun-toplu-sec:checked:not(:disabled)').length;
		$('#tilfy-takvim-gun-toplu-tumunu-sec').prop('checked', toplam > 0 && secilen === toplam);
		zamanlamaYayilimOnizlemeGuncelle('takvim');
	});

	$(document).on('input change', '#tilfy-takvim-gun-toplu-zaman, #tilfy-takvim-gun-toplu-gunluk, #tilfy-takvim-gun-toplu-arasi', function () {
		zamanlamaYayilimOnizlemeGuncelle('takvim');
	});

	$(document).on('click', '#tilfy-takvim-gun-toplu-gonder', function () {
		var secili = takvimSeciliIdleriAl();
		if (!secili.length) {
			window.alert(tilfyT('retry_min_one_share', 'En az bir paylaşım seçin.'));
			return;
		}
		if (!window.confirm(tilfyFmt('bulk_send_now_confirm', 'Seçilen %d paylaşım şimdi kuyruğa alınsın mı? (Zamanlama beklemesi atlanır)', secili.length))) {
			return;
		}
		var $btn = $(this).prop('disabled', true);
		ajaxIstek('tilfy_takvim_toplu_gonder', { secili: secili }, 120000).done(function (res) {
			if (!res.success) {
				window.alert((res.data && res.data.mesaj) || tilfyT('send_failed', 'Gönderilemedi.'));
				return;
			}
			if (res.data && res.data.mesaj) {
				window.alert(res.data.mesaj);
			}
			var kuyruk = (res.data && res.data.kuyruk) ? res.data.kuyruk.map(function (x) { return parseInt(x, 10); }).filter(Boolean) : [];
			if (kuyruk.length) {
				paylasimlarSayfasinaGit(kuyruk);
				return;
			}
			window.location.reload();
		}).fail(function () {
			window.alert(tilfyT('send_failed', 'Gönderilemedi.'));
		}).always(function () {
			$btn.prop('disabled', false);
		});
	});

	$(document).on('click', '#tilfy-takvim-gun-toplu-zamanla', function () {
		var secili = takvimSeciliIdleriAl();
		if (!secili.length) {
			window.alert(tilfyT('retry_min_one_share', 'En az bir paylaşım seçin.'));
			return;
		}
		var zaman = $('#tilfy-takvim-gun-toplu-zaman').val();
		if (!zaman) {
			window.alert(tilfyT('select_date_time', 'Tarih ve saat seçin.'));
			return;
		}
		if (!studyoZamanGelecekMi(zaman)) {
			window.alert(tilfyT('schedule_must_be_future', 'Zamanlama gelecekte bir tarih ve saat olmalı.'));
			return;
		}
		var $btn = $(this).prop('disabled', true);
		var norm = zamanlamaGunlukAdetOku($('#tilfy-takvim-gun-toplu-gunluk'), $('#tilfy-takvim-gun-toplu-arasi'));
		ajaxIstek('tilfy_takvim_toplu_zamanla', {
			secili: secili,
			zamanlama: zaman,
			gunluk_adet: norm.gunluk,
			paylasim_arasi_dakika: norm.arasi
		}, 120000).done(function (res) {
			if (!res.success) {
				window.alert((res.data && res.data.mesaj) || tilfyT('save_failed', 'Kaydedilemedi.'));
				return;
			}
			if (res.data && res.data.mesaj) {
				window.alert(res.data.mesaj);
			}
			window.location.reload();
		}).fail(function () {
			window.alert(tilfyT('save_failed', 'Kaydedilemedi.'));
		}).always(function () {
			$btn.prop('disabled', false);
		});
	});

	$(document).on('click', '#tilfy-takvim-gun-toplu-sil', function () {
		var secili = takvimSeciliIdleriAl();
		if (!secili.length) {
			window.alert(tilfyT('retry_min_one_share', 'En az bir paylaşım seçin.'));
			return;
		}
		if (!window.confirm('Seçilen ' + secili.length + ' paylaşım silinsin mi?')) {
			return;
		}
		var $btn = $(this).prop('disabled', true);
		ajaxIstek('tilfy_takvim_toplu_sil', { secili: secili }, 120000).done(function (res) {
			if (!res.success) {
				window.alert((res.data && res.data.mesaj) || 'Silinemedi.');
				return;
			}
			if (res.data && res.data.mesaj) {
				window.alert(res.data.mesaj);
			}
			window.location.reload();
		}).fail(function () {
			window.alert('Silinemedi.');
		}).always(function () {
			$btn.prop('disabled', false);
		});
	});

	$(document).on('click', '.tilfy-takvim-gun-toplu-duzenle', function (e) {
		e.preventDefault();
		e.stopPropagation();
		var oge = $(this).data('oge');
		var icerikId = oge && (parseInt(oge.icerik_id, 10) || 0);
		if (!icerikId || !tilfyAdmin.studyosuUrl) {
			window.alert(tilfyT('studio_open_failed', 'İçerik Studyo\'da açılamadı.'));
			return;
		}
		var url = tilfyAdmin.studyosuUrl + (tilfyAdmin.studyosuUrl.indexOf('?') >= 0 ? '&' : '?') + 'icerik_id=' + encodeURIComponent(icerikId);
		if (oge.zamanlama) {
			url += '&zamanlama=' + encodeURIComponent(oge.zamanlama);
		}
		window.location.href = url;
	});

	$(document).on('click', '.tilfy-takvim-gun-toplu-saat', function (e) {
		e.preventDefault();
		e.stopPropagation();
		var oge = $(this).data('oge');
		if (!oge || !oge.id) {
			return;
		}
		takvimModalAcVeri(oge);
	});

	$(document).on('click', '.tilfy-takvim-gun-toplu-satir-sil', function (e) {
		e.preventDefault();
		e.stopPropagation();
		var id = parseInt($(this).data('id'), 10) || 0;
		if (!id) {
			return;
		}
		if (!window.confirm('Bu paylaşım silinsin mi?')) {
			return;
		}
		var $btn = $(this).prop('disabled', true);
		ajaxIstek('tilfy_takvim_sil', { paylasim_id: id }, 60000).done(function (res) {
			if (res.success) {
				window.location.reload();
				return;
			}
			window.alert((res.data && res.data.mesaj) || 'Silinemedi.');
		}).fail(function () {
			window.alert('Silinemedi.');
		}).always(function () {
			$btn.prop('disabled', false);
		});
	});

	var takvimSeciliId = 0;

	function takvimModalKapat() {
		takvimSeciliId = 0;
		$('#tilfy-takvim-modal').prop('hidden', true);
	}

	function takvimModalAcVeri(oge) {
		takvimSeciliId = parseInt(oge.id, 10) || 0;
		if (!takvimSeciliId) {
			return;
		}
		$('#tilfy-takvim-modal-baslik').text(oge.baslik || 'Paylaşım');
		$('#tilfy-takvim-modal-meta').text(
			(oge.platform_yazi || oge.platform || '') + ' · ' + (oge.durum_yazi || oge.durum || '')
		);
		$('#tilfy-takvim-modal-zaman').val(oge.zamanlama || '');
		$('#tilfy-takvim-modal').prop('hidden', false);
	}

	$(document).on('click', '#tilfy-takvim-modal-kapat', function () {
		takvimModalKapat();
	});

	$(document).on('click', '#tilfy-takvim-modal', function (e) {
		if (e.target === this) {
			takvimModalKapat();
		}
	});

	$(document).on('click', '#tilfy-takvim-modal-kaydet', function () {
		if (!takvimSeciliId) {
			return;
		}
		var zaman = $('#tilfy-takvim-modal-zaman').val();
		if (!zaman) {
			window.alert(tilfyT('select_date_time', 'Tarih ve saat seçin.'));
			return;
		}
		if (!studyoZamanGelecekMi(zaman)) {
			window.alert(tilfyT('schedule_must_be_future', 'Zamanlama gelecekte bir tarih ve saat olmalı.'));
			return;
		}
		var $btn = $(this).prop('disabled', true);
		ajaxIstek('tilfy_takvim_zamanla', {
			paylasim_id: takvimSeciliId,
			zamanlama: zaman
		}, 60000).done(function (res) {
			if (res.success) {
				window.location.reload();
				return;
			}
			window.alert((res.data && res.data.mesaj) || tilfyT('save_failed', 'Kaydedilemedi.'));
		}).fail(function () {
			window.alert(tilfyT('save_failed', 'Kaydedilemedi.'));
		}).always(function () {
			$btn.prop('disabled', false);
		});
	});

	$(document).on('click', '#tilfy-takvim-modal-gonder', function () {
		if (!takvimSeciliId) {
			return;
		}
		if (!window.confirm(tilfyT('single_send_now_confirm', 'Bu paylaşım şimdi kuyruğa alınsın mı? (Zamanlama beklemesi atlanır)'))) {
			return;
		}
		var $btn = $(this).prop('disabled', true);
		ajaxIstek('tilfy_takvim_gonder', { paylasim_id: takvimSeciliId }, 120000).done(function (res) {
			if (!res.success) {
				window.alert((res.data && res.data.mesaj) || tilfyT('send_failed', 'Gönderilemedi.'));
				return;
			}
			if (res.data && res.data.mesaj) {
				window.alert(res.data.mesaj);
			}
			window.location.reload();
		}).fail(function () {
			window.alert(tilfyT('send_failed', 'Gönderilemedi.'));
		}).always(function () {
			$btn.prop('disabled', false);
		});
	});

	$(document).on('click', '#tilfy-takvim-modal-sil', function () {
		if (!takvimSeciliId) {
			return;
		}
		if (!window.confirm('Bu zamanlanmış paylaşım silinsin mi?')) {
			return;
		}
		var $btn = $(this).prop('disabled', true);
		ajaxIstek('tilfy_takvim_sil', { paylasim_id: takvimSeciliId }, 60000).done(function (res) {
			if (res.success) {
				window.location.reload();
				return;
			}
			window.alert((res.data && res.data.mesaj) || 'Silinemedi.');
		}).fail(function () {
			window.alert('Silinemedi.');
		}).always(function () {
			$btn.prop('disabled', false);
		});
	});

	function panelLogoYukle() {
		var $kutu = $('#tilfy-panel-logo');
		if (!$kutu.length || !window.tilfyAdmin || !tilfyAdmin.logoSvgUrl) {
			return;
		}
		window.fetch(tilfyAdmin.logoSvgUrl, { credentials: 'same-origin' }).then(function (yanit) {
			if (!yanit.ok) {
				return null;
			}
			return yanit.text();
		}).then(function (svgMetin) {
			if (!svgMetin || svgMetin.indexOf('<svg') === -1) {
				return;
			}
			var ayrac = document.createElement('div');
			ayrac.innerHTML = svgMetin.trim();
			var svg = ayrac.querySelector('svg');
			if (!svg) {
				return;
			}
			svg.setAttribute('role', 'img');
			svg.setAttribute('aria-label', 'Tilfy');
			var merkez = 627;
			var parcalar = svg.querySelectorAll('image');
			parcalar.forEach(function (parca, sira) {
				var x = parseFloat(parca.getAttribute('x') || '0');
				var y = parseFloat(parca.getAttribute('y') || '0');
				var genislik = parseFloat(parca.getAttribute('width') || '0');
				var yukseklik = parseFloat(parca.getAttribute('height') || '0');
				var cx = x + genislik / 2;
				var cy = y + yukseklik / 2;
				parca.setAttribute('class', 'tilfy-logo-parca');
				parca.style.setProperty('--sira', String(sira));
				parca.style.setProperty('--ofset-x', String(merkez - cx));
				parca.style.setProperty('--ofset-y', String(merkez - cy));
				parca.style.setProperty('--donme', String(((sira % 5) - 2) * 16) + 'deg');
			});
			$kutu.empty().append(svg);
			if (parcalar.length) {
				$kutu.addClass('is-kuruluyor');
				window.setTimeout(function () {
					$kutu.removeClass('is-kuruluyor');
				}, 700 + parcalar.length * 45 + 80);
			}
		}).catch(function () {});
	}

	function medyaSeciliSilim() {
		var ids = [];
		var diskYollar = [];
		$('.tilfy-medya-sec:checked').each(function () {
			var id = parseInt($(this).val(), 10);
			var yol = String($(this).data('disk-path') || '');
			if (id > 0) {
				ids.push(id);
			} else if (yol) {
				diskYollar.push(yol);
			}
		});
		return { ids: ids, diskYollar: diskYollar };
	}

	function medyaSilVeYenile(ids, diskYollar) {
		ids = ids || [];
		diskYollar = diskYollar || [];
		if (!ids.length && !diskYollar.length) {
			window.alert('Silinebilir dosya seçin.');
			return;
		}
		var adet = ids.length + diskYollar.length;
		if (!window.confirm(adet + ' dosya sunucudan silinsin mi? İçerik kaydı kalır; sadece indirilen dosya kaldırılır.')) {
			return;
		}
		ajaxIstek('tilfy_medya_secili_sil', { ids: ids, disk_yollar: diskYollar }, 120000).done(function (res) {
			if (!res.success) {
				window.alert((res.data && res.data.mesaj) ? res.data.mesaj : 'Silme başarısız.');
				return;
			}
			var d = res.data || {};
			var mesaj = (d.silinen || 0) + ' dosya silindi.';
			if (d.atlanan) {
				mesaj += ' ' + d.atlanan + ' atlandı.';
			}
			window.alert(mesaj);
			window.location.reload();
		});
	}

	$(document).on('click', '#tilfy-medya-tumu-sec', function (e) {
		e.preventDefault();
		var boxes = $('.tilfy-medya-sec');
		var hepsi = boxes.length && boxes.filter(':checked').length < boxes.length;
		boxes.prop('checked', hepsi);
	});

	$(document).on('click', '#tilfy-medya-secili-sil', function (e) {
		e.preventDefault();
		var secim = medyaSeciliSilim();
		medyaSilVeYenile(secim.ids, secim.diskYollar);
	});

	$(document).on('click', '.tilfy-medya-tekil-sil', function (e) {
		e.preventDefault();
		var id = parseInt($(this).data('id'), 10);
		var yol = String($(this).data('disk-path') || '');
		if (id > 0) {
			medyaSilVeYenile([id], []);
		} else if (yol) {
			medyaSilVeYenile([], [yol]);
		}
	});

	sayfaCanliBaslat();
	aracCubuguOlustur();
	arkaPlanDevamEt();
	islemYoneticisiPollBaslat();

	if ($('#tilfy-islem-yoneticisi-sayfa').length) {
		kuyrukDiag('tanilama_acik', {
			ipucu: 'F12 → Console. Baska sayfada: window.tilfyKuyrukDiag = true'
		});
	}

	var medyaOnizlemeAcik = false;

	function medyaOnizlemeModalKapat() {
		medyaOnizlemeAcik = false;
		var $modal = $('#tilfy-medya-onizleme-modal');
		var $video = $modal.find('video');
		if ($video.length) {
			$video.each(function () {
				this.pause();
				this.removeAttribute('src');
				this.load();
			});
		}
		$('#tilfy-medya-onizleme-modal-icerik').empty();
		$modal.prop('hidden', true);
	}

	$(document).on('click', '.tilfy-medya-onizleme-ac', function (e) {
		e.preventDefault();
		e.stopPropagation();
		var url = $(this).data('url') || '';
		var tip = $(this).data('tip') || 'image';
		if (!url) {
			return;
		}
		var html = tip === 'video'
			? '<video src="' + url + '" controls autoplay playsinline></video>'
			: '<img src="' + url + '" alt="" />';
		$('#tilfy-medya-onizleme-modal-icerik').html(html);
		$('#tilfy-medya-onizleme-modal').prop('hidden', false);
		medyaOnizlemeAcik = true;
	});

	$(document).on('click', function (e) {
		if (!medyaOnizlemeAcik) {
			return;
		}
		if ($(e.target).closest('.tilfy-medya-onizleme-ac').length) {
			return;
		}
		medyaOnizlemeModalKapat();
	});

	$(document).on('keydown', function (e) {
		if (e.key === 'Escape' && medyaOnizlemeAcik) {
			medyaOnizlemeModalKapat();
		}
	});

	var wpKaynakYuklendi = false;
	var wpYaziSayfa = 1;

	function wpYaziSayfalamaGoster(meta) {
		var $nav = $('#tilfy-wp-yazi-sayfalama');
		if (!$nav.length) {
			return;
		}
		meta = meta || {};
		var sayfa = parseInt(meta.sayfa, 10) || 1;
		var toplamSayfa = parseInt(meta.sayfa_sayisi, 10) || 1;
		var toplam = parseInt(meta.toplam, 10) || 0;
		wpYaziSayfa = sayfa;
		if (toplamSayfa <= 1) {
			$nav.prop('hidden', true).empty();
			return;
		}
		var html = '';
		var i;
		var bas = Math.max(1, sayfa - 4);
		var bit = Math.min(toplamSayfa, sayfa + 4);
		if (bas > 1) {
			html += '<button type="button" class="tilfy-wp-sayfalama__btn" data-sayfa="1">1</button>';
			if (bas > 2) {
				html += '<span class="tilfy-wp-sayfalama__ellipsis">…</span>';
			}
		}
		for (i = bas; i <= bit; i++) {
			html += '<button type="button" class="tilfy-wp-sayfalama__btn' + (i === sayfa ? ' is-active' : '') + '" data-sayfa="' + i + '">' + i + '</button>';
		}
		if (bit < toplamSayfa) {
			if (bit < toplamSayfa - 1) {
				html += '<span class="tilfy-wp-sayfalama__ellipsis">…</span>';
			}
			html += '<button type="button" class="tilfy-wp-sayfalama__btn" data-sayfa="' + toplamSayfa + '">' + toplamSayfa + '</button>';
		}
		html += '<span class="tilfy-wp-sayfalama__bilgi">' + tilfyFmt('wp_posts_page_info', '%d yazı · Sayfa %d / %d', toplam, sayfa, toplamSayfa) + '</span>';
		$nav.html(html).prop('hidden', false);
	}

	function wpYaziListeGoster(veri) {
		var $liste = $('#tilfy-wp-yazi-liste');
		var $durum = $('#tilfy-wp-yazi-durum');
		if (!$liste.length) {
			return;
		}
		veri = veri || {};
		var yazilar = veri.yazilar || [];
		if (!yazilar.length) {
			$liste.prop('hidden', true).empty();
			wpYaziSayfalamaGoster({ sayfa: 1, sayfa_sayisi: 1, toplam: 0 });
			$durum.text(tilfyT('wp_no_posts', 'Eşleşen yazı bulunamadı.'));
			return;
		}
		var html = yazilar.map(function (y) {
			var thumb = y.kapak_url
				? '<img class="tilfy-wp-yazi__thumb" src="' + y.kapak_url + '" alt="" />'
				: '<span class="tilfy-wp-yazi__thumb tilfy-wp-yazi__thumb--bos" aria-hidden="true"></span>';
			return (
				'<button type="button" class="tilfy-wp-yazi" data-post-id="' + y.id + '">' +
					thumb +
					'<span class="tilfy-wp-yazi__metin">' +
						'<span class="tilfy-wp-yazi__baslik">' + $('<div>').text(y.baslik || ('#' + y.id)).html() + '</span>' +
						'<span class="tilfy-wp-yazi__ozet">' + $('<div>').text((y.tarih || '') + (y.ozet ? ' · ' + y.ozet : '')).html() + '</span>' +
					'</span>' +
				'</button>'
			);
		}).join('');
		$liste.html(html).prop('hidden', false);
		wpYaziSayfalamaGoster(veri);
		var sayfa = parseInt(veri.sayfa, 10) || 1;
		var toplamSayfa = parseInt(veri.sayfa_sayisi, 10) || 1;
		var toplam = parseInt(veri.toplam, 10) || yazilar.length;
		$durum.text(tilfyFmt('wp_posts_page_select', '%d yazı · Sayfa %d / %d. Birini seçin.', toplam, sayfa, toplamSayfa));
	}

	function wpYazilariAra(sayfa) {
		if (!tilfyAdmin.wordpressKaynak || !$('#tilfy-wp-kaynak').length) {
			return;
		}
		var hedefSayfa = Math.max(1, parseInt(sayfa, 10) || wpYaziSayfa || 1);
		var arama = $('#tilfy-wp-yazi-arama').val() || '';
		var kategori = parseInt($('#tilfy-wp-yazi-kategori').val(), 10) || 0;
		$('#tilfy-wp-yazi-durum').text(tilfyT('wp_searching', 'Aranıyor…'));
		ajaxIstek('tilfy_wordpress_yazilar', {
			arama: arama,
			kategori: kategori,
			sayfa: hedefSayfa
		}, 30000).done(function (res) {
			if (!res || !res.success) {
				var hata = (res && res.data && res.data.mesaj) || tilfyT('wp_posts_load_failed', 'Yazılar yüklenemedi.');
				$('#tilfy-wp-yazi-durum').text(hata);
				$('#tilfy-wp-yazi-liste').prop('hidden', true).empty();
				$('#tilfy-wp-yazi-sayfalama').prop('hidden', true).empty();
				return;
			}
			wpKaynakYuklendi = true;
			wpYaziListeGoster(res.data || {});
		}).fail(function (xhr) {
			var mesaj = (xhr.responseJSON && xhr.responseJSON.data && xhr.responseJSON.data.mesaj) || tilfyT('wp_posts_load_failed', 'Yazılar yüklenemedi.');
			$('#tilfy-wp-yazi-durum').text(mesaj);
			$('#tilfy-wp-yazi-liste').prop('hidden', true).empty();
			$('#tilfy-wp-yazi-sayfalama').prop('hidden', true).empty();
		});
	}

	function wpKaynakPanelAcKapa(acik) {
		var $panel = $('#tilfy-wp-kaynak');
		var $toggle = $('#tilfy-wp-kaynak-toggle');
		var $kutu = $('#tilfy-wp-kaynak-kutu');
		if (!$panel.length || !$toggle.length) {
			return;
		}
		$panel.prop('hidden', !acik);
		$toggle.attr('aria-expanded', acik ? 'true' : 'false');
		$kutu.toggleClass('is-acik', !!acik);
		if (acik && !wpKaynakYuklendi) {
			wpYazilariAra();
		}
	}

	$(document).on('click', '#tilfy-wp-kaynak-toggle', function (e) {
		e.preventDefault();
		var acik = $(this).attr('aria-expanded') === 'true';
		wpKaynakPanelAcKapa(!acik);
	});

	$(document).on('click', '#tilfy-wp-yazi-ara', function (e) {
		e.preventDefault();
		wpYaziSayfa = 1;
		wpYazilariAra(1);
	});

	$(document).on('change', '#tilfy-wp-yazi-kategori', function () {
		wpYaziSayfa = 1;
		wpYazilariAra(1);
	});

	$(document).on('keydown', '#tilfy-wp-yazi-arama', function (e) {
		if (e.key === 'Enter') {
			e.preventDefault();
			wpYaziSayfa = 1;
			wpYazilariAra(1);
		}
	});

	$(document).on('click', '#tilfy-wp-yazi-sayfalama .tilfy-wp-sayfalama__btn', function (e) {
		e.preventDefault();
		var sayfa = parseInt($(this).data('sayfa'), 10) || 1;
		if (sayfa === wpYaziSayfa) {
			return;
		}
		wpYazilariAra(sayfa);
	});

	function studyoWpMedyaModUygula() {
		var $panel = $('#tilfy-wp-medya-mod');
		if (!$panel.length || $panel.prop('hidden')) {
			return;
		}
		var mod = studyoWpMedyaModu();
		var kapakUrl = String($('#tilfy-medya-alan').attr('data-wp-kapak') || '');
		var $secWrap = $('#tilfy-medya-sec-wrap');
		$secWrap.prop('hidden', mod !== 'yukleyici');
		if (mod === 'kapak' && kapakUrl) {
			$('#tilfy-medya-dosya-id').val(0);
			$('#tilfy-medya-onizleme').html('<img src="' + kapakUrl + '" alt="" />');
		} else if (mod === 'yukleyici') {
			var medyaId = parseInt($('#tilfy-medya-dosya-id').val(), 10) || 0;
			if (!medyaId) {
				$('#tilfy-medya-onizleme').empty();
			}
		}
		$('.tilfy-medya-alan').removeClass('is-hata');
	}

	function studyoWpMedyaModKur(kapakUrl, seciliMod) {
		var $panel = $('#tilfy-wp-medya-mod');
		var $grup = $('#tilfy-wp-medya-mod-grup');
		var $yardim = $('#tilfy-wp-medya-mod-yardim');
		if (!$panel.length) {
			return;
		}
		kapakUrl = String(kapakUrl || '');
		$('#tilfy-medya-alan').attr('data-wp-kapak', kapakUrl).addClass('is-wp-kaynak');
		$panel.prop('hidden', false).removeAttr('hidden');
		var kapakVar = kapakUrl !== '';
		$panel.attr('data-zorunlu-yukleyici', kapakVar ? '0' : '1');
		// Öne çıkan yoksa seçenek grubunu tamamen gizle - sadece Yeni ekle.
		if (kapakVar) {
			$grup.prop('hidden', false).removeAttr('hidden');
			$yardim.prop('hidden', true).attr('hidden', 'hidden');
			$grup.find('input[name="tilfy_wp_medya_mod"]').prop('disabled', false);
			var mod = seciliMod === 'yukleyici' ? 'yukleyici' : 'kapak';
			$grup.find('input[value="' + mod + '"]').prop('checked', true);
		} else {
			$grup.prop('hidden', true).attr('hidden', 'hidden');
			$yardim.prop('hidden', false).removeAttr('hidden');
			$grup.find('input[name="tilfy_wp_medya_mod"]').prop('disabled', true).prop('checked', false);
		}
		studyoWpMedyaModUygula();
	}

	$(document).on('change', 'input[name="tilfy_wp_medya_mod"]', function () {
		studyoWpMedyaModUygula();
	});

	var studyoVarsayilanEtiketler = $('#tilfy-studyosu-etiketler').length
		? String($('#tilfy-studyosu-etiketler').val() || '')
		: '';

	function studyoWpFormTemizle(opts) {
		opts = opts || {};
		$('#tilfy-studyosu-icerik-id').val(0);
		$('#tilfy-studyosu-baslik').val('');
		$('#tilfy-studyosu-aciklama').val('');
		$('#tilfy-studyosu-etiketler').val(studyoVarsayilanEtiketler);
		$('#tilfy-medya-dosya-id').val(0);
		$('#tilfy-medya-onizleme').empty();
		$('#tilfy-medya-alan').attr('data-wp-kapak', '').removeClass('is-hata');
		$('.tilfy-platform-ozel-baslik').val('');
		$('.tilfy-platform-ozel-aciklama').val('');
		$('.tilfy-platform-ozel-etiketler').val('');
		$('.tilfy-wp-yazi').removeClass('is-active');
		var $panel = $('#tilfy-wp-medya-mod');
		if ($panel.length) {
			$panel.prop('hidden', true).attr('hidden', 'hidden');
			$panel.attr('data-zorunlu-yukleyici', '0');
			$('#tilfy-wp-medya-mod-grup').prop('hidden', true).attr('hidden', 'hidden');
			$('#tilfy-wp-medya-mod-yardim').prop('hidden', true).attr('hidden', 'hidden');
			$('#tilfy-medya-sec-wrap').prop('hidden', false).removeAttr('hidden');
		}
		$('#tilfy-wp-form-temizle').prop('hidden', true).attr('hidden', 'hidden');
		if (typeof studyoUyariGizle === 'function') {
			studyoUyariGizle();
		}
		if (opts.mesaj !== false) {
			$('#tilfy-wp-yazi-durum').text(opts.mesaj || 'Form temizlendi. Başka bir yazı seçin veya elle doldurun.');
		}
	}

	$(document).on('click', '#tilfy-wp-form-temizle', function (e) {
		e.preventDefault();
		studyoWpFormTemizle();
	});

	$(document).on('click', '.tilfy-wp-yazi', function (e) {
		e.preventDefault();
		var postId = parseInt($(this).data('post-id'), 10) || 0;
		if (!postId) {
			return;
		}
		var $btn = $(this);
		if ($btn.hasClass('is-active')) {
			studyoWpFormTemizle({ mesaj: tilfyT('selection_cleared', 'Seçim kaldırıldı. Başka bir yazı seçin veya elle doldurun.') });
			return;
		}
		$('.tilfy-wp-yazi').removeClass('is-active');
		$btn.addClass('is-active');
		$('#tilfy-wp-yazi-durum').text(tilfyT('wp_post_loading', 'Yazı yükleniyor…'));
		ajaxIstek('tilfy_wordpress_yazi_yukle', { post_id: postId }, 60000).done(function (res) {
			if (!res || !res.success || !res.data) {
				$('#tilfy-wp-yazi-durum').text((res && res.data && res.data.mesaj) || tilfyT('wp_post_load_failed', 'Yazı yüklenemedi.'));
				return;
			}
			var d = res.data;
			$('#tilfy-studyosu-icerik-id').val(d.icerik_id || 0);
			$('#tilfy-studyosu-baslik').val(d.baslik || '');
			$('#tilfy-studyosu-aciklama').val(d.aciklama || '');
			$('#tilfy-medya-dosya-id').val(0);
			var kapakUrl = d.kapak_url || '';
			if (kapakUrl) {
				$('#tilfy-medya-onizleme').html('<img src="' + kapakUrl + '" alt="" />');
			} else {
				$('#tilfy-medya-onizleme').empty();
			}
			studyoWpMedyaModKur(kapakUrl, kapakUrl ? 'kapak' : 'yukleyici');
			$('#tilfy-wp-form-temizle').prop('hidden', false).removeAttr('hidden');
			$('#tilfy-wp-yazi-durum').text(tilfyT('wp_post_loaded', 'WordPress yazısı yüklendi. Seçimi kaldırmak için tekrar tıklayın veya formu temizleyin.'));
		}).fail(function (xhr) {
			var mesaj = (xhr.responseJSON && xhr.responseJSON.data && xhr.responseJSON.data.mesaj) || tilfyT('wp_post_load_failed', 'Yazı yüklenemedi.');
			$('#tilfy-wp-yazi-durum').text(mesaj);
		});
	});

	if ($('#tilfy-wp-medya-mod').length && !$('#tilfy-wp-medya-mod').prop('hidden')) {
		studyoWpMedyaModUygula();
		if (parseInt($('#tilfy-studyosu-icerik-id').val(), 10) > 0) {
			$('#tilfy-wp-form-temizle').prop('hidden', false).removeAttr('hidden');
		}
	}

	if ($('#tilfy-sepet-liste').length) {
		sepetSyncYenile();
		sepetUiGuncelle();
	}

	panelLogoYukle();
})(jQuery);
