From 9ac6040629e1e8a4d2684b9d0979c82c11c53abb Mon Sep 17 00:00:00 2001 From: Hadi <112569860+anotherhadi@users.noreply.github.com> Date: Tue, 26 May 2026 16:38:09 +0200 Subject: [PATCH] Migrate components to ilovetui Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 +- internal/style/components.go | 71 -------------------------------- internal/style/style.go | 19 --------- internal/ui/diff/model.go | 6 +-- internal/ui/diff/view.go | 4 +- internal/ui/docs/model.go | 3 +- internal/ui/findings/model.go | 11 +++-- internal/ui/findings/view.go | 4 +- internal/ui/history/model.go | 11 +++-- internal/ui/history/view.go | 4 +- internal/ui/intercept/helpers.go | 2 +- internal/ui/intercept/keymap.go | 4 -- internal/ui/intercept/model.go | 16 +++---- internal/ui/intercept/view.go | 4 +- internal/ui/plugins/model.go | 13 +++--- internal/ui/plugins/view.go | 5 +-- internal/ui/replay/model.go | 15 ++++--- internal/ui/replay/view.go | 6 +-- nix/gomod2nix.toml | 4 +- 20 files changed, 54 insertions(+), 154 deletions(-) diff --git a/go.mod b/go.mod index f4e6033..41a6d03 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( charm.land/glamour/v2 v2.0.0 charm.land/lipgloss/v2 v2.0.3 github.com/andybalholm/brotli v1.0.4 - github.com/anotherhadi/ilovetui v0.1.4 + github.com/anotherhadi/ilovetui v0.1.6 github.com/charmbracelet/x/ansi v0.11.7 github.com/klauspost/compress v1.17.8 github.com/lqqyt2423/go-mitmproxy v1.8.11 diff --git a/go.sum b/go.sum index c691d5b..29f5ee4 100644 --- a/go.sum +++ b/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/repr v0.5.2 h1:SU73FTI9D1P5UNtvseffFSGmdNci/O6RsqzeXJtP0Qs github.com/alecthomas/repr v0.5.2/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= -github.com/anotherhadi/ilovetui v0.1.4 h1:2sLAm3rJxg7/NrrTyH+Tk+kbIq+SvkBvrI7OvffvDcw= -github.com/anotherhadi/ilovetui v0.1.4/go.mod h1:ZjSCOM/wev1wAz235/Z/54h/6mRu6WkNhRaXxUhe2hw= +github.com/anotherhadi/ilovetui v0.1.6 h1:NKg+T1DpV08Q4r+iowFrXF+0bTd6Y2f4OFpFwhsfsyY= +github.com/anotherhadi/ilovetui v0.1.6/go.mod h1:HVai6u5NGKSMOpmioYpwrN0lSxQjc7HtISUc5hTwvOw= github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/aymanbagabas/go-udiff v0.4.1 h1:OEIrQ8maEeDBXQDoGCbbTTXYJMYRCRO1fnodZ12Gv5o= diff --git a/internal/style/components.go b/internal/style/components.go index 2f10345..43698e0 100644 --- a/internal/style/components.go +++ b/internal/style/components.go @@ -1,71 +1,10 @@ package style import ( - "strings" - - "charm.land/bubbles/v2/paginator" - "charm.land/bubbles/v2/textarea" - "charm.land/bubbles/v2/viewport" "charm.land/lipgloss/v2" ilovetui "github.com/anotherhadi/ilovetui" ) -func NewViewport() viewport.Model { - vp := viewport.New() - vp.MouseWheelEnabled = false - return vp -} - -func ViewportView(vp *viewport.Model) string { - v := vp.View() - if vp.AtBottom() { - return v - } - lines := strings.Split(v, "\n") - if len(lines) == 0 { - return v - } - arrow := lipgloss.NewStyle().Foreground(ilovetui.S.Subtle).Render("↓") - arrowW := lipgloss.Width(arrow) - inner := vp.Width() - 2*arrowW - if inner < 0 { - inner = 0 - } - lines[len(lines)-1] = arrow + strings.Repeat(" ", inner) + arrow - return strings.Join(lines, "\n") -} - -func NewPaginator() paginator.Model { - p := paginator.New() - p.Type = paginator.Dots - p.ActiveDot = S.PagerDotActive - p.InactiveDot = S.PagerDotInactive - return p -} - -func NewTextarea(showLineNumbers bool) textarea.Model { - ta := textarea.New() - ta.Prompt = "" - ta.ShowLineNumbers = showLineNumbers - ta.CharLimit = 0 - ta.EndOfBufferCharacter = '~' - ts := ta.Styles() - ts.Focused.Base = lipgloss.NewStyle() - ts.Blurred.Base = lipgloss.NewStyle() - ts.Focused.Text = lipgloss.NewStyle().Foreground(ilovetui.S.Text) - ts.Focused.CursorLine = lipgloss.NewStyle().Background(ilovetui.S.Selection).Foreground(ilovetui.S.Text) - ts.Focused.CursorLineNumber = lipgloss.NewStyle().Background(ilovetui.S.Selection).Foreground(ilovetui.S.Primary).Bold(true) - ts.Focused.LineNumber = lipgloss.NewStyle().Foreground(ilovetui.S.Subtle) - ts.Focused.Placeholder = lipgloss.NewStyle().Foreground(ilovetui.S.Subtle) - ts.Focused.EndOfBuffer = lipgloss.NewStyle().Foreground(ilovetui.S.SubtleBg) - ts.Blurred.Text = lipgloss.NewStyle().Foreground(ilovetui.S.Muted) - ts.Blurred.LineNumber = lipgloss.NewStyle().Foreground(ilovetui.S.SubtleBg) - ts.Blurred.Placeholder = lipgloss.NewStyle().Foreground(ilovetui.S.Subtle) - ts.Blurred.EndOfBuffer = lipgloss.NewStyle().Foreground(ilovetui.S.SubtleBg) - ta.SetStyles(ts) - return ta -} - func SeverityStyle(sev string) lipgloss.Style { base := lipgloss.NewStyle().Bold(true) switch sev { @@ -95,13 +34,3 @@ func StatusStyle(code, width int) lipgloss.Style { return base.Foreground(ilovetui.S.Success) } } - -// SplitH splits totalHeight into top and bottom sections, accounting for the -// status bar height. -func SplitH(totalHeight int, statusBar string, ratio float64) (top, bottom int) { - statusH := strings.Count(statusBar, "\n") + 1 - available := totalHeight - statusH - top = int(float64(available) * ratio) - bottom = available - top - return -} diff --git a/internal/style/style.go b/internal/style/style.go index 3006d46..e39c130 100644 --- a/internal/style/style.go +++ b/internal/style/style.go @@ -1,7 +1,6 @@ package style import ( - "charm.land/bubbles/v2/help" "charm.land/lipgloss/v2" ilovetui "github.com/anotherhadi/ilovetui" ) @@ -9,9 +8,6 @@ import ( type Styles struct { PanelEditing lipgloss.Style - PagerDotActive string - PagerDotInactive string - methodGet lipgloss.Style methodPost lipgloss.Style methodPutPatch lipgloss.Style @@ -28,9 +24,6 @@ func Init() { Border(lipgloss.RoundedBorder()). BorderForeground(ilovetui.S.Base0E), - PagerDotActive: lipgloss.NewStyle().Foreground(ilovetui.S.Primary).SetString("•").String(), - PagerDotInactive: lipgloss.NewStyle().Foreground(ilovetui.S.Subtle).SetString("•").String(), - methodGet: methodBase.Foreground(ilovetui.S.Success), methodPost: methodBase.Foreground(ilovetui.S.Warning), methodPutPatch: methodBase.Foreground(ilovetui.S.Primary), @@ -39,18 +32,6 @@ func Init() { } } -func NewHelp() help.Model { - h := help.New() - h.Styles.ShortKey = lipgloss.NewStyle().Foreground(ilovetui.S.Primary) - h.Styles.ShortDesc = lipgloss.NewStyle().Foreground(ilovetui.S.Muted) - h.Styles.ShortSeparator = lipgloss.NewStyle().Foreground(ilovetui.S.Subtle) - h.Styles.FullKey = lipgloss.NewStyle().Foreground(ilovetui.S.Primary) - h.Styles.FullDesc = lipgloss.NewStyle().Foreground(ilovetui.S.Muted) - h.Styles.FullSeparator = lipgloss.NewStyle().Foreground(ilovetui.S.Subtle) - h.Styles.Ellipsis = lipgloss.NewStyle().Foreground(ilovetui.S.Subtle) - return h -} - func (s *Styles) Method(method string) lipgloss.Style { switch method { case "GET": diff --git a/internal/ui/diff/model.go b/internal/ui/diff/model.go index 0e50ce6..b11ac23 100644 --- a/internal/ui/diff/model.go +++ b/internal/ui/diff/model.go @@ -212,9 +212,9 @@ type Model struct { func New() Model { return Model{ - leftViewport: style.NewViewport(), - rightViewport: style.NewViewport(), - help: style.NewHelp(), + leftViewport: ilovetui.NewViewport(), + rightViewport: ilovetui.NewViewport(), + help: ilovetui.NewHelp(), } } diff --git a/internal/ui/diff/view.go b/internal/ui/diff/view.go index 02c47fd..c02d3a8 100644 --- a/internal/ui/diff/view.go +++ b/internal/ui/diff/view.go @@ -57,8 +57,8 @@ func (m *Model) renderPanels(panelH int) string { rightBorder = ilovetui.S.PanelFocused } - left := ilovetui.RenderWithTitle(leftBorder, leftTitle, style.ViewportView(&m.leftViewport), leftW, panelH) - right := ilovetui.RenderWithTitle(rightBorder, rightTitle, style.ViewportView(&m.rightViewport), rightW, panelH) + left := ilovetui.RenderWithTitle(leftBorder, leftTitle, ilovetui.ViewportView(&m.leftViewport), leftW, panelH) + right := ilovetui.RenderWithTitle(rightBorder, rightTitle, ilovetui.ViewportView(&m.rightViewport), rightW, panelH) return lipgloss.JoinHorizontal(lipgloss.Top, left, right) } diff --git a/internal/ui/docs/model.go b/internal/ui/docs/model.go index 359bc03..1124231 100644 --- a/internal/ui/docs/model.go +++ b/internal/ui/docs/model.go @@ -16,7 +16,6 @@ import ( "charm.land/lipgloss/v2" ilovetui "github.com/anotherhadi/ilovetui" "github.com/anotherhadi/spilltea/internal/keys" - "github.com/anotherhadi/spilltea/internal/style" ) func readDoc(name string) string { @@ -64,7 +63,7 @@ func New() Model { return Model{ viewport: viewport.New(), - help: style.NewHelp(), + help: ilovetui.NewHelp(), searchInput: ti, } } diff --git a/internal/ui/findings/model.go b/internal/ui/findings/model.go index 6aa0a0d..a968253 100644 --- a/internal/ui/findings/model.go +++ b/internal/ui/findings/model.go @@ -14,7 +14,6 @@ import ( ilovetui "github.com/anotherhadi/ilovetui" "github.com/anotherhadi/spilltea/internal/db" "github.com/anotherhadi/spilltea/internal/keys" - "github.com/anotherhadi/spilltea/internal/style" "github.com/anotherhadi/spilltea/internal/util" ) @@ -39,10 +38,10 @@ type Model struct { func New() Model { return Model{ - listViewport: style.NewViewport(), - bodyViewport: style.NewViewport(), - pager: style.NewPaginator(), - help: style.NewHelp(), + listViewport: ilovetui.NewViewport(), + bodyViewport: ilovetui.NewViewport(), + pager: ilovetui.NewPaginator(), + help: ilovetui.NewHelp(), } } @@ -76,7 +75,7 @@ func (m *Model) recalcSizes() { m.help.SetWidth(m.width - 2) inner := m.width - 2 - listH, bodyH := style.SplitH(m.height, m.renderStatusBar(), 0.35) + listH, bodyH := ilovetui.SplitH(m.height, m.renderStatusBar(), 0.35) listVH := ilovetui.ContentHeight(listH) - 1 // -1 for the pager dots row if listVH < 0 { diff --git a/internal/ui/findings/view.go b/internal/ui/findings/view.go index 34d77a8..11c68e2 100644 --- a/internal/ui/findings/view.go +++ b/internal/ui/findings/view.go @@ -17,7 +17,7 @@ func (m Model) View() tea.View { return tea.NewView("Loading...") } - listH, bodyH := style.SplitH(m.height, m.renderStatusBar(), 0.35) + listH, bodyH := ilovetui.SplitH(m.height, m.renderStatusBar(), 0.35) content := lipgloss.JoinVertical(lipgloss.Left, m.renderListPanel(m.width, listH), @@ -44,7 +44,7 @@ func (m *Model) renderBodyPanel(h int) string { if len(m.findings) > 0 { title = m.findings[m.cursor].Title } - return ilovetui.RenderWithTitle(ilovetui.S.Panel, title, style.ViewportView(&m.bodyViewport), m.width, h) + return ilovetui.RenderWithTitle(ilovetui.S.Panel, title, ilovetui.ViewportView(&m.bodyViewport), m.width, h) } func (m *Model) renderList() string { diff --git a/internal/ui/history/model.go b/internal/ui/history/model.go index cf94971..e974fc7 100644 --- a/internal/ui/history/model.go +++ b/internal/ui/history/model.go @@ -10,7 +10,6 @@ import ( ilovetui "github.com/anotherhadi/ilovetui" "github.com/anotherhadi/spilltea/internal/db" "github.com/anotherhadi/spilltea/internal/keys" - "github.com/anotherhadi/spilltea/internal/style" "github.com/anotherhadi/spilltea/internal/util" ) @@ -45,10 +44,10 @@ func New() Model { ti := textinput.New() ti.Prompt = "" return Model{ - listViewport: style.NewViewport(), - bodyViewport: style.NewViewport(), - pager: style.NewPaginator(), - help: style.NewHelp(), + listViewport: ilovetui.NewViewport(), + bodyViewport: ilovetui.NewViewport(), + pager: ilovetui.NewPaginator(), + help: ilovetui.NewHelp(), searchInput: ti, } } @@ -125,7 +124,7 @@ func (m *Model) recalcSizes() { // 2 (padding) + 2 (prefix char + space) m.searchInput.SetWidth(m.width - 4) - listH, bodyH := style.SplitH(m.height, m.renderStatusBar(), 0.35) + listH, bodyH := ilovetui.SplitH(m.height, m.renderStatusBar(), 0.35) inner := m.width - 2 if inner < 0 { diff --git a/internal/ui/history/view.go b/internal/ui/history/view.go index 287c352..102a4f1 100644 --- a/internal/ui/history/view.go +++ b/internal/ui/history/view.go @@ -18,7 +18,7 @@ func (m Model) View() tea.View { return tea.NewView("Loading...") } - listH, bodyH := style.SplitH(m.height, m.renderStatusBar(), 0.35) + listH, bodyH := ilovetui.SplitH(m.height, m.renderStatusBar(), 0.35) content := lipgloss.JoinVertical(lipgloss.Left, m.renderListPanel(m.width, listH), @@ -45,7 +45,7 @@ func (m *Model) renderBodyPanel(h int) string { if m.focusedPanel == panelResponse { title = icons.I.Response + "Response" } - return ilovetui.RenderWithTitle(ilovetui.S.Panel, title, style.ViewportView(&m.bodyViewport), m.width, h) + return ilovetui.RenderWithTitle(ilovetui.S.Panel, title, ilovetui.ViewportView(&m.bodyViewport), m.width, h) } func (m *Model) renderStatusBar() string { diff --git a/internal/ui/intercept/helpers.go b/internal/ui/intercept/helpers.go index c2884e8..7441762 100644 --- a/internal/ui/intercept/helpers.go +++ b/internal/ui/intercept/helpers.go @@ -158,7 +158,7 @@ func (m *Model) listHalfWidths() (leftW, rightW int) { func (m *Model) recalcSizes() { m.help.SetWidth(m.width - 2) - listH, bodyH := style.SplitH(m.height, m.renderStatusBar(), 0.35) + listH, bodyH := ilovetui.SplitH(m.height, m.renderStatusBar(), 0.35) bodyInner := m.width - 2 if bodyInner < 0 { diff --git a/internal/ui/intercept/keymap.go b/internal/ui/intercept/keymap.go index 2684220..d291a74 100644 --- a/internal/ui/intercept/keymap.go +++ b/internal/ui/intercept/keymap.go @@ -1,15 +1,11 @@ package intercept import ( - "charm.land/bubbles/v2/help" "charm.land/bubbles/v2/key" "github.com/anotherhadi/spilltea/internal/icons" "github.com/anotherhadi/spilltea/internal/keys" - "github.com/anotherhadi/spilltea/internal/style" ) -func newHelp() help.Model { return style.NewHelp() } - type interceptKeyMap struct{ width int } func iconBinding(b key.Binding, icon string) key.Binding { diff --git a/internal/ui/intercept/model.go b/internal/ui/intercept/model.go index a2e1015..45f5730 100644 --- a/internal/ui/intercept/model.go +++ b/internal/ui/intercept/model.go @@ -6,9 +6,9 @@ import ( "charm.land/bubbles/v2/textarea" "charm.land/bubbles/v2/viewport" tea "charm.land/bubbletea/v2" + ilovetui "github.com/anotherhadi/ilovetui" "github.com/anotherhadi/spilltea/internal/config" "github.com/anotherhadi/spilltea/internal/intercept" - "github.com/anotherhadi/spilltea/internal/style" ) type panel int @@ -48,14 +48,14 @@ type Model struct { func New(broker *intercept.Broker) Model { cfg := config.Global - ta := style.NewTextarea(false) + ta := ilovetui.NewTextarea(false) ta.Blur() - lv := style.NewViewport() - rv := style.NewViewport() - bv := style.NewViewport() - p := style.NewPaginator() - rp := style.NewPaginator() + lv := ilovetui.NewViewport() + rv := ilovetui.NewViewport() + bv := ilovetui.NewViewport() + p := ilovetui.NewPaginator() + rp := ilovetui.NewPaginator() broker.SetCaptureResponse(cfg.Intercept.DefaultCaptureResponse) @@ -69,7 +69,7 @@ func New(broker *intercept.Broker) Model { textarea: ta, pager: p, responsePager: rp, - help: newHelp(), + help: ilovetui.NewHelp(), pendingEdits: make(map[*intercept.PendingRequest]string), pendingResponseEdits: make(map[*intercept.PendingResponse]string), } diff --git a/internal/ui/intercept/view.go b/internal/ui/intercept/view.go index 651b8ce..081ee5f 100644 --- a/internal/ui/intercept/view.go +++ b/internal/ui/intercept/view.go @@ -17,7 +17,7 @@ func (m Model) View() tea.View { return tea.NewView("Loading...") } - listH, bodyH := style.SplitH(m.height, m.renderStatusBar(), 0.35) + listH, bodyH := ilovetui.SplitH(m.height, m.renderStatusBar(), 0.35) var listRow string if m.captureResponse { @@ -82,7 +82,7 @@ func (m *Model) renderBodyPanel(h int) string { if m.editing { body = m.textarea.View() } else { - body = style.ViewportView(&m.bodyViewport) + body = ilovetui.ViewportView(&m.bodyViewport) } border := ilovetui.S.Panel diff --git a/internal/ui/plugins/model.go b/internal/ui/plugins/model.go index 3639b6a..a305ea3 100644 --- a/internal/ui/plugins/model.go +++ b/internal/ui/plugins/model.go @@ -13,7 +13,6 @@ import ( ilovetui "github.com/anotherhadi/ilovetui" "github.com/anotherhadi/spilltea/internal/keys" "github.com/anotherhadi/spilltea/internal/plugins" - "github.com/anotherhadi/spilltea/internal/style" ) type Model struct { @@ -37,7 +36,7 @@ type Model struct { } func New(mgr *plugins.Manager) Model { - ta := style.NewTextarea(true) + ta := ilovetui.NewTextarea(true) ta.Placeholder = "plugin configuration..." ta.Blur() @@ -46,12 +45,12 @@ func New(mgr *plugins.Manager) Model { return Model{ manager: mgr, - listViewport: style.NewViewport(), - detailViewport: style.NewViewport(), + listViewport: ilovetui.NewViewport(), + detailViewport: ilovetui.NewViewport(), textarea: ta, filterInput: fi, - pager: style.NewPaginator(), - help: style.NewHelp(), + pager: ilovetui.NewPaginator(), + help: ilovetui.NewHelp(), } } @@ -71,7 +70,7 @@ func (m *Model) recalcSizes() { } m.help.SetWidth(m.width - 2) - listH, detailH := style.SplitH(m.height, m.renderStatusBar(), 0.4) + listH, detailH := ilovetui.SplitH(m.height, m.renderStatusBar(), 0.4) inner := m.width - 2 if inner < 0 { diff --git a/internal/ui/plugins/view.go b/internal/ui/plugins/view.go index 9464f9b..0d5de11 100644 --- a/internal/ui/plugins/view.go +++ b/internal/ui/plugins/view.go @@ -10,7 +10,6 @@ import ( ilovetui "github.com/anotherhadi/ilovetui" "github.com/anotherhadi/spilltea/internal/icons" "github.com/anotherhadi/spilltea/internal/keys" - "github.com/anotherhadi/spilltea/internal/style" "github.com/anotherhadi/spilltea/internal/util" ) @@ -19,7 +18,7 @@ func (m Model) View() tea.View { return tea.NewView(lipgloss.Place(m.width, m.height, lipgloss.Center, lipgloss.Center, ilovetui.S.Faint.Render(util.CenterLines("(._.)~*.'", "no plugins loaded")))) } - listH, detailH := style.SplitH(m.height, m.renderStatusBar(), 0.4) + listH, detailH := ilovetui.SplitH(m.height, m.renderStatusBar(), 0.4) content := lipgloss.JoinVertical(lipgloss.Left, m.renderListPanel(m.width, listH), @@ -71,7 +70,7 @@ func (m *Model) renderDetailPanel(h int) string { ilovetui.S.Faint.Render(filepath.Base(info.FilePath)), ) - parts := []string{header, style.ViewportView(&m.detailViewport)} + parts := []string{header, ilovetui.ViewportView(&m.detailViewport)} if m.hasConfig() { var configLabel string diff --git a/internal/ui/replay/model.go b/internal/ui/replay/model.go index 0d99dd6..f5b529e 100644 --- a/internal/ui/replay/model.go +++ b/internal/ui/replay/model.go @@ -12,7 +12,6 @@ import ( ilovetui "github.com/anotherhadi/ilovetui" "github.com/anotherhadi/spilltea/internal/db" "github.com/anotherhadi/spilltea/internal/keys" - "github.com/anotherhadi/spilltea/internal/style" ) type SendToReplayMsg struct { @@ -62,15 +61,15 @@ type Model struct { } func New() Model { - ta := style.NewTextarea(false) + ta := ilovetui.NewTextarea(false) ta.Blur() return Model{ - listViewport: style.NewViewport(), - requestViewport: style.NewViewport(), - responseViewport: style.NewViewport(), + listViewport: ilovetui.NewViewport(), + requestViewport: ilovetui.NewViewport(), + responseViewport: ilovetui.NewViewport(), textarea: ta, - pager: style.NewPaginator(), - help: style.NewHelp(), + pager: ilovetui.NewPaginator(), + help: ilovetui.NewHelp(), } } @@ -150,7 +149,7 @@ func (m *Model) SetSize(w, h int) { func (m *Model) recalcSizes() { m.help.SetWidth(m.width - 2) - listH, bodyH := style.SplitH(m.height, m.renderStatusBar(), 0.35) + listH, bodyH := ilovetui.SplitH(m.height, m.renderStatusBar(), 0.35) listInner := m.width - 2 if listInner < 0 { diff --git a/internal/ui/replay/view.go b/internal/ui/replay/view.go index 0bbab36..e1294ac 100644 --- a/internal/ui/replay/view.go +++ b/internal/ui/replay/view.go @@ -17,7 +17,7 @@ func (m Model) View() tea.View { return tea.NewView("Loading...") } - listH, bodyH := style.SplitH(m.height, m.renderStatusBar(), 0.35) + listH, bodyH := ilovetui.SplitH(m.height, m.renderStatusBar(), 0.35) leftW, rightW := m.bodyHalfWidths() bodyRow := lipgloss.JoinHorizontal(lipgloss.Top, @@ -56,7 +56,7 @@ func (m *Model) renderRequestPanel(w, h int) string { body = m.textarea.View() border = ilovetui.S.PanelFocused } else { - body = style.ViewportView(&m.requestViewport) + body = ilovetui.ViewportView(&m.requestViewport) if m.focusedPanel == panelRequest { border = ilovetui.S.PanelFocused } @@ -69,7 +69,7 @@ func (m *Model) renderResponsePanel(w, h int) string { if !m.editing && m.focusedPanel == panelResponse { border = ilovetui.S.PanelFocused } - return ilovetui.RenderWithTitle(border, icons.I.Response+"Response", style.ViewportView(&m.responseViewport), w, h) + return ilovetui.RenderWithTitle(border, icons.I.Response+"Response", ilovetui.ViewportView(&m.responseViewport), w, h) } func (m *Model) renderStatusBar() string { diff --git a/nix/gomod2nix.toml b/nix/gomod2nix.toml index 2a53dc9..30ee10d 100644 --- a/nix/gomod2nix.toml +++ b/nix/gomod2nix.toml @@ -26,8 +26,8 @@ schema = 3 hash = 'sha256-gAnPRdGP4yna4hiRIEDyBtDOVJqd7RU27wlPu96Rdf8=' [mod.'github.com/anotherhadi/ilovetui'] - version = 'v0.1.4' - hash = 'sha256-WOwCI4gqNnQvnQG2Miadx+St02IiImAX3B7ne7DdblA=' + version = 'v0.1.6' + hash = 'sha256-7E+7UFks5vM3XWCvX2joFmHGcW7qqnoox6ZPFglaLO4=' [mod.'github.com/atotto/clipboard'] version = 'v0.1.4'