package screens import ( tea "github.com/charmbracelet/bubbletea" ) // TransitionType defines the type of transition animation type TransitionType int const ( TransitionNone TransitionType = iota TransitionFade TransitionSlideLeft TransitionSlideRight ) // Screen represents a UI screen (list, add, detail, etc.) type Screen interface { Init() tea.Cmd Update(tea.Msg) (Screen, tea.Cmd) View() string } // ClientSelectedMsg is sent when a client is selected from the list type ClientSelectedMsg struct { Client ClientWithStatus } // ClientDeletedMsg is sent when a client is successfully deleted type ClientDeletedMsg struct { Name string } // CloseDetailScreenMsg signals to close detail screen type CloseDetailScreenMsg struct{} // RestoreCompletedMsg is sent when a restore operation completes type RestoreCompletedMsg struct { Err error SafetyBackupPath string }