Skip to content

feat: add ExpandedReply plugin#4061

Open
Kira-Kohler wants to merge 2 commits intoVendicated:mainfrom
Kira-Kohler:feat/expanded-reply
Open

feat: add ExpandedReply plugin#4061
Kira-Kohler wants to merge 2 commits intoVendicated:mainfrom
Kira-Kohler:feat/expanded-reply

Conversation

@Kira-Kohler
Copy link
Copy Markdown

Summary

  • Adds a chevron button next to reply previews to expand and show the full original message
  • Floating popup with proper markdown rendering (headings, bold, italic, lists, etc.), images (clickable to open Discord's image viewer), and playable videos
  • Header with author avatar and username, copy and close buttons
  • Popup positions above the reply bar and adapts to available space
  • Closes when clicking outside

Adds a button next to reply previews that expands to show the full
original message content including text with full markdown rendering,
images, and videos in a floating popup.
…art copy menu

- Replace native <video controls> with a custom VideoPlayer: play/pause,
  seek bar with progress fill, volume slider, mute toggle, and fullscreen
  via the native requestFullscreen API
- Add AudioPlayer with play/pause, seek bar, and timestamp display
- Render the popup via ReactDOM.createPortal so it is never clipped or
  resized by parent containers such as the active call popup; raise z-index
  to 10000 to always appear above Discord UI layers
- Prevent the popup from closing while a video is in native fullscreen by
  tracking the fullscreenchange event; also close on scroll when not in fullscreen
- Replace the single copy button with a smart CopyButton: copies directly
  when there is only one thing to copy, otherwise shows a dropdown with
  separate entries for text, image URL, video URL, and audio URL
- Move all hooks before early returns
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant