Show the current tracker time if it is active.
All checks were successful
CI / test (push) Successful in 40s
All checks were successful
CI / test (push) Successful in 40s
This commit is contained in:
parent
c7798c5784
commit
4eaf1e73bb
19
model.go
19
model.go
@ -53,6 +53,7 @@ type model struct {
|
|||||||
timeData struct {
|
timeData struct {
|
||||||
entries mite.TimeEntries
|
entries mite.TimeEntries
|
||||||
table table.Model
|
table table.Model
|
||||||
|
tracker *mite.TrackingTimeEntry
|
||||||
}
|
}
|
||||||
statusBarMessage string
|
statusBarMessage string
|
||||||
windowWidth int
|
windowWidth int
|
||||||
@ -116,6 +117,7 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
|||||||
m.formData.customers = msg.Customers
|
m.formData.customers = msg.Customers
|
||||||
m.formData.services = msg.Services
|
m.formData.services = msg.Services
|
||||||
m.formData.projects = msg.Projects
|
m.formData.projects = msg.Projects
|
||||||
|
m.timeData.tracker = msg.Tracker
|
||||||
m.fetchedData = true
|
m.fetchedData = true
|
||||||
|
|
||||||
slices.SortFunc(m.formData.customers, func(a, b mite.Customer) int { return strings.Compare(a.GetName(), b.GetName()) })
|
slices.SortFunc(m.formData.customers, func(a, b mite.Customer) int { return strings.Compare(a.GetName(), b.GetName()) })
|
||||||
@ -315,6 +317,7 @@ type miteDataFetchedMsg struct {
|
|||||||
Customers mite.Customers
|
Customers mite.Customers
|
||||||
Services mite.Services
|
Services mite.Services
|
||||||
Projects mite.Projects
|
Projects mite.Projects
|
||||||
|
Tracker *mite.TrackingTimeEntry
|
||||||
Error error
|
Error error
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -327,12 +330,20 @@ func (m model) fetchMiteData() tea.Cmd {
|
|||||||
cst, err2 := m.miteAPI.GetCustomers()
|
cst, err2 := m.miteAPI.GetCustomers()
|
||||||
svc, err3 := m.miteAPI.GetServices()
|
svc, err3 := m.miteAPI.GetServices()
|
||||||
pjt, err4 := m.miteAPI.GetProjects()
|
pjt, err4 := m.miteAPI.GetProjects()
|
||||||
|
tt, err5 := m.miteAPI.GetTimeTracker()
|
||||||
|
|
||||||
|
var msgTT = &tt
|
||||||
|
if err5 == mite.ErrNoTracker {
|
||||||
|
err5 = nil
|
||||||
|
msgTT = nil
|
||||||
|
}
|
||||||
|
|
||||||
return miteDataFetchedMsg{
|
return miteDataFetchedMsg{
|
||||||
TimeEntries: te,
|
TimeEntries: te,
|
||||||
Customers: cst,
|
Customers: cst,
|
||||||
Services: svc,
|
Services: svc,
|
||||||
Projects: pjt,
|
Projects: pjt,
|
||||||
|
Tracker: msgTT,
|
||||||
Error: errors.Join(err1, err2, err3, err4),
|
Error: errors.Join(err1, err2, err3, err4),
|
||||||
start: t0,
|
start: t0,
|
||||||
}
|
}
|
||||||
@ -382,6 +393,7 @@ func (m model) View() string {
|
|||||||
} else {
|
} else {
|
||||||
lhs.WriteString("\n")
|
lhs.WriteString("\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
if m.tuiMode == MODE_FORMENTRY {
|
if m.tuiMode == MODE_FORMENTRY {
|
||||||
lhs.WriteString("(esc) abort form\n")
|
lhs.WriteString("(esc) abort form\n")
|
||||||
lhs.WriteString("\n")
|
lhs.WriteString("\n")
|
||||||
@ -390,6 +402,13 @@ func (m model) View() string {
|
|||||||
lhs.WriteString("(tab) switch panes\n")
|
lhs.WriteString("(tab) switch panes\n")
|
||||||
lhs.WriteString("(q)uit\n")
|
lhs.WriteString("(q)uit\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if m.timeData.tracker != nil {
|
||||||
|
activeTime := time.Since(m.timeData.tracker.Since).Truncate(time.Minute).String()
|
||||||
|
activeTime = strings.Replace(activeTime, "0s", "", 1)
|
||||||
|
lhs.WriteString("\nTracker active: " + activeTime + "\n")
|
||||||
|
}
|
||||||
|
|
||||||
if m.tuiMode == MODE_TIMEENTRIES {
|
if m.tuiMode == MODE_TIMEENTRIES {
|
||||||
rhsS = db
|
rhsS = db
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user