diff --git a/internal/movie/help.go b/internal/movie/help.go new file mode 100644 index 00000000..84acc177 --- /dev/null +++ b/internal/movie/help.go @@ -0,0 +1,38 @@ +package movie + +import ( + "github.com/charmbracelet/bubbles/help" + "github.com/charmbracelet/lipgloss" +) + +func newHelp(renderer *lipgloss.Renderer) help.Model { + keyStyle := lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{ + Light: "#909090", + Dark: "#626262", + }).Renderer(renderer) + + descStyle := lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{ + Light: "#B2B2B2", + Dark: "#4A4A4A", + }).Renderer(renderer) + + sepStyle := lipgloss.NewStyle().Foreground(lipgloss.AdaptiveColor{ + Light: "#DDDADA", + Dark: "#3C3C3C", + }).Renderer(renderer) + + return help.Model{ + ShortSeparator: " • ", + FullSeparator: " ", + Ellipsis: "…", + Styles: help.Styles{ + ShortKey: keyStyle, + ShortDesc: descStyle, + ShortSeparator: sepStyle, + Ellipsis: sepStyle.Copy(), + FullKey: keyStyle.Copy(), + FullDesc: descStyle.Copy(), + FullSeparator: sepStyle.Copy(), + }, + } +} diff --git a/internal/movie/player.go b/internal/movie/player.go index 6733df3c..5c808971 100644 --- a/internal/movie/player.go +++ b/internal/movie/player.go @@ -32,7 +32,7 @@ func NewPlayer(m *Movie, logger *log.Entry, renderer *lipgloss.Renderer) Player playCtx: playCtx, playCancel: playCancel, keymap: newKeymap(), - help: help.New(), + help: newHelp(renderer), helpViewStale: true, } @@ -41,14 +41,6 @@ func NewPlayer(m *Movie, logger *log.Entry, renderer *lipgloss.Renderer) Player player.log = logger.WithField("duration", player.durationHook) } - player.help.Styles.Ellipsis = player.help.Styles.Ellipsis.Renderer(renderer) - player.help.Styles.ShortKey = player.help.Styles.ShortKey.Renderer(renderer) - player.help.Styles.ShortDesc = player.help.Styles.ShortDesc.Renderer(renderer) - player.help.Styles.ShortSeparator = player.help.Styles.ShortSeparator.Renderer(renderer) - player.help.Styles.FullKey = player.help.Styles.FullKey.Renderer(renderer) - player.help.Styles.FullDesc = player.help.Styles.FullDesc.Renderer(renderer) - player.help.Styles.FullSeparator = player.help.Styles.FullSeparator.Renderer(renderer) - return player }