From b409ff009d78ce67fb015092bb80de5cfc9c27c2 Mon Sep 17 00:00:00 2001 From: Wim Brand Date: Tue, 14 Oct 2025 00:03:48 +0200 Subject: [PATCH] Remove some event dispatchers --- svelte/src/admin_panel/AbuseReport.svelte | 7 +- svelte/src/admin_panel/Home.svelte | 2 +- .../src/admin_panel/ServerDiagnostics.svelte | 19 +++-- svelte/src/filesystem/Filesystem.svelte | 17 ++-- svelte/src/filesystem/Toolbar.svelte | 5 +- .../edit_window/BrandingOptions.svelte | 10 +-- .../filesystem/filemanager/FileMenu.svelte | 4 +- .../filesystem/filemanager/FilePicker.svelte | 13 +-- .../upload_widget/FSUploadWidget.svelte | 2 +- .../upload_widget/UploadProgress.svelte | 17 ++-- svelte/src/filesystem/viewers/File.svelte | 33 ++++---- .../src/filesystem/viewers/FilePreview.svelte | 27 +++--- svelte/src/filesystem/viewers/Image.svelte | 8 +- svelte/src/filesystem/viewers/PDF.svelte | 9 +- svelte/src/filesystem/viewers/Text.svelte | 22 ++--- svelte/src/filesystem/viewers/Torrent.svelte | 21 +++-- svelte/src/filesystem/viewers/Video.svelte | 43 +++++----- svelte/src/filesystem/viewers/Zip.svelte | 31 ++++--- svelte/src/layout/SlowDown.svelte | 83 ------------------- svelte/src/lib/FilesystemAPI.svelte.ts | 32 +++---- svelte/src/util/Modal.svelte | 10 +-- svelte/src/util/ThemePicker.svelte | 64 -------------- svelte/tsconfig.json | 2 +- 23 files changed, 165 insertions(+), 316 deletions(-) delete mode 100644 svelte/src/layout/SlowDown.svelte delete mode 100644 svelte/src/util/ThemePicker.svelte diff --git a/svelte/src/admin_panel/AbuseReport.svelte b/svelte/src/admin_panel/AbuseReport.svelte index ff60576..62182c8 100644 --- a/svelte/src/admin_panel/AbuseReport.svelte +++ b/svelte/src/admin_panel/AbuseReport.svelte @@ -4,13 +4,16 @@ import Expandable from "util/Expandable.svelte"; import { createEventDispatcher } from "svelte"; let dispatch = createEventDispatcher() -let { report, ip_report_count } = $props(); +let { + report, + ip_report_count +} = $props(); let preview = $state(false) let can_grant = $derived(report.status !== "granted") let can_reject = $derived(report.status !== "rejected") -let set_status = async (action, report_type) => { +let set_status = async (action: string, report_type: string) => { dispatch("resolve_report", {action: action, report_type: report_type}) } diff --git a/svelte/src/admin_panel/Home.svelte b/svelte/src/admin_panel/Home.svelte index f50c409..d21b741 100644 --- a/svelte/src/admin_panel/Home.svelte +++ b/svelte/src/admin_panel/Home.svelte @@ -199,7 +199,7 @@ onDestroy(() => {
- getStats(lastOrder)}/> + getStats(lastOrder)}/>

Process stats

diff --git a/svelte/src/admin_panel/ServerDiagnostics.svelte b/svelte/src/admin_panel/ServerDiagnostics.svelte index 8343726..6bcdb9f 100644 --- a/svelte/src/admin_panel/ServerDiagnostics.svelte +++ b/svelte/src/admin_panel/ServerDiagnostics.svelte @@ -1,14 +1,15 @@ diff --git a/svelte/src/filesystem/viewers/File.svelte b/svelte/src/filesystem/viewers/File.svelte index b32f4fd..b1e5a2e 100644 --- a/svelte/src/filesystem/viewers/File.svelte +++ b/svelte/src/filesystem/viewers/File.svelte @@ -1,39 +1,40 @@ {@render children?.()} -

{$nav.base.name}

+

{node.name}

- - Type: {$nav.base.file_type}
- Size: {formatDataVolume($nav.base.file_size, 3)}
- Upload date: {formatDate($nav.base.created, true, true, false)} + + Type: {node.file_type}
+ Size: {formatDataVolume(node.file_size, 3)}
+ Upload date: {formatDate(node.created, true, true, false)}
- -
-{#if $nav.base.name === ".search_index.gz"} +{#if node.name === ".search_index.gz"}

Congratulations! You have found the search index. One of the diff --git a/svelte/src/filesystem/viewers/FilePreview.svelte b/svelte/src/filesystem/viewers/FilePreview.svelte index cb3ff1e..779c19c 100644 --- a/svelte/src/filesystem/viewers/FilePreview.svelte +++ b/svelte/src/filesystem/viewers/FilePreview.svelte @@ -15,11 +15,18 @@ import CustomBanner from "./CustomBanner.svelte"; import type { FSNavigator } from "filesystem/FSNavigator"; import FsUploadWidget from "filesystem/upload_widget/FSUploadWidget.svelte"; import EditWindow from "filesystem/edit_window/EditWindow.svelte"; +import DetailsWindow from "filesystem/DetailsWindow.svelte"; -let { nav, upload_widget, edit_window }: { - nav: FSNavigator; - upload_widget: FsUploadWidget; - edit_window: EditWindow; +let { + nav, + upload_widget, + edit_window, + details_window, +}: { + nav: FSNavigator + upload_widget: FsUploadWidget + edit_window: EditWindow + details_window: DetailsWindow } = $props(); let viewer: any = $state() @@ -89,23 +96,23 @@ export const seek = (delta: number) => { {:else if viewer_type === "image"} {:else if viewer_type === "video"} -

- Pixeldrain's free tier is supported by my Patrons. There's only so much - that you can do with the budget they provide. - {formatDataVolume($stats.limits.transfer_limit, 3)} per day is about the - most I can give away for free while keeping it fair for everyone, and - according to our records you have already downloaded - {formatDataVolume($stats.limits.transfer_limit_used, 3)}. -

-

- It's not that I want to withold this file from you, it's just that I - don't want pixeldrain to fall into bankruptcy like so many of the - websites that came before me. So if you really want this file you have a - few options: -

-
    -
  • - Come back tomorrow when your free transfer limit resets -
  • -
  • - Download the file at a limited rate of {formatDataVolume($stats.limits.speed_limit, 3)}/s. This will take at - least {formatDuration((file_size/($stats.limits.speed_limit))*1000, 0)} -
  • -
  • - - bolt Get Premium - - and earn my eternal gratitude - {#if $user.username === undefined || $user.username === ""} - (you will need a pixeldrain account to - receive the benefits) - {/if} -
  • -
-
- - - - - - - - -
{file_name}
Type{file_type}
Size{formatDataVolume(file_size, 3)}
- -
- - - Also, I believe you have my stapler. Please give it back. - - - diff --git a/svelte/src/lib/FilesystemAPI.svelte.ts b/svelte/src/lib/FilesystemAPI.svelte.ts index 7c54d9d..8a95e90 100644 --- a/svelte/src/lib/FilesystemAPI.svelte.ts +++ b/svelte/src/lib/FilesystemAPI.svelte.ts @@ -58,6 +58,22 @@ export class FSNode { (this.user_permissions !== undefined && Object.keys(this.user_permissions).length > 0) || (this.password_permissions !== undefined && Object.keys(this.password_permissions).length > 0) } + + download = () => { + const a = document.createElement("a") + + if (this.type === "file") { + a.href = fs_path_url(this.path) + "?attach" + a.download = this.name + } else if (this.type === "dir") { + a.href = fs_path_url(this.path) + "?bulk_download" + a.download = this.name + ".zip" + } + + // You can't call .click() on an element that is not in the DOM. But + // emitting a click event works + a.dispatchEvent(new MouseEvent("click")) + } } export type FSNodeProperties = { @@ -400,19 +416,3 @@ export const fs_share_path = (path: FSNode[]): string => { return share_url } - -export const fs_download = (node: FSNode) => { - const a = document.createElement("a") - - if (node.type === "file") { - a.href = fs_path_url(node.path) + "?attach" - a.download = node.name - } else if (node.type === "dir") { - a.href = fs_path_url(node.path) + "?bulk_download" - a.download = node.name + ".zip" - } - - // You can't call .click() on an element that is not in the DOM. But - // emitting a click event works - a.dispatchEvent(new MouseEvent("click")) -} diff --git a/svelte/src/util/Modal.svelte b/svelte/src/util/Modal.svelte index 3a34695..da9d89b 100644 --- a/svelte/src/util/Modal.svelte +++ b/svelte/src/util/Modal.svelte @@ -6,9 +6,8 @@ let global_index = 10000; - -
- - - - - - - - - - - - - - -
- - diff --git a/svelte/tsconfig.json b/svelte/tsconfig.json index b2307af..4b5bf03 100644 --- a/svelte/tsconfig.json +++ b/svelte/tsconfig.json @@ -9,6 +9,6 @@ "target": "ES2017", "noUnusedLocals": true, "module": "preserve", - "moduleResolution": "bundler", + "moduleResolution": "bundler" } }