From eb95be0f38ed952fb7ff52576de059c345f6eaa2 Mon Sep 17 00:00:00 2001 From: trisua Date: Sun, 11 May 2025 15:20:15 -0400 Subject: [PATCH] add: ability to manage uploads --- crates/app/src/langs/en-US.toml | 2 + .../public/html/communities/create_post.html | 6 +- .../app/src/public/html/profile/settings.html | 85 +++++++++++++++++++ crates/app/src/routes/api/v1/auth/images.rs | 12 +-- .../src/routes/api/v1/communities/emojis.rs | 4 +- .../src/routes/api/v1/communities/images.rs | 6 +- .../src/routes/api/v1/communities/posts.rs | 38 +-------- crates/app/src/routes/api/v1/mod.rs | 4 +- crates/app/src/routes/api/v1/uploads.rs | 54 ++++++++++++ crates/app/src/routes/pages/profile.rs | 11 +++ crates/core/src/database/uploads.rs | 60 +++++++++++++ 11 files changed, 234 insertions(+), 48 deletions(-) create mode 100644 crates/app/src/routes/api/v1/uploads.rs diff --git a/crates/app/src/langs/en-US.toml b/crates/app/src/langs/en-US.toml index a65c0cb..5cd2089 100644 --- a/crates/app/src/langs/en-US.toml +++ b/crates/app/src/langs/en-US.toml @@ -22,6 +22,7 @@ version = "1.0.0" "general:action.report" = "Report" "general:action.manage" = "Manage" "general:action.open" = "Open" +"general:action.view" = "View" "general:action.copy_link" = "Copy link" "general:label.safety" = "Safety" "general:label.share" = "Share" @@ -147,6 +148,7 @@ version = "1.0.0" "settings:tab.security" = "Security" "settings:tab.blocks" = "Blocks" "settings:tab.billing" = "Billing" +"settings:tab.uploads" = "Uploads" "mod_panel:label.open_reported_content" = "Open reported content" "mod_panel:label.manage_profile" = "Manage profile" diff --git a/crates/app/src/public/html/communities/create_post.html b/crates/app/src/public/html/communities/create_post.html index 93cb7d9..c19f3c3 100644 --- a/crates/app/src/public/html/communities/create_post.html +++ b/crates/app/src/public/html/communities/create_post.html @@ -97,8 +97,10 @@ // create body const body = new FormData(); - for (const file of e.target.file_picker.files) { - body.append(file.name, file); + if (e.target.file_picker) { + for (const file of e.target.file_picker.files) { + body.append(file.name, file); + } } body.append( diff --git a/crates/app/src/public/html/profile/settings.html b/crates/app/src/public/html/profile/settings.html index 62e9c48..e01cc3e 100644 --- a/crates/app/src/public/html/profile/settings.html +++ b/crates/app/src/public/html/profile/settings.html @@ -49,6 +49,11 @@ {{ text "settings:tab.blocks" }} + + {{ icon "image-up" }} + {{ text "settings:tab.uploads" }} + + {% if config.stripe %} {{ icon "credit-card" }} @@ -391,6 +396,86 @@ + +