Liste to warnings
All checks were successful
Just some continuos integration / ci (push) Successful in 22s
All checks were successful
Just some continuos integration / ci (push) Successful in 22s
This commit is contained in:
parent
749192667b
commit
bf1c63e2e6
3 changed files with 8 additions and 49 deletions
|
@ -1,28 +0,0 @@
|
|||
<div class="w-[150px]">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"
|
||||
><linearGradient id="a3"
|
||||
><stop offset="0" stop-color="#FF156D" stop-opacity="0"></stop><stop
|
||||
offset="1"
|
||||
stop-color="#FF156D"
|
||||
></stop></linearGradient
|
||||
><circle
|
||||
fill="none"
|
||||
stroke="url(#a3)"
|
||||
stroke-width="15"
|
||||
stroke-linecap="round"
|
||||
stroke-dasharray="0 44 0 44 0 44 0 44 0 360"
|
||||
cx="100"
|
||||
cy="100"
|
||||
r="70"
|
||||
transform-origin="center"
|
||||
><animateTransform
|
||||
type="rotate"
|
||||
attributeName="transform"
|
||||
calcMode="discrete"
|
||||
dur="2"
|
||||
values="360;324;288;252;216;180;144;108;72;36"
|
||||
repeatCount="indefinite"
|
||||
></animateTransform></circle
|
||||
></svg
|
||||
>
|
||||
</div>
|
|
@ -1,9 +1,7 @@
|
|||
<script lang="ts">
|
||||
import { PUBLIC_VERSION } from '$env/static/public';
|
||||
import supportedFormats from '$lib/common/supportedFormats.json';
|
||||
import Loader from '$lib/components/Loader.svelte';
|
||||
import DownloadManager from '$lib/components/ProgressBar.svelte';
|
||||
import { mount, unmount } from 'svelte';
|
||||
|
||||
let source = $state('youtube');
|
||||
let link = $state('');
|
||||
|
@ -12,8 +10,6 @@
|
|||
let showModal = $state(false);
|
||||
let href = $state('');
|
||||
let disabled = $state(true);
|
||||
let logs = $state('');
|
||||
let downloadManager: DownloadManager | null = null;
|
||||
let progress = $state(0);
|
||||
let filename = $state('');
|
||||
|
||||
|
@ -38,13 +34,13 @@
|
|||
|
||||
const contentDisposition: string | null = response?.headers?.get('content-disposition');
|
||||
filename = contentDisposition?.split('filename=')[1] || 'noname';
|
||||
const contentLength: number = Number(response?.headers?.get('content-length'));
|
||||
// const contentLength: number = Number(response?.headers?.get('content-length'));
|
||||
const reader = response?.body?.getReader();
|
||||
const chunks: Uint8Array[] = [];
|
||||
let receivedLength = 0;
|
||||
|
||||
while (true) {
|
||||
const { done, value }: ReadableStreamReadResult<Uint8Array> = await reader!.read();
|
||||
const { done, value } = await reader!.read();
|
||||
if (done) break;
|
||||
if (value) {
|
||||
chunks.push(value);
|
||||
|
@ -84,8 +80,9 @@
|
|||
try {
|
||||
new URL(link);
|
||||
disabled = false;
|
||||
} catch (err) {
|
||||
} catch {
|
||||
/*
|
||||
|
||||
if (err.code === 'ERR_INVALID_URL') {
|
||||
|
||||
}
|
||||
|
@ -117,15 +114,6 @@
|
|||
id="wrapper"
|
||||
class="relative mx-auto max-w-full rounded-2xl bg-black p-4 text-green-400 shadow-xl sm:max-w-sm md:max-w-md lg:max-w-lg"
|
||||
>
|
||||
<!-- Loader Overlay -->
|
||||
<div
|
||||
id="loader"
|
||||
class="absolute inset-0 z-10 hidden items-center justify-center bg-black/80 backdrop-blur-sm"
|
||||
>
|
||||
<Loader />
|
||||
{@html logs}
|
||||
</div>
|
||||
|
||||
<!-- Info Button -->
|
||||
<button
|
||||
onclick={toggleModal}
|
||||
|
@ -156,7 +144,7 @@
|
|||
bind:value={source}
|
||||
class="w-full rounded-md border border-green-400 bg-[#000f00] px-3 py-2 text-green-300 focus:border-pink-400 focus:outline-none"
|
||||
>
|
||||
{#each sources as source}
|
||||
{#each sources as source (source.label)}
|
||||
<option value={source.value}>{source.label}</option>
|
||||
{/each}
|
||||
</select>
|
||||
|
@ -170,7 +158,7 @@
|
|||
bind:value={format}
|
||||
class="w-full rounded-md border border-green-400 bg-[#000f00] px-3 py-2 text-green-300 focus:border-pink-400 focus:outline-none"
|
||||
>
|
||||
{#each formats as format}
|
||||
{#each formats as format (format.label)}
|
||||
<option value={format.value}>{format.label}</option>
|
||||
{/each}
|
||||
</select>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { error } from '@sveltejs/kit';
|
||||
import type { RequestHandler } from './$types';
|
||||
import { getYouTubeMetadata, streamYouTube, ytdl } from '$lib/server/ytdlp';
|
||||
import { getYouTubeMetadata, streamYouTube } from '$lib/server/ytdlp';
|
||||
import { isURLValid, logger, mimeTypeMap } from '$lib/server/helpers';
|
||||
|
||||
const validateRequest = (url: URL) => {
|
||||
|
@ -8,7 +8,6 @@ const validateRequest = (url: URL) => {
|
|||
const link = url.searchParams.get('link');
|
||||
const format = url.searchParams.get('format'); // mp3, mp4
|
||||
const source = url.searchParams.get('source'); // youtube or spotify
|
||||
const metadata = url.searchParams.has('metadata');
|
||||
|
||||
// Validate input
|
||||
if (!link || !format || !source) {
|
||||
|
@ -36,7 +35,7 @@ const validateRequest = (url: URL) => {
|
|||
};
|
||||
};
|
||||
export const GET: RequestHandler = async ({ url }) => {
|
||||
const { format, source, link } = validateRequest(url);
|
||||
const { format, link } = validateRequest(url);
|
||||
let filename = '';
|
||||
|
||||
logger.debug(`Requested: ${link}`);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue