Skip to content

Commit 322dbff

Browse files
returning an error instead of image data (#210)
1 parent 8c515f7 commit 322dbff

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

cmd/card/imageviewer.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,15 @@ type ImageModel struct {
1818

1919
type imageReadyMsg struct {
2020
sixelData string
21+
err error
2122
}
2223

2324
// fetchImageCmd downloads and renders the image asynchronously
2425
func fetchImageCmd(imageURL string) tea.Cmd {
2526
return func() tea.Msg {
2627
sixelData, err := CardImage(imageURL)
2728
if err != nil {
28-
return imageReadyMsg{err.Error()}
29+
return imageReadyMsg{err: err}
2930
}
3031
return imageReadyMsg{sixelData: sixelData}
3132
}
@@ -42,7 +43,13 @@ func (m ImageModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
4243
switch msg := msg.(type) {
4344
case imageReadyMsg:
4445
m.Loading = false
45-
m.ImageData = msg.sixelData
46+
if msg.err != nil {
47+
m.Error = msg.err
48+
m.ImageData = ""
49+
} else {
50+
m.Error = nil
51+
m.ImageData = msg.sixelData
52+
}
4653
return m, nil
4754
case spinner.TickMsg:
4855
var cmd tea.Cmd
@@ -63,6 +70,9 @@ func (m ImageModel) View() string {
6370
m.Spinner.View() + "Loading image for \n" + m.CardName,
6471
)
6572
}
73+
if m.Error != nil {
74+
return styling.Red.Render(m.Error.Error())
75+
}
6676
return m.ImageData
6777
}
6878

0 commit comments

Comments
 (0)