Diff
1diff --git a/ui/components/tabs/tabs.go b/ui/components/tabs/tabs.go
2index c893b92624bdf54e25bef38d4d60c1c16b410035..32ee1caf4aa8da3ecb1afaf992f4141d51f3a8f9 100644
3--- a/ui/components/tabs/tabs.go
4+++ b/ui/components/tabs/tabs.go
5@@ -63,6 +63,15 @@ func (t *Tabs) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
6 t.activeTab = (t.activeTab - 1 + len(t.tabs)) % len(t.tabs)
7 cmds = append(cmds, t.activeTabCmd)
8 }
9+ case tea.MouseMsg:
10+ if msg.Type == tea.MouseLeft {
11+ for i, tab := range t.tabs {
12+ if t.common.Zone.Get(tab).InBounds(msg) {
13+ t.activeTab = i
14+ cmds = append(cmds, t.activeTabCmd)
15+ }
16+ }
17+ }
18 case SelectTabMsg:
19 tab := int(msg)
20 if tab >= 0 && tab < len(t.tabs) {
21@@ -86,7 +95,12 @@ func (t *Tabs) View() string {
22 if t.UseDot {
23 s.WriteString(prefix)
24 }
25- s.WriteString(style.Render(tab))
26+ s.WriteString(
27+ t.common.Zone.Mark(
28+ tab,
29+ style.Render(tab),
30+ ),
31+ )
32 if i != len(t.tabs)-1 {
33 s.WriteString(sep.String())
34 }