feat(turkanime): turkanime bölüm tarama özelliği ekle
Turkanime anime sayfalarından bölüm listesini çekmek için yeni API uç noktası ve kullanıcı arayüzü desteği eklendi. Kullanıcılar artık Turkanime URL'lerini girerek bölümleri listeleyebilir ve TURKANIME_DEBUG ortam değişkeni ile detaylı logları aktif edebilir.
This commit is contained in:
@@ -98,8 +98,25 @@
|
||||
}
|
||||
}
|
||||
|
||||
function normalizeTurkanimeAnimeUrl(value) {
|
||||
if (!value || typeof value !== "string") return null;
|
||||
try {
|
||||
const url = new URL(value.trim());
|
||||
const host = url.hostname.toLowerCase();
|
||||
if (host !== "turkanime.tv" && host !== "www.turkanime.tv") return null;
|
||||
const pathname = url.pathname.replace(/\/+$/, "");
|
||||
const match = pathname.match(/^\/anime\/([^/]+)$/);
|
||||
if (!match) return null;
|
||||
const slug = match[1]?.trim();
|
||||
if (!slug) return null;
|
||||
return `https://www.turkanime.tv/anime/${slug}`;
|
||||
} catch {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
async function handleUrlInput() {
|
||||
const input = prompt("Magnet veya YouTube URL girin:");
|
||||
const input = prompt("Magnet, YouTube veya Turkanime URL girin:");
|
||||
if (!input) return;
|
||||
if (isMagnetLink(input)) {
|
||||
await apiFetch("/api/transfer", {
|
||||
@@ -125,8 +142,29 @@
|
||||
await list();
|
||||
return;
|
||||
}
|
||||
const normalizedTurkanime = normalizeTurkanimeAnimeUrl(input);
|
||||
if (normalizedTurkanime) {
|
||||
const resp = await apiFetch("/api/turkanime/episodes", {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({ url: normalizedTurkanime })
|
||||
});
|
||||
if (!resp.ok) {
|
||||
const data = await resp.json().catch(() => null);
|
||||
alert(data?.error || "Turkanime bölümleri getirilemedi.");
|
||||
return;
|
||||
}
|
||||
const data = await resp.json().catch(() => null);
|
||||
const episodes = data?.episodes || [];
|
||||
if (!episodes.length) {
|
||||
alert("Turkanime için bölüm bulunamadı.");
|
||||
return;
|
||||
}
|
||||
alert(`Toplam ${data.count} bölüm bulundu:\n\n${episodes.join("\n")}`);
|
||||
return;
|
||||
}
|
||||
alert(
|
||||
"Yalnızca magnet linkleri veya https://www.youtube.com/watch?v=... formatındaki YouTube URL'leri destekleniyor."
|
||||
"Yalnızca magnet linkleri, https://www.youtube.com/watch?v=... formatındaki YouTube URL'leri veya https://www.turkanime.tv/anime/... formatındaki Turkanime URL'leri destekleniyor."
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user