From fe9e723c72eca2ef57909aa6641f8f2a4ae423f6 Mon Sep 17 00:00:00 2001 From: FliesentischKing Date: Sun, 4 Oct 2026 03:06:11 +0200 Subject: [PATCH] Media attachment cards with popover players and shared volume - Audio/video attachments render as media cards (cover or icon, title/artist/size) instead of plain file chips; image attachments use 3:2 thumbnails matching the audio card height - Players open in a Popover (autoplay on open) with a dimming overlay; AudioPlayerDialog/VideoPlayerDialog removed - New useMediaVolume composable shares volume/mute between all audio players and Plyr via the 4brett-player storage key - Player buttons and Plyr controls follow the theme border radius - Portrait videos: aspect is applied even when metadata loaded before hydration, and the raw video is height-capped pre-JS Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- app/components/AudioPlayerDialog.vue | 130 -------------------------- app/components/CommentAttachments.vue | 105 +++++++++++++++------ app/components/VideoPlayer.vue | 13 ++- app/components/VoiceMessagePlayer.vue | 17 ++-- app/composables/useMediaVolume.ts | 51 ++++++++++ shared/utils/attachments.ts | 5 + 6 files changed, 154 insertions(+), 167 deletions(-) delete mode 100644 app/components/AudioPlayerDialog.vue create mode 100644 app/composables/useMediaVolume.ts diff --git a/app/components/AudioPlayerDialog.vue b/app/components/AudioPlayerDialog.vue deleted file mode 100644 index bbb2b40..0000000 --- a/app/components/AudioPlayerDialog.vue +++ /dev/null @@ -1,130 +0,0 @@ - - - diff --git a/app/components/CommentAttachments.vue b/app/components/CommentAttachments.vue index 8c3d4f5..49b3e5c 100644 --- a/app/components/CommentAttachments.vue +++ b/app/components/CommentAttachments.vue @@ -1,9 +1,10 @@