diff --git a/frontend/index.html b/frontend/index.html index 1b22057..000b63d 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -36,6 +36,8 @@ window.serverName = "{{SiteName}}"; window.cloudflareTurnstileSiteKey = "{{CFTurnstileSiteKey}}"; window.siteInfo = `{{SiteInfo}}`; + window.uploadPrompt = `{{UploadPrompt}}`; + window.allowNormalUserUpload = `{{AllowNormalUserUpload}}`;
diff --git a/frontend/src/app.ts b/frontend/src/app.ts index 9237f1a..6773036 100644 --- a/frontend/src/app.ts +++ b/frontend/src/app.ts @@ -4,6 +4,8 @@ interface MyWindow extends Window { serverName?: string; cloudflareTurnstileSiteKey?: string; siteInfo?: string; + uploadPrompt?: string; + allowNormalUserUpload?: string; } class App { @@ -17,6 +19,10 @@ class App { siteInfo = ""; + uploadPrompt = ""; + + allowNormalUserUpload = true; + constructor() { this.init(); } @@ -37,6 +43,8 @@ class App { this.cloudflareTurnstileSiteKey = null; // Placeholder value, set to null if not configured } this.siteInfo = (window as MyWindow).siteInfo || ""; + this.uploadPrompt = (window as MyWindow).uploadPrompt || ""; + // this.allowNormalUserUpload = (window as MyWindow).allowNormalUserUpload === "true"; } saveData() { diff --git a/frontend/src/network/models.ts b/frontend/src/network/models.ts index 64d0379..35361c6 100644 --- a/frontend/src/network/models.ts +++ b/frontend/src/network/models.ts @@ -93,6 +93,7 @@ export interface Storage { maxSize: number; currentSize: number; createdAt: string; + isDefault: boolean; } export interface RFile { @@ -157,6 +158,9 @@ export interface ServerConfig { server_name: string; server_description: string; site_info: string; + allow_normal_user_upload: boolean; + max_normal_user_upload_size_in_mb: number; + upload_prompt: string; } export enum RSort { diff --git a/frontend/src/network/network.ts b/frontend/src/network/network.ts index 8870ba0..46c2224 100644 --- a/frontend/src/network/network.ts +++ b/frontend/src/network/network.ts @@ -460,6 +460,12 @@ class Network { ); } + async setDefaultStorage(id: number): Promise