Commit Graph
9 Commits
Author SHA1 Message Date
FliesentischKingandDevin fe9e723c72 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>
2026-10-04 03:06:11 +02:00
FliesentischKingandDevin cd04135463 Locally stored thumbnails for video and YouTube uploads
- Server-side video thumbnails: ffmpeg-static grabs a frame at ~1s,
  scales it to 480px and stores it under /uploads/thumbs/ at upload
  time (direct files, remote URLs and comment attachments)
- YouTube thumbnails are downloaded once at upload time instead of
  being hotlinked from i.ytimg.com on every render; remote URL kept
  as fallback for legacy rows
- thumbUrl now covers video/audio/youtube/twitch in grid meta,
  profile uploads and notifications
- Generated thumbnail files are removed on single/bulk delete

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-04 03:06:01 +02:00
FliesentischKingandDevin d95ccf9dc7 Shared Spinner component for button loading states
Adds a reusable shadcn-style Spinner (lucide loader-circle icon,
localized aria-label) and wires it into every button that has a
pending state: comment submit, delete, tag save, profile save,
admin saves, upload, login and register.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-04 03:05:48 +02:00
FliesentischKingandDevin fab086d17e Discord-style reaction tooltips
Tooltips now show a large emoji on the left with reactor names
stacked vertically, instead of a comma-separated name list.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-04 03:05:41 +02:00
FliesentischKingandDevin c34e551708 Fix missing Figtree/Manrope webfont imports
The themes declared these font families but never imported them,
so browsers silently fell back to generic sans-serif.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-04 03:05:34 +02:00
FliesentischKing d95ed40053 i18n implemented 2026-10-03 23:45:04 +02:00
FliesentischKing 2ccea34bb9 English Readme 2026-10-03 21:58:09 +02:00
FliesentischKing 5a6fc7f976 New Themes 2026-10-03 21:32:57 +02:00
FliesentischKing a1346c98b1 Initial Commit 2026-10-03 20:07:49 +02:00