Files
syncwarden/internal/icons/states.go

31 lines
891 B
Go

package icons
import "image/color"
// State represents the current sync state for icon rendering.
type State int
const (
StateIdle State = iota // Green — all folders idle
StateSyncing // Blue — syncing/scanning
StatePaused // Gray — all paused
StateError // Red — folder error
StateDisconnected // Dark gray — cannot reach Syncthing
)
// colors maps each state to its icon color.
var colors = map[State]color.RGBA{
StateIdle: {76, 175, 80, 255}, // green
StateSyncing: {33, 150, 243, 255}, // blue
StatePaused: {158, 158, 158, 255}, // gray
StateError: {244, 67, 54, 255}, // red
StateDisconnected: {97, 97, 97, 255}, // dark gray
}
func colorForState(s State) color.RGBA {
if c, ok := colors[s]; ok {
return c
}
return colors[StateDisconnected]
}