add basic app components

Signed-off-by: Hadi <[email protected]>
This commit is contained in:
Hadi
2026-08-24 18:57:11 +02:00
parent 1bc3ee2821
commit 68bf97efd6
2 changed files with 39 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
package app
import (
"image/color"
"charm.land/lipgloss/v2"
"github.com/anotherhadi/ilovetui/style"
)
func RenderToggle(on bool) string {
if !style.S.NerdFonts {
if on {
return lipgloss.NewStyle().
Foreground(style.S.Success).
Bold(true).
Render("on")
}
return lipgloss.NewStyle().
Foreground(style.S.Subtle).
Bold(true).
Render("off")
}
if on {
return RenderBadge(" ●", style.S.Success)
}
return RenderBadge("● ", style.S.Subtle)
}
func RenderBadge(label string, fill color.Color) string {
body := lipgloss.NewStyle().
Background(fill).
Foreground(style.S.Background).
Bold(true).
Render(label)
cap := lipgloss.NewStyle().Foreground(fill).Background(style.S.Background)
return cap.Render("") + body + cap.Render("")
}