From 15537ba73a4589b93d9355f5c024fbc791f53b2e Mon Sep 17 00:00:00 2001 From: Stu Leak Date: Mon, 29 Dec 2025 02:27:44 -0500 Subject: [PATCH] feat(ui): Display codec badges inline with dropdowns MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Changed badge layout from vertical stacking to horizontal inline display - Badges now appear next to dropdowns using HBox containers - Applied to format, video codec, and audio codec selections - Added assets/mockup/ to .gitignore for design references 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- .gitignore | 3 +++ main.go | 12 ++++-------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 67039a2..838ba99 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,9 @@ logs/ .cache/ VideoTools +# Design mockups and assets +assets/mockup/ + # Windows build artifacts VideoTools.exe ffmpeg.exe diff --git a/main.go b/main.go index 6bfb1a3..d304c41 100644 --- a/main.go +++ b/main.go @@ -8240,8 +8240,7 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject { simpleOptions := container.NewVBox( widget.NewLabelWithStyle("═══ OUTPUT ═══", fyne.TextAlignCenter, fyne.TextStyle{Bold: true}), widget.NewLabelWithStyle("Format", fyne.TextAlignLeading, fyne.TextStyle{Bold: true}), - formatSelect, - formatBadgeContainer, + container.NewHBox(formatSelect, formatBadgeContainer), chapterWarningLabel, // Warning when converting chapters to DVD preserveChaptersCheck, dvdAspectBox, // DVD options appear here when DVD format selected @@ -8265,8 +8264,7 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject { advancedVideoEncodingBlock = container.NewVBox( widget.NewLabelWithStyle("═══ VIDEO ENCODING ═══", fyne.TextAlignCenter, fyne.TextStyle{Bold: true}), widget.NewLabelWithStyle("Video Codec", fyne.TextAlignLeading, fyne.TextStyle{Bold: true}), - videoCodecSelect, - videoCodecBadgeContainer, + container.NewHBox(videoCodecSelect, videoCodecBadgeContainer), widget.NewLabelWithStyle("Encoder Preset (speed vs quality)", fyne.TextAlignLeading, fyne.TextStyle{Bold: true}), encoderPresetSelect, encoderPresetHintContainer, @@ -8294,8 +8292,7 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject { audioEncodingSection = container.NewVBox( widget.NewLabelWithStyle("═══ AUDIO ENCODING ═══", fyne.TextAlignCenter, fyne.TextStyle{Bold: true}), widget.NewLabelWithStyle("Audio Codec", fyne.TextAlignLeading, fyne.TextStyle{Bold: true}), - audioCodecSelect, - audioCodecBadgeContainer, + container.NewHBox(audioCodecSelect, audioCodecBadgeContainer), widget.NewLabelWithStyle("Audio Bitrate", fyne.TextAlignLeading, fyne.TextStyle{Bold: true}), audioBitrateSelect, widget.NewLabelWithStyle("Audio Channels", fyne.TextAlignLeading, fyne.TextStyle{Bold: true}), @@ -8305,8 +8302,7 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject { advancedOptions := container.NewVBox( widget.NewLabelWithStyle("═══ OUTPUT ═══", fyne.TextAlignCenter, fyne.TextStyle{Bold: true}), widget.NewLabelWithStyle("Format", fyne.TextAlignLeading, fyne.TextStyle{Bold: true}), - formatSelect, - formatBadgeContainer, + container.NewHBox(formatSelect, formatBadgeContainer), chapterWarningLabel, // Warning when converting chapters to DVD preserveChaptersCheck, dvdAspectBox, // DVD options appear here when DVD format selected