mirror of
https://github.com/anotherhadi/ilovetui.git
synced 2026-08-21 12:05:49 +02:00
5f99fa7521
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
33 lines
1.2 KiB
Go
33 lines
1.2 KiB
Go
package bubbles
|
|
|
|
import (
|
|
"charm.land/bubbles/v2/textinput"
|
|
|
|
"github.com/anotherhadi/ilovetui/style"
|
|
)
|
|
|
|
// NewTextInput returns a textinput.Model styled with the active theme.
|
|
func NewTextInput() textinput.Model {
|
|
t := textinput.New()
|
|
t.SetStyles(themedTextInputStyles())
|
|
return t
|
|
}
|
|
|
|
// themedTextInputStyles builds textinput.Styles from the active theme.
|
|
// Shared with NewList, which themes its filter input the same way.
|
|
func themedTextInputStyles() textinput.Styles {
|
|
// isDark only affects textinput.DefaultStyles' Blurred.Text color, which
|
|
// we override below regardless.
|
|
s := textinput.DefaultStyles(true)
|
|
s.Focused.Text = s.Focused.Text.Foreground(style.S.Text)
|
|
s.Focused.Placeholder = s.Focused.Placeholder.Foreground(style.S.Subtle)
|
|
s.Focused.Suggestion = s.Focused.Suggestion.Foreground(style.S.Subtle)
|
|
s.Focused.Prompt = s.Focused.Prompt.Foreground(style.S.Primary)
|
|
s.Blurred.Text = s.Blurred.Text.Foreground(style.S.Muted)
|
|
s.Blurred.Placeholder = s.Blurred.Placeholder.Foreground(style.S.Subtle)
|
|
s.Blurred.Suggestion = s.Blurred.Suggestion.Foreground(style.S.Subtle)
|
|
s.Blurred.Prompt = s.Blurred.Prompt.Foreground(style.S.Subtle)
|
|
s.Cursor.Color = style.S.Primary
|
|
return s
|
|
}
|