Skip to content

Commit 7bfd23c

Browse files
author
Yusaku Hatanaka
authored
chore: when task select, add status bar (#54)
1 parent 7fdc244 commit 7bfd23c

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

task/task.go

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,8 @@ func (c *clientImpl) selectTaskName(tasks Tasks) (string, error) {
122122
i := 0
123123
for {
124124
w, h := c.screenClient.ScreenSize()
125-
limit := int(math.Min(float64(offset+h), float64(len(tasks))))
125+
selectedHeight := h - 1
126+
limit := int(math.Min(float64(offset+selectedHeight), float64(len(tasks))))
126127

127128
for y, t := range tasks[offset:limit] {
128129
name := fmt.Sprintf("%3d. %s", y+1, t.Name)
@@ -139,6 +140,16 @@ func (c *clientImpl) selectTaskName(tasks Tasks) (string, error) {
139140
_ = draw.Sentence(c.screenClient.GetScreen(), 0, y, w, name, true, opts...)
140141
}
141142

143+
draw.Sentence(
144+
c.screenClient.GetScreen(),
145+
0,
146+
h-1,
147+
w,
148+
"(n): add new task / (d): delete task",
149+
true,
150+
draw.WithBackgroundColor(draw.StatusBarBackgroundColor),
151+
)
152+
142153
e := <-c.screenClient.GetEventChan()
143154
switch e := e.(type) {
144155
case screen.EventCancel:
@@ -151,11 +162,11 @@ func (c *clientImpl) selectTaskName(tasks Tasks) (string, error) {
151162
continue
152163
}
153164

154-
if i < h-1 {
165+
if i < selectedHeight-1 {
155166
i++
156167
} else {
157168
c.screenClient.Clear()
158-
offset += h
169+
offset += selectedHeight
159170
i = 0
160171
}
161172
case screen.EventKeyUp:
@@ -167,8 +178,8 @@ func (c *clientImpl) selectTaskName(tasks Tasks) (string, error) {
167178
i--
168179
} else {
169180
c.screenClient.Clear()
170-
offset -= h
171-
i = h - 1
181+
offset -= selectedHeight
182+
i = selectedHeight - 1
172183
}
173184
case screen.EventRune:
174185
s := c.screenClient.GetScreen()

0 commit comments

Comments
 (0)