From 43b21f02ccd9d252b07368b97360ddf9accc8077 Mon Sep 17 00:00:00 2001 From: szbk Date: Mon, 27 Oct 2025 06:14:46 +0300 Subject: [PATCH] =?UTF-8?q?Tracker=20i=C3=A7in=20temiz=20url.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/routes/Files.svelte | 53 ++++++++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 9 deletions(-) diff --git a/client/src/routes/Files.svelte b/client/src/routes/Files.svelte index 128a1e2..841e535 100644 --- a/client/src/routes/Files.svelte +++ b/client/src/routes/Files.svelte @@ -72,6 +72,41 @@ let isPlaying = false; if (bytes < 1e9) return (bytes / 1e6).toFixed(1) + " MB"; return (bytes / 1e9).toFixed(2) + " GB"; } + function formatTracker(value) { + if (!value) return "Bilinmiyor"; + const raw = String(value).trim(); + if (!raw) return "Bilinmiyor"; + + const normalise = (input) => { + try { + return new URL(input); + } catch { + try { + return new URL(`http://${input}`); + } catch { + return null; + } + } + }; + + const parsed = normalise(raw); + if (parsed) { + let host = parsed.hostname || ""; + if (host.toLowerCase().startsWith("tracker.")) { + host = host.slice(8); + } + if (host) return host; + } + + const stripped = raw + .replace(/^.*?:\/\//, "") + .replace(/\/.*$/, "") + .replace(/:.*/, ""); + if (stripped.toLowerCase().startsWith("tracker.")) { + return stripped.slice(8); + } + return stripped || raw; + } function formatDateTime(value) { if (!value) return "—"; const date = new Date(Number(value)); @@ -489,15 +524,15 @@ let isPlaying = false; {formatSize(f.size)}
- {#if f.progressText} - {f.progressText} - | - {/if} - Tracker: - - {f.tracker ? f.tracker : "Bilinmiyor"} - -
+ {#if f.progressText} + {f.progressText} + | + {/if} + Tracker: + + {formatTracker(f.tracker)} + + {#if f.mediaInfo?.video || f.mediaInfo?.audio}
{#if f.extension}