Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion config/ui/ui.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,13 @@ const (
)

var (
defaultDarkMode = true
defaultDarkMode = true
defaultCollapse = true

ErrButtonValidationFailed = errors.New("invalid button configuration: missing required name or link")
ErrInvalidDefaultSortBy = errors.New("invalid default-sort-by value: must be 'name', 'group', or 'health'")
ErrInvalidDefaultFilterBy = errors.New("invalid default-filter-by value: must be 'none', 'failing', or 'unstable'")
ErrInvalidDefaultCollapse = errors.New("invalid default-collapse value: must be a boolean")
)

// Config is the configuration for the UI of Gatus
Expand All @@ -40,6 +42,7 @@ type Config struct {
DarkMode *bool `yaml:"dark-mode,omitempty"` // DarkMode is a flag to enable dark mode by default
DefaultSortBy string `yaml:"default-sort-by,omitempty"` // DefaultSortBy is the default sort option ('name', 'group', 'health')
DefaultFilterBy string `yaml:"default-filter-by,omitempty"` // DefaultFilterBy is the default filter option ('none', 'failing', 'unstable')
DefaultCollapse *bool `yaml:"default-collapse,omitempty"` // DefaultCollapse is a flag to enable/disable collapsing of groups by default
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this only applies to groups, I think DefaultGroupCollapsed would make more sense


//////////////////////////////////////////////
// Non-configurable - used for UI rendering //
Expand Down Expand Up @@ -80,6 +83,7 @@ func GetDefaultConfig() *Config {
DarkMode: &defaultDarkMode,
DefaultSortBy: defaultSortBy,
DefaultFilterBy: defaultFilterBy,
DefaultCollapse: &defaultCollapse,
MaximumNumberOfResults: storage.DefaultMaximumNumberOfResults,
}
}
Expand Down Expand Up @@ -117,6 +121,9 @@ func (cfg *Config) ValidateAndSetDefaults() error {
} else if cfg.DefaultFilterBy != "none" && cfg.DefaultFilterBy != "failing" && cfg.DefaultFilterBy != "unstable" {
return ErrInvalidDefaultFilterBy
}
if cfg.DefaultCollapse == nil {
cfg.DefaultCollapse = &defaultCollapse
}
for _, btn := range cfg.Buttons {
if err := btn.Validate(); err != nil {
return err
Expand Down
Loading