Add "power" page

Signed-off-by: Hadi <[email protected]>
This commit is contained in:
Hadi
2026-08-13 12:10:09 +02:00
parent d54817d62c
commit 7067717b51
23 changed files with 1005 additions and 20 deletions
+40
View File
@@ -0,0 +1,40 @@
package power
import (
"time"
tea "charm.land/bubbletea/v2"
"github.com/anotherhadi/settuings/internal/power"
)
const tickInterval = 5 * time.Second
func tickCmd() tea.Cmd {
return tea.Tick(tickInterval, func(time.Time) tea.Msg { return tickMsg{} })
}
func checkCmd() tea.Cmd {
return func() tea.Msg { return checkMsg{err: power.CheckAvailable()} }
}
func fetchProfilesCmd() tea.Cmd {
return func() tea.Msg {
profiles, err := power.ListProfiles()
return profilesMsg{profiles: profiles, err: err}
}
}
func setProfileCmd(name string) tea.Cmd {
return func() tea.Msg { return setProfileMsg{err: power.SetActive(name)} }
}
func fetchBatteryCmd() tea.Cmd {
return func() tea.Msg {
batteries, err := power.ReadBatteries()
if err != nil {
return batteryMsg{err: err}
}
ac, err := power.ReadAC()
return batteryMsg{batteries: batteries, ac: ac, err: err}
}
}