From c85d129b56585e5c27a7c481f731b07fe9fda983 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 8 Jan 2026 02:52:48 +0000 Subject: [PATCH] Streamline upload modal form fields and logic - Rename "Legacy description" to "Video description" - Group technical NIP-71 fields (Event Type, IMETA, Tracks, Segments) into a hidden "Advanced Options" section - Automate "Summary" field to mirror "Video description" by default (with unlock toggle) - Automate "Web seed" field to mirror "Hosted video URL" - Automate "Content Warning" based on NSFW toggle status - Maintain visibility of Hashtags in the main form flow - Apply changes consistently to both Custom and Cloudflare R2 upload modes --- components/upload-modal.html | 2538 ++++++++++++++----------------- js/ui/components/UploadModal.js | 212 ++- 2 files changed, 1329 insertions(+), 1421 deletions(-) diff --git a/components/upload-modal.html b/components/upload-modal.html index bd54e099..c3b448d6 100644 --- a/components/upload-modal.html +++ b/components/upload-modal.html @@ -74,6 +74,7 @@ Share a title plus either a hosted video URL or a magnet link. Providing both helps bitvid fall back gracefully.

+
-
-
- - NIP-71 event type - -

- Choose the video format. - Kind 21 is a - full video, while - Kind 22 is a - short. -

-
- -
-
- -
-
- - -

- Set the canonical publish time for cross-client ordering. -

-
-
- - -

- Plain-language fallback shown when the media cannot load. -

-
-
- - -

- Optional legacy fallback in seconds (fractions allowed) for clients that - expect a top-level duration. -

-
-
- - -

- Leave blank if the video is safe for all audiences. -

-
-
- -
- - -

- This becomes the event content. Keep it concise for Nostr - readers. -

-
-
-
- -
- - -
-
+
Video description

- Kept for older clients that rely on the legacy description tag. + Description of your video.

-
- - NIP-71 tags - -

- Use the controls below to describe media variants, captions, - chapters, participants, and references. -

- -
-
-

- Image metadata (imeta) -

- -
-

- Provide dimensions, MIME type, and resource links for each - variant. Nested repeaters let you attach multiple - image, fallback, or - service values. -

-
- -
- -
-
-

- Caption & subtitle tracks (text-track) -

- -
-

- Point to VTT/SRT caption files and optionally declare the - language code (BCP-47). -

-
- -
- -
-
-

- Chapters & segments (segment) -

- -
-

- Outline the timeline using HH:MM:SS timestamps. Thumbnail URLs - are optional. -

-
- -
- -
+
@@ -804,7 +157,7 @@ id="nip71HashtagsLabel" class="text-sm font-medium text-text" > - Hashtags (t) + Hashtags
- -
-
-

- Participants (p) -

- -
-

- Paste the participant npub or hex pubkey. Optionally provide a - preferred relay URL. -

-
- -
- -
-
-

- Reference links (r) -

- -
-

- Link to transcripts, source repositories, or related - resources. -

-
- -
-
+
- Keep this on to let viewers discuss the video once comment - threads launch. + Keep this on to let viewers discuss the video.
+
- Flag mature or explicit uploads so clients can warn - viewers before playback. + Flag mature or explicit uploads. @@ -1051,25 +274,743 @@ Is this content created for Kids? - Mark clearly kid-friendly videos so parental controls and - playlists stay accurate. + Mark clearly kid-friendly videos.
- +
+
- --> + + + + + - -

- Provide dimensions, MIME type, and resource links for each - variant. Nested repeaters let you attach multiple - image, fallback, or - service values. -

-
-
-
-
- - -

- RFC 2046 media type for this encoding. -

-
-
- - -

- Formatted as widthxheight. -

-
-
- - -

- HTTPS variant URL shared across clients. -

-
-
- - -

- Optional magnet pointer if the variant is seeded - via P2P. -

-
-
- -
-
-

- Image values -

- -
-
- -
- -
-
-

- Fallback URLs -

- -
-
- -
- -
-
-

- Services -

- -
-
- -
- - -
-
- - -
-
-

- Caption & subtitle tracks (text-track) -

- -
-

- Point to VTT/SRT caption files and optionally declare the - language code (BCP-47). -

-
-
- -
-
-

- Timeline segments (segment) -

- -
-

- Define chapters by timestamp so clients can build jump - lists. -

-
-
- -
+
@@ -1844,7 +1259,7 @@ id="cloudflareNip71HashtagsLabel" class="text-sm font-medium text-text" > - Hashtags (t) + Hashtags
+
-
-
-

- Participants (p) -

- -
-

- Credit guests, hosts, or collaborators with their npubs - and preferred relay hints. -

-
-
- -
-
-

- References (r) -

- -
-

- Link to companion articles, source material, or - announcements that contextualize the upload. -

-
-
-
- Publish with comments switched on. Toggle off to quietly - disable replies on this video. + Publish with comments switched on.
+
- Turn this on to signal mature or explicit material to - downstream clients. + Turn this on to signal mature or explicit material. @@ -2022,13 +1359,13 @@ Is this content created for Kids? - Highlight family-safe uploads so moderation tooling - and filters stay accurate. + Highlight family-safe uploads.
+
@@ -2058,6 +1394,31 @@ >

+ +
+
+ + +
+
+ + +
+
+

+ + +
+ +
+ +