summaryrefslogtreecommitdiff
path: root/internal/preview
diff options
context:
space:
mode:
authorBenjamin Chausse <benjamin@chausse.xyz>2024-11-24 14:26:28 -0500
committerGitHub <noreply@github.com>2024-11-24 14:26:28 -0500
commitc4fb002ae0b48aed1a0d2b8fa84b6be795f83e2d (patch)
treecfe496a1380afd2b375755a268a58b403fb46c23 /internal/preview
parentce9ac6f335d23489235d88cdc47c65863b984e9a (diff)
feat: Update master (#7)
* Attemp at using goreleaser * Fix syntax error in .goreleaser.yml * fix: Check roadmap feature for clipboard (README) * feat: add help menu at the bottom (#4) * MVP for a help menu * fix: commented code is evil * feat: box-drawing UI (#6) * feat: add help at the bottom (#5) * Attemp at using goreleaser * Fix syntax error in .goreleaser.yml * fix: Check roadmap feature for clipboard (README) * feat: add help menu at the bottom (#4) * MVP for a help menu * fix: commented code is evil * Update generated VHS GIF * feat: Rounded corner box UI * Update roadmap checkmarks in README --------- Co-authored-by: vhs-action 📼 <actions@github.com> --------- Co-authored-by: vhs-action 📼 <actions@github.com>
Diffstat (limited to 'internal/preview')
-rw-r--r--internal/preview/preview.go27
1 files changed, 18 insertions, 9 deletions
diff --git a/internal/preview/preview.go b/internal/preview/preview.go
index eb7d344..1ab86be 100644
--- a/internal/preview/preview.go
+++ b/internal/preview/preview.go
@@ -7,19 +7,29 @@ import (
"github.com/charmbracelet/lipgloss"
)
-const runeBlock = "â–ˆ"
+const (
+ runeBlock = "â–ˆ"
+ defaultHeight = 5
+ defaultWidth = 78
+)
type Model struct {
- size int // height of the square in rows
- hex string
+ height int
+ width int
+ hex string
}
-func (m *Model) Color(hex string) { m.hex = hex }
+func (m *Model) SetColor(hex string) { m.hex = hex }
+
+func (m *Model) SetHeight(size int) { m.height = size }
+
+func (m *Model) SetWidth(size int) { m.width = size }
func New(hex string) *Model {
return &Model{
- size: 5,
- hex: hex,
+ height: defaultHeight,
+ width: defaultWidth,
+ hex: hex,
}
}
@@ -29,8 +39,7 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { return m, nil }
func (m Model) View() string {
style := lipgloss.NewStyle().Foreground(lipgloss.Color(m.hex))
- // size is doubled since terminal cells are 2:1 (h:w)
- oneRow := strings.Repeat(runeBlock, m.size*2)
- block := strings.Repeat(oneRow+"\n", m.size)
+ oneRow := strings.Repeat(runeBlock, m.width)
+ block := strings.Repeat(oneRow+"\n", m.height)
return style.Render(block)
}